Files
ekzamen-rag-agent-s-chromad…/README.md
T

61 lines
1.5 KiB
Markdown

# RAG Agent with ChromaDB and Web Search
This project demonstrates a simple Retrieval-Augmented Generation (RAG) agent that uses **ChromaDB** for vector storage and similarity search, and performs web search using DuckDuckGo.
## Features
- **Vector Store**: Stores embeddings in a local ChromaDB collection.
- **RAG Agent**: Retrieves relevant documents and constructs an answer.
- **Web Search**: Fetches top results from DuckDuckGo.
## Setup
```bash
# Clone the repository
git clone https://git.brojs.ru/kuzakhmetovartur/ekzamen-rag-agent-s-chromadb-i-veb-poisk.git
cd ekzamen-rag-agent-s-chromadb-i-veb-poisk
# Install dependencies
npm install
# Run the example
npm start
```
## Running Tests
```bash
npm test
```
## Configuration
The project uses a local ChromaDB instance by default. If you need to connect to a remote instance, set the following environment variables in a `.env` file:
```dotenv
CHROMA_HOST=localhost
CHROMA_PORT=8000
```
## Project Structure
```
src/
index.js # Entry point
agent.js # RAG agent logic
vectorStore.js # ChromaDB wrapper
search.js # Web search helper
utils.js # Embedding helper
tests/
vectorStore.test.js
agent.test.js
```
## Notes
- The embedding function in `utils.js` is a deterministic placeholder. Replace it with a real embedding model (e.g., OpenAI embeddings) for production use.
- The agent currently returns concatenated context as the answer. Integrate a language model for richer responses.
## License
MIT License