Skip to content
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 2 additions & 26 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ StackOne AI provides a unified interface for accessing various SaaS tools throug
- Provider and action filtering with `fetch_tools()`
- Multi-account support
- Dynamic MCP-backed discovery via `fetch_tools()` so you can pull the latest tools at runtime (accounts, providers, or globbed actions)
- **Meta Tools** (Beta): Dynamic tool discovery and execution based on natural language queries using hybrid BM25 + TF-IDF search
- **Meta Tools** (Beta): Dynamic tool discovery and execution based on natural language queries
- Integration with popular AI frameworks:
- OpenAI Functions
- LangChain Tools
Expand Down Expand Up @@ -340,7 +340,7 @@ result = feedback_tool.call(

## Meta Tools (Beta)

Meta tools enable dynamic tool discovery and execution without hardcoding tool names. The search functionality uses **hybrid BM25 + TF-IDF search** for improved accuracy (10.8% improvement over BM25 alone).
Meta tools enable dynamic tool discovery and execution without hardcoding tool names.

### Basic Usage

Expand All @@ -358,30 +358,6 @@ execute_tool = meta_tools.get_tool("meta_execute_tool")
result = execute_tool.call(toolName="hris_list_employees", params={"limit": 10})
```

### Hybrid Search Configuration

The hybrid search combines BM25 and TF-IDF algorithms. You can customize the weighting:

```python
# Default: hybrid_alpha=0.2 (more weight to BM25, proven optimal in testing)
meta_tools = tools.meta_tools()

# Custom alpha: 0.5 = equal weight to both algorithms
meta_tools = tools.meta_tools(hybrid_alpha=0.5)

# More BM25: higher alpha (0.8 = 80% BM25, 20% TF-IDF)
meta_tools = tools.meta_tools(hybrid_alpha=0.8)

# More TF-IDF: lower alpha (0.2 = 20% BM25, 80% TF-IDF)
meta_tools = tools.meta_tools(hybrid_alpha=0.2)
```

**How it works:**
- **BM25**: Excellent at keyword matching and term frequency
- **TF-IDF**: Better at understanding semantic relationships
- **Hybrid**: Combines strengths of both for superior accuracy
- **Default alpha=0.2**: Optimized through validation testing for best tool discovery

## Examples

For more examples, check out the [examples/](examples/) directory:
Expand Down