Download agents/tools/knowledge_tools.py from jayashree/TatTwamAI: direct link, hf CLI and curl.
- Browser
- Download file 1.69 kB
-
https://huggingface.co/spaces/jayashree/TatTwamAI/resolve/main/agents/tools/knowledge_tools.py
- Command line
-
hf download hf://spaces/jayashree/TatTwamAI/agents/tools/knowledge_tools.py
-
curl -L -o knowledge_tools.py https://huggingface.co/spaces/jayashree/TatTwamAI/resolve/main/agents/tools/knowledge_tools.py
1.69 kB
| #from .base_tool import BaseTool | |
| from utils.knowledge_base import KnowledgeBase | |
| from pydantic import PrivateAttr | |
| from crewai.tools import BaseTool | |
| class SearchKnowledgeTool(BaseTool): | |
| name: str = "search_knowledge" | |
| description: str = "Search self-help or spiritual wisdom." | |
| model_config = {"arbitrary_types_allowed": True} | |
| _kp: KnowledgeBase = PrivateAttr() | |
| def __init__(self, config=None): | |
| super().__init__() | |
| self._kb = KnowledgeBase(config) | |
| def _run(self, query: str, k: int = 5): | |
| return self.kb.search(query, k=k) if self.kb.is_initialized() else \ | |
| [{"text": "General wisdom", "score": 1.0}] | |
| class ExtractWisdomTool(BaseTool): | |
| name: str = "extract_wisdom" | |
| description: str = "Extract most relevant wisdom for a given query." | |
| model_config = {"arbitrary_types_allowed": True} | |
| def __init__(self, config=None): | |
| super().__init__() | |
| def _run(self, search_results: list, user_context: dict): | |
| return search_results[:3] | |
| class SuggestPracticesTool(BaseTool): | |
| name: str = "suggest_practices" | |
| description: str = "Recommend meditations or self-care practices." | |
| model_config = {"arbitrary_types_allowed": True} | |
| def __init__(self, config=None): | |
| super().__init__() | |
| def _run(self, emotional_state: str, cultural_context: str = None): | |
| return {"name": "Mindful Breathing", "description": "Focus on your breath to calm the mind."} | |
| class KnowledgeTools: | |
| def __init__(self, config=None): | |
| self.search_knowledge = SearchKnowledgeTool(config) | |
| self.extract_wisdom = ExtractWisdomTool(config) | |
| self.suggest_practices = SuggestPracticesTool(config) |