Решение готово к публикации: update tools.py

This commit is contained in:
2026-06-18 09:07:36 +00:00
parent 539dd80f49
commit eecbf6b5bb
+7 -7
View File
@@ -9,11 +9,11 @@ from vectorstore import create_vectorstore
def _format_local_docs(results: list[Any]) -> str:
if not results:
return "Source: qdrant\nNo relevant local documents found."
return "Источник: chromadb\nНет релевантных локальных документов."
parts = ["Source: qdrant"]
parts = ["Источник: chromadb"]
for index, doc in enumerate(results, start=1):
source = doc.metadata.get("source", "unknown")
source = doc.metadata.get("source", "неизвестно")
parts.append(f"{index}. ({source}) {doc.page_content}")
return "\n".join(parts)
@@ -21,8 +21,8 @@ def _format_local_docs(results: list[Any]) -> str:
@tool
def search_local_kb(query: str, top_k: int = 3) -> str:
"""Search the local ChromaDB knowledge base for internal course notes and local documents."""
vectorstore = create_vectorstore()
retriever = vectorstore.as_retriever(search_kwargs={"k": top_k})
collection = create_vectorstore()
retriever = collection.as_retriever(search_kwargs={"k": top_k})
results = retriever.invoke(query)
return _format_local_docs(results)
@@ -32,11 +32,11 @@ def web_search(query: str) -> str:
"""Search the web with Tavily for fresh facts, current news, or anything not covered by local documents."""
api_key = os.getenv("TAVILY_API_KEY")
if not api_key:
return "Source: tavily\nTAVILY_API_KEY is not set, so web search is unavailable."
return "Источник: tavily\nTAVILY_API_KEY не задан, поиск в интернете недоступен."
search_tool = TavilySearch(
max_results=5,
topic="general",
)
result = search_tool.invoke({"query": query})
return f"Source: tavily\n{result}"
return f"Источник: tavily\n{result}"