Download agents/tools/knowledge_tools_old.py from jayashree/TatTwamAI: direct link, hf CLI and curl.
- Browser
- Download file 5.12 kB
-
https://huggingface.co/spaces/jayashree/TatTwamAI/resolve/main/agents/tools/knowledge_tools_old.py
- Command line
-
hf download hf://spaces/jayashree/TatTwamAI/agents/tools/knowledge_tools_old.py
-
curl -L -o knowledge_tools_old.py https://huggingface.co/spaces/jayashree/TatTwamAI/resolve/main/agents/tools/knowledge_tools_old.py
5.12 kB
| """ | |
| Knowledge Base Tools for RAG | |
| """ | |
| from crewai.tools import BaseTool | |
| from utils.knowledge_base import KnowledgeBase | |
| from typing import List, Dict | |
| class SearchKnowledgeTool(BaseTool): | |
| name: str = "search_spiritual_texts" | |
| description: str = "Search spiritual and self-help texts for relevant wisdom" | |
| def __init__(self): | |
| super().__init__() | |
| self.kb = KnowledgeBase() | |
| def _run(self, query: str, k: int = 5) -> List[Dict]: | |
| """Search knowledge base""" | |
| if not self.kb.is_initialized(): | |
| return [{ | |
| "text": "Wisdom comes from understanding ourselves.", | |
| "source": "General Wisdom", | |
| "score": 1.0 | |
| }] | |
| results = self.kb.search(query, k=k) | |
| return results | |
| class ExtractWisdomTool(BaseTool): | |
| name: str = "extract_relevant_wisdom" | |
| description: str = "Extract most relevant wisdom for user's situation" | |
| def _run(self, search_results: List[Dict], user_context: Dict) -> List[Dict]: | |
| """Filter and rank wisdom based on relevance""" | |
| emotion = user_context.get("primary_emotion", "neutral") | |
| concerns = user_context.get("concerns", []) | |
| # Score each result based on relevance | |
| scored_results = [] | |
| for result in search_results: | |
| score = result["score"] | |
| # Boost score if emotion matches | |
| if emotion.lower() in result["text"].lower(): | |
| score *= 1.5 | |
| # Boost score if concerns match | |
| for concern in concerns: | |
| if concern.lower() in result["text"].lower(): | |
| score *= 1.3 | |
| result["relevance_score"] = score | |
| scored_results.append(result) | |
| # Sort by relevance | |
| scored_results.sort(key=lambda x: x["relevance_score"], reverse=True) | |
| return scored_results[:3] | |
| class SuggestPracticeTool(BaseTool): | |
| name: str = "suggest_meditation_practice" | |
| description: str = "Suggest appropriate meditation or practice" | |
| def _run(self, emotional_state: str, cultural_context: str = None) -> Dict: | |
| """Suggest practice based on emotional state""" | |
| practices = { | |
| "anxiety": { | |
| "name": "Box Breathing Technique", | |
| "description": "A powerful technique used by Navy SEALs to calm anxiety", | |
| "steps": [ | |
| "Sit comfortably with back straight", | |
| "Exhale all air from your lungs", | |
| "Inhale through nose for 4 counts", | |
| "Hold breath for 4 counts", | |
| "Exhale through mouth for 4 counts", | |
| "Hold empty for 4 counts", | |
| "Repeat 4-8 times" | |
| ], | |
| "benefits": "Activates parasympathetic nervous system, reduces cortisol", | |
| "duration": "5-10 minutes", | |
| "origin": "Modern breathwork" | |
| }, | |
| "sadness": { | |
| "name": "Metta (Loving-Kindness) Meditation", | |
| "description": "Ancient Buddhist practice to cultivate compassion", | |
| "steps": [ | |
| "Sit comfortably, close your eyes", | |
| "Place hand on heart", | |
| "Begin with self: 'May I be happy, may I be peaceful'", | |
| "Extend to loved ones", | |
| "Include neutral people", | |
| "Embrace difficult people", | |
| "Radiate to all beings" | |
| ], | |
| "benefits": "Increases self-compassion, reduces depression", | |
| "duration": "15-20 minutes", | |
| "origin": "Buddhist tradition" | |
| }, | |
| "stress": { | |
| "name": "Progressive Muscle Relaxation", | |
| "description": "Systematic tension and release technique", | |
| "steps": [ | |
| "Lie down comfortably", | |
| "Start with toes - tense for 5 seconds", | |
| "Release suddenly, notice relaxation", | |
| "Move up through each muscle group", | |
| "Face and scalp last", | |
| "Rest in full body relaxation" | |
| ], | |
| "benefits": "Reduces physical tension, improves sleep", | |
| "duration": "15-20 minutes", | |
| "origin": "Dr. Edmund Jacobson, 1920s" | |
| } | |
| } | |
| default = { | |
| "name": "Mindful Breathing", | |
| "description": "Foundation of all meditation practices", | |
| "steps": [ | |
| "Sit comfortably", | |
| "Follow natural breath", | |
| "Count breaths 1-10", | |
| "Start again when distracted", | |
| "No judgment, just awareness" | |
| ], | |
| "benefits": "Calms mind, improves focus", | |
| "duration": "5-15 minutes", | |
| "origin": "Universal practice" | |
| } | |
| return practices.get(emotional_state.lower(), default) |