gorka@iand.dev
Github / Website
Chatbot API
PythonStreamlitOpenAIFlaskMongoDBDocker

ChatBot API

Creation of the chatbot using Streamlit. The user asks questions, and the chatbot with the fine-tuning model returns a response via a request to the API URL.

Additionally, the chatbot has quick access to view statistics directly connected to the database through the API. Successful results will be returned to GPT-3.5 Turbo to generate a response. If there are no successful results, or it is a general question, a GPT-3.5 Finetuned model will be used to generate the response.

You can upload documents for RAG ( Retrieval-Augmented Generation) and Q&A (Question Answering) models. The chatbot also has a feedback system for responses, which is used to improve the chatbot’s responses.

Technologies

Python:

Language used for the project backend and frontend.

Flask:

Flask is a micro web framework written in Python. It is classified as a microframework because it does not require particular tools or libraries. API for connection to MongoDB database.

Streamlit

Streamlit is an open-source Python library that makes it easy to create and share beautiful, custom web apps for machine learning and data science.

Streamlit-Echarts

Streamlit component for Apache ECharts, a powerful, interactive charting and visualization library for browser.

OpenAI

Using models from OpenAI API. a babbage model was used for fine-tuning, GPT-3.5 Turbo for generating responses, and GPT-3.5 Finetuned for generating responses if there are no results in the database.

Mistral-7B

Mistral-7B is a OpenSource Model for Question Answering and Chatbot.

Helicone

Helicone is a tool for collecting feedback on the quality of the chatbot’s responses.

Lakera

Lakera is a tool for detecting hate speech and sexual messages.

Llama-Index

Llama Index is a tool for creating embeddings for documents.

Langchain

Langchain is a tool for creating embeddings for words.

MongoDB

MongoDB is a document-oriented database program. Classified as a NoSQL database program, MongoDB uses JSON-like documents with optional schemas. Used for storing data and vector embeddings.

Roadmap

GitHub Stars GitHub Last Commit

Get in touch

Email me at gorka@iand.dev gorka@iand.dev link