diff --git a/tools.py b/tools.py deleted file mode 100644 index 1967392..0000000 --- a/tools.py +++ /dev/null @@ -1,31 +0,0 @@ -""" -Tools for the RAG agent. - -search_knowledge_base and add_to_knowledge_base are implemented using VectorStore. -""" -from typing import List, Dict -from langchain.tools import tool -from vector_store import VectorStore - -# Instantiate a global store -store = VectorStore() - -@tool -def search_knowledge_base(query: str, max_results: int = 5) -> str: - """Semantic search in the knowledge base.""" - results = store.similarity_search(query, k=max_results) - if not results: - return "No relevant documents found." - out_lines = [] - for i, r in enumerate(results, 1): - out_lines.append(f"{i}. {r['content'][:200]}... (source: {r['metadata'].get('title', 'unknown')})") - return "\n".join(out_lines) - -@tool -def add_to_knowledge_base(content: str, title: str = "document") -> str: - """Add a document to the knowledge base. - - The content is split into chunks and stored with metadata. - """ - store.add_documents([content], [{"title": title}]) - return f"Document '{title}' added to knowledge base."