8. Самописный поисковый агент на основе deep agents from scratch: agent.py

This commit is contained in:
2026-05-27 15:38:05 +00:00
parent ea0eefc66e
commit a0f8725d7f
@@ -5,6 +5,8 @@ from langchain_ollama import OllamaEmbeddings, OllamaLLM
from langchain_qdrant import QdrantVectorStore from langchain_qdrant import QdrantVectorStore
from langchain.schema import Document from langchain.schema import Document
from langchain.tools import tool from langchain.tools import tool
from rich.console import Console
from rich.table import Table
# Конфигурация подключения к Qdrant # Конфигурация подключения к Qdrant
QDRANT_URL = os.getenv("QDRANT_URL", "http://localhost:6333") QDRANT_URL = os.getenv("QDRANT_URL", "http://localhost:6333")
@@ -45,9 +47,22 @@ def add_to_knowledge_base(doc: str) -> str:
# Если нужно протестировать работу инструментов # Если нужно протестировать работу инструментов
if __name__ == "__main__": if __name__ == "__main__":
console = Console()
# Пример добавления документа # Пример добавления документа
print(add_to_knowledge_base("Python – это язык программирования, созданный Гвидо ван Россумом.")) add_msg = add_to_knowledge_base(
"Python – это язык программирования, созданный Гвидо ван Россумом."
)
console.print(f"[green]{add_msg}[/green]")
# Пример поиска # Пример поиска
results = search_knowledge_base("что такое Python?") results = search_knowledge_base("что такое Python?")
table = Table(title="Результаты поиска")
table.add_column("", style="cyan")
table.add_column("Содержимое", style="magenta")
for i, doc in enumerate(results, 1): for i, doc in enumerate(results, 1):
print(f"Результат {i}: {doc.page_content[:200]}...") snippet = (doc.page_content[:200] + "...") if len(doc.page_content) > 200 else doc.page_content
table.add_row(str(i), snippet)
console.print(table)