1.9 KiB
1.9 KiB
Agent with RAG Memory
This project implements a simple command‑line agent that uses Ollama embeddings for a Retrieval‑Augmented Generation (RAG) style knowledge base.
The agent supports two main tools:
search_knowledge_base– find the most relevant documents for a query.add_to_knowledge_base– add new content to the knowledge base.
Setup
# Clone the repository
git clone https://git.brojs.ru/kuzakhmetovartur/agent-s-rag-pamyatyu.git
cd agent-s-rag-pamyatyu
# Install dependencies
npm install
Note
: The project uses the
ollama-embeddingspackage.
Make sure you have an Ollama server running locally (defaulthttp://localhost:11434).
You can change the host or model via environment variables:
# Example .env file
OLLAMA_HOST=http://localhost:11434
OLLAMA_MODEL=all-minilm
Running the Agent
npm start
You will see a prompt:
Agent>
Commands
/search <query>– Search the knowledge base for the most relevant documents./add <content>– Add new content to the knowledge base./exit– Exit the program.
Example:
Agent> /add The quick brown fox jumps over the lazy dog.
Content added with id 3f1c2e4b-...
Agent> /search fox
Searching for "fox"...
Top results:
1. [3f1c2e4b-...] (0.9123)
The quick brown fox jumps over the lazy dog.
Project Structure
src/embeddings.js– Wrapper aroundollama-embeddings.src/tools/searchKnowledgeBase.js– Implements the search tool.src/tools/addToKnowledgeBase.js– Implements the add tool.src/index.js– CLI entry point and agent logic.package.json– Dependencies and scripts.
Extending
The current implementation uses an in‑memory vector store.
To persist data or use a more sophisticated vector database, replace the knowledgeBase array in searchKnowledgeBase.js with your preferred storage solution.