Semantic search implementation for UTCP tools and providers.
Uses Haystack for full-text search and keyword extraction for intelligent tool discovery.
Summary
Functions
Calculates contextual similarity based on tool categories and domains.
Creates a Haystack index from tools for full-text search.
Extracts keywords from text for semantic analysis.
Finds similar tools based on semantic similarity.
Calculates semantic similarity between two sets of keywords.
Searches providers using semantic matching.
Searches tools using Haystack full-text search and semantic matching.
Searches tools using Haystack full-text search.
Searches tools using keyword-based semantic matching.
Functions
@spec contextual_similarity(ExUtcp.Types.tool(), [String.t()]) :: float()
Calculates contextual similarity based on tool categories and domains.
@spec create_tools_index([ExUtcp.Types.tool()]) :: Haystack.t()
Creates a Haystack index from tools for full-text search.
Extracts keywords from text for semantic analysis.
@spec find_similar_tools(ExUtcp.Types.tool(), [ExUtcp.Types.tool()], float()) :: list()
Finds similar tools based on semantic similarity.
Calculates semantic similarity between two sets of keywords.
Searches providers using semantic matching.
Searches tools using Haystack full-text search and semantic matching.
Searches tools using Haystack full-text search.
@spec search_tools_with_keywords([ExUtcp.Types.tool()], String.t(), map()) :: list()
Searches tools using keyword-based semantic matching.