Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/sebi75/multitype-llm-chat
Add different kinds of data: Youtube videos, PDFs, Internet links and ask questions based on the content provided using an intuitive UI.
https://github.com/sebi75/multitype-llm-chat
embeddings llms microservices openai python t3-stack vector-database vercel-ai
Last synced: 4 months ago
JSON representation
Add different kinds of data: Youtube videos, PDFs, Internet links and ask questions based on the content provided using an intuitive UI.
- Host: GitHub
- URL: https://github.com/sebi75/multitype-llm-chat
- Owner: sebi75
- Created: 2023-06-16T12:14:42.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-03-18T00:25:59.000Z (11 months ago)
- Last Synced: 2024-09-27T12:42:42.592Z (4 months ago)
- Topics: embeddings, llms, microservices, openai, python, t3-stack, vector-database, vercel-ai
- Language: TypeScript
- Homepage:
- Size: 11.4 MB
- Stars: 14
- Watchers: 1
- Forks: 3
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
## What is Multitype-LLM-Chat?
- A basic POC for a RAG-based chatbot that can be used for a variety of purposes.
- This is an AI-powered tool made for researching, by augmenting GPT models with your own data.- We recommend using a 'chat' instance within the app for a singular purpose. For example, you can use it to
research a specific large legal document, but adding other documents will likely confuse the model and you are
likely to get mixed results.- The app is currently in development and is not ready for production use. One can use it locally by following the instructions below.
Structure:
### You can check the app architecture in the diagram located into /assets
https://github.com/sebi75/multitype-llm-chat/assets/36008268/c3de520c-9b11-468e-80a0-803a48f61d6d
![app-architecture drawio](https://github.com/sebi75/multitype-llm-chat/assets/36008268/e4c56f6b-d32e-4f4d-b4dc-497fc7868c48)
### How to start
## Initialize the database
- Create a new database in your local mysql server or use a remote one like PlanetScale
- Add DATABASE_URL in your .env file
- Initialize your new database with the schema:```bash
pnpm run db:push
```## Start the weaviate vector database via docker-compose
```bash
cd ./indexing-service
``````bash
docker-compose up
```## Initialize the indexing service
```
bash cd ../indexing-service
```Create a new virtual environment and install the dependencies
```bash
python -m venv .venv
```Activate the new virtual environment
```bash
source .venv/bin/activate
```Install the dependencies from the requirements.txt file
```bash
pip install -r requirements.txt
```Start the Flask API.
```bash
python main.py
```## Initialize the web app
```bash
cd web
``````bash
pnpm install
``````bash
pnpm dev
```