Marik1337's picture
Add application file
6059138
from __future__ import annotations
from langchain_core.tools import BaseTool, tool
from memory_agent.knowledge import KnowledgeService
class KnowledgeToolFactory:
def __init__(self, service: KnowledgeService) -> None:
self._service = service
def build(self, namespace: str) -> list[BaseTool]:
@tool
def answer_from_knowledge(question: str) -> str:
"""Answer a user question using ONLY previously stored knowledge."""
return self._service.answer_from_knowledge(namespace=namespace, question=question)
@tool
def store_knowledge(
knowledge_text: str,
fact_key: str | None = None,
fact_value: str | None = None,
) -> str:
"""Store or update knowledge in FAISS memory. Use when user shares new facts."""
return self._service.store_knowledge(
namespace=namespace,
knowledge_text=knowledge_text,
fact_key=fact_key,
fact_value=fact_value,
)
return [answer_from_knowledge, store_knowledge]