native_vector_search
native_vector_search
native_vector_search
Search document indexes using vector similarity and keyword search. Supports three
modes: local SQLite (.swsearch files), local PostgreSQL via pgvector, and remote
search servers. Indexes are built with the sw-search CLI tool.
Tools: search_knowledge (default, customizable via tool_name)
Requirements: Search extras installed (pip install "signalwire-sdk[search]")
Multi-instance: Yes
Path to the .swsearch index file (SQLite backend only).
Custom function name for this skill instance. Required when using multiple instances.
Whether to build the index from source files on startup.
Directory containing documents to index. Required when build_index=True.
URL of a remote search server for network mode (e.g., http://localhost:8001).
Name of the index on a remote server. Only used with remote_url.
Number of search results to return (1–20).
Minimum similarity score for results (0.0–1.0).
Manual keyword weight (0.0–1.0). Overrides automatic weight detection.
Embedding model. Shortcuts: "mini" (fastest, 384 dims), "base" or "large"
(768 dims). Full model names also accepted.
Tags to filter search results.
Tags applied to all documents when building the index.
File extensions to include when building the index.
Glob patterns to exclude when building the index.
Maximum total response size in characters.
Message returned when no results are found. Supports {query} placeholder.
Text prepended to the search response.
Text appended to the search response.
Optional callback to format the response. Must return a string.
Description of the tool presented to the AI.
Additional speech recognition hints for the tool.
NLP backend for query processing: "basic", "spacy", or "nltk".
Deprecated — use query_nlp_backend and index_nlp_backend instead.
NLP backend for query expansion: "basic", "spacy", or "nltk".
NLP backend for indexing: "basic", "spacy", or "nltk".
Storage backend: "sqlite" or "pgvector". Ignored when remote_url is set.
PostgreSQL connection string. Required when backend="pgvector".
PostgreSQL collection name. Required when backend="pgvector".
Enable verbose logging during indexing and search.
Overwrite existing pgvector collection when building the index.