demo.mp4
A RAG chatbot that answers questions about SmartCat, an AI company based in Novi Sad, Serbia.
The chatbot bases its answers on articles scraped from SmartCat's website. The web pages are chunked and stored in a Weaviate vector database. Pages relevant to the user's question are fetched based on a hybrid search over chunks and entire pages. The resulting pages are fed to a Cohere LLM to generate an answer to the user's question.
- Docker
- Docker Compose
- Python
- Install virtualenv (if not already installed):
pip install virtualenv
- Create a virtual environment:
virtualenv <name_of_environment>
- Activate the virtual environment:
source <name_of_virtualenv>/bin/activate
- Install the necessary Python packages:
pip install -r requirements.txt
- Export Cohere API Key:
export COHERE_API_KEY=<your_cohere_api_key>
- Start up Weaviate:
docker compose up -d
. Once completed, Weaviate will run onhttp://localhost:9999
. - Download the pages from SmartCat's website:
scrapy runspider src/ingestion/smartcat_spider.py -O articles.json
- Upload the pages into Weaviate:
python src/ingestion/upload_data.py
- Start the Streamlit app:
streamlit run src/streamlit/app.py
. The app should be running onhttp://localhost:8501
once it starts up.
Parts of the chatbot's answers may be inaccurate.
This project is not affiliated with SmartCat in any way. It should not be used as a source of truth for any information about SmartCat.