v0.6.0
What's New
Multi-Stage Retrieval Pipeline
- Cross-encoder reranking — second-stage precision improvement using
cross-encoder/ms-marco-MiniLM-L-6-v2 - MMR diversity — Maximal Marginal Relevance reranking reduces redundant results
- History-aware retrieval — demotes already-used tools, boosts next-step tools via graph proximity
Graph Conversion Quality
- Response→Request data flow — detects PRECEDES relations from shared
$refbetween response and request schemas - Layer 2 confidence tuning — reduced false positives in substring-based dependency detection
- K-means clustering stabilization — deterministic seed selection, increased iterations
Integrated Pipeline
- ai-api-lint integration —
from_url(lint=True)auto-fixes poor OpenAPI specs before ingest (missing descriptions, error responses, schema enhancements) - LLM keyword enrichment — generates English search keywords for non-English tool descriptions to improve BM25
LLM Auto-Detection Adapter
wrap_llm()— pass any LLM without implementingOntologyLLMABC:callable(str) -> str- OpenAI client (
openai.OpenAI()) - String shorthand:
"ollama/qwen2.5:7b","openai/gpt-4o-mini","litellm/..."
build_ontology()— convenience method for ontology construction after tool registration
Installation
pip install graph-tool-call # core
pip install graph-tool-call[embedding] # + cross-encoder, sentence-transformers
pip install graph-tool-call[lint] # + ai-api-lint
pip install graph-tool-call[all] # everything318 tests passing, 7 skipped