Installation
Basic Installation
pip install signalwire-agents
Optional Search Functionality
The SDK includes optional local search capabilities that can be installed separately to avoid adding large dependencies to the base installation:
Search Installation Options
# Basic search (vector search + keyword search)
pip install signalwire-agents[search]
# Full search with document processing (PDF, DOCX, etc.)
pip install signalwire-agents[search-full]
# Advanced NLP features (includes spaCy)
pip install signalwire-agents[search-nlp]
# All search features
pip install signalwire-agents[search-all]
What Each Option Includes
Option | Size | Features |
---|---|---|
search | ~500MB | Vector embeddings, keyword search, basic text processing |
search-full | ~600MB | + PDF, DOCX, Excel, PowerPoint, HTML, Markdown processing |
search-nlp | ~600MB | + Advanced spaCy NLP features |
search-all | ~700MB | All search features combined |
Search Features
- Local/Offline Search: No external API dependencies
- Hybrid Search: Vector similarity + keyword search
- Smart Document Processing: Markdown, Python, PDF, DOCX, etc.
- Multiple Languages: English, Spanish, with extensible framework
- CLI Tools: Build search indexes from document directories
- HTTP API: Standalone or embedded search service
Usage Example
# Only available with search extras installed
from signalwire_agents.search import IndexBuilder, SearchEngine
# Build search index
builder = IndexBuilder()
builder.build_index(
source_dir="./docs",
output_file="knowledge.swsearch",
file_types=['md', 'txt', 'pdf']
)
# Search documents
engine = SearchEngine("knowledge.swsearch")
results = engine.search(
query_vector=embeddings,
enhanced_text="search query",
count=5
)