52 lines
1.4 KiB
Markdown
52 lines
1.4 KiB
Markdown
# FAQ Bot with Chroma and MCP Tool
|
||
|
||
## Overview
|
||
This project implements a FAQ bot that can answer questions from a local set of FAQ markdown files and from an external course metadata service via an MCP‑style HTTP tool.
|
||
|
||
- **Local data** – loaded from `data/` and persisted in a Chroma vector store.
|
||
- **MCP tool** – HTTP GET request to `https://api.example.com/course_meta`.
|
||
- **LLM** – Ollama’s `llama3` model with `nomic-embed-text` embeddings.
|
||
- **CLI** – preset questions and interactive mode.
|
||
|
||
## Setup
|
||
|
||
### 1. Clone the repo
|
||
```bash
|
||
git clone <repo-url>
|
||
cd <repo-dir>
|
||
```
|
||
|
||
### 2. Create a virtual environment
|
||
```bash
|
||
python -m venv .venv
|
||
source .venv/bin/activate # On Windows: .venv\Scripts\activate
|
||
```
|
||
|
||
### 3. Install dependencies
|
||
```bash
|
||
pip install -r requirements.txt
|
||
```
|
||
|
||
### 4. Download the Ollama model
|
||
```bash
|
||
ollama pull nomic-embed-text
|
||
```
|
||
|
||
### 5. Set environment variables
|
||
Create a `.env` file in the project root:
|
||
```
|
||
OLLAMA_BASE_URL=http://localhost:11434/v1
|
||
```
|
||
(If you run Ollama on a different host/port, adjust accordingly.)
|
||
|
||
## Running the Bot
|
||
```bash
|
||
python agent.py
|
||
```
|
||
You will see preset questions. Select a number or type a custom question.
|
||
|
||
## Data Folder
|
||
Place your FAQ markdown files in the `data/` directory. The bot will automatically load them on first run and persist the vector store in `chromadb/`.
|
||
|
||
## Dependencies
|
||
See `requirements.txt` for exact versions. |