Skip to content

chamals3n4/sliit-support

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SLIIT Support Assistant

Students currently need to go through multiple pages, links, and menus in the SLIIT support portal to find specific details. This project solves that by providing a single assistant interface where users can ask questions directly and get relevant answers based on support content.

Project Structure

  • webapp/ - React + Vite frontend
  • ballerina-integration/ - Ballerina API service (/api/chat)
  • docs/ - Markdown knowledge source files
  • ingest.py - Ingestion script to embed and upsert knowledge into Pinecone

Prerequisites

  • Node.js 20+
  • pnpm
  • Python 3.10+
  • Ballerina 2201.13.1+
  • OpenAI API key
  • Pinecone API key and index endpoint

Setup

1) Install frontend dependencies

cd webapp
pnpm install

2) Install Python dependencies for ingestion

pip install openai pinecone python-dotenv pyyaml PyMuPDF

3) Configure ingestion environment

Create a .env file in the project root:

OPENAI_API_KEY=your_openai_api_key
PINECONE_API_KEY=your_pinecone_api_key
PINECONE_INDEX_NAME=sliit-support
ASGARDEO_ISSUER="https://api.asgardeo.io/t/your-org/oauth2/token"
ASGARDEO_AUDIENCE="your-client-id"
ASGARDEO_JWKS_URL="https://api.asgardeo.io/t/your-org/oauth2/jwks"

4) Configure Ballerina service

Create ballerina-integration/Config.toml:

OPENAI_TOKEN="your_openai_api_key"
PINECONE_API_KEY="your_pinecone_api_key"
PINECONE_URL="your_pinecone_index_url"
bucketName="sliit-support"

Run

1) Ingest knowledge into Pinecone

python ingest.py

2) Start Ballerina API

cd ballerina-integration
bal run

3) Start web app

cd webapp
pnpm dev

Open the app in your browser and start chatting.

About

RAG-based SLIIT support assistant

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors