Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/elmezianech/fstt-knowledge-navigator-ai-chatbot-platform

The FSTT Chatbot Project is a full-stack MEAN application for the Faculty of Sciences and Technologies of Tangier. It uses an advanced Large Language Model (Ollama Llama3) and a Retrieval-Augmented Generation (RAG) approach, with JWT authentication for secure access and a vector database (ChromaDB) for accurate responses.
https://github.com/elmezianech/fstt-knowledge-navigator-ai-chatbot-platform

chatbot chromadb conversation-history data-scraping fastapi jwt-authentication langchain llama3 llm ollama rag web-development

Last synced: 12 days ago
JSON representation

The FSTT Chatbot Project is a full-stack MEAN application for the Faculty of Sciences and Technologies of Tangier. It uses an advanced Large Language Model (Ollama Llama3) and a Retrieval-Augmented Generation (RAG) approach, with JWT authentication for secure access and a vector database (ChromaDB) for accurate responses.

Awesome Lists containing this project

README

        

## Overview

This project is a comprehensive chatbot application designed to provide information about the Faculty of Sciences and Technologies of Tangier (FSTT). The chatbot is capable of handling various queries about the faculty, including details about professors, clubs, courses, and other relevant information. The data is sourced from French PDFs scraped from the FSTT website. The application is built using modern web technologies, ensuring a robust and user-friendly experience.

## Data Source

The chatbot's responses are based on data scraped from the FSTT website [(FSTT Website)](https://fstt.ac.ma/Portail2023/). The scraped data includes French corpus about the faculty, ensuring that the information provided is accurate and up-to-date.

## Technologies Used

- Data Scrapping : Scrappy
- Frontend: Angular, Bootstrap
- Backend: FastAPI, Pydantic, Uvicorn
- Authentication : JWT (JSON Web Tokens)
- Database : MongoDb
- LLM : Ollama llama3
- Vector Database : ChromaDb
- Embeddings: FastEmbedEmbeddings
- CORS Middleware: For handling cross-origin requests

## Project Structure

### Frontend (Angular)

- Landing Page: Users can sign up or sign in.
- Chat Interface: Accessible after logging in, where users can interact with the chatbot and view their conversation history.
- Conversation History: Implement a feature for users to view the history of their conversations.

### Backend (Express.js)
- User Authentication: Manages sign-up, sign-in, and JWT-based authentication.
- Session Management: Stores user queries and the chatbot's responses in MongoDB.

### FastAPI
- RAG Implementation: Uses Ollama Llama3, Langchain, and ChromaDB to process user queries and generate responses based on the scraped FSTT data.

## Functionalities
- User Registration and Login: Users can create an account and log in to access the chatbot.
- Chat Interface: Logged-in users can interact with the chatbot, ask questions, and receive answers.
- Conversation History: Users can view the history of their conversations with the chatbot.
- Information Retrieval: The chatbot can fetch and provide information from the scraped FSTT PDFs, including details about professors, courses, clubs, etc.