RAG Providers
Detailed configuration for each supported vector database provider.
Azure AI Search
Microsoft's managed search service with native semantic search, reranking, and hybrid search capabilities.
Best for: Azure-native deployments, enterprise environments with Azure infrastructure, use cases needing hybrid (keyword + semantic) search.
Required Fields
| Field | Example | Notes |
|---|---|---|
| Endpoint | https://my-search.search.windows.net | From Azure Portal → AI Search service → Overview |
| API Key | abc123... | Admin or Query key from Azure Portal → Keys |
| Index Name | product-docs-index | The name of your search index |
| Semantic Config | my-semantic-config | (Optional) For semantic ranking |
| Vector Field | contentVector | Field in your index containing vectors |
| Content Field | content | Field containing the text to retrieve |
Setup Notes
- Create an Azure AI Search resource in Azure Portal
- Create an index with a vector field (1536 dimensions, cosine similarity, HNSW algorithm)
- Index your documents using the Azure SDK or REST API
- Get the endpoint from the Overview blade
- Get the API key from the Keys blade (use Query key for read-only access)
Free Tier
Azure AI Search has a free tier (F0) with 50MB of storage — fine for testing. For production, use Basic (2GB) or Standard (25GB+).
Hybrid Search
If your index has both keyword and vector fields, Azure AI Search supports hybrid search (combines keyword + semantic). Configure this via the API if needed.
Pinecone
Popular managed vector database. Known for its simple API and serverless tier.
Best for: Getting started quickly, production-scale deployments, serverless architecture.
Required Fields
| Field | Example | Notes |
|---|---|---|
| API Key | pc-abc123... | From Pinecone Console → API Keys |
| Index Name | product-docs | The index to query |
| Host | product-docs-xxxxx.svc.pinecone.io | From Pinecone Console → Index → Host |
| Namespace | default | (Optional) Namespace within the index |
Setup Notes
- Sign up at pinecone.io
- Create an index with 1536 dimensions and cosine metric
- Index name must match exactly (case-sensitive)
- For serverless indexes, get the host from the index details page
- For starter tier, note the request rate limits
Free Tier
Pinecone's starter plan includes one index, 100MB storage, and limited requests — good for development. Production typically needs Standard plan.
Namespaces
If you're using namespaces to partition your data (e.g., one namespace per client), enter the specific namespace. Leave empty to query the default namespace.
Weaviate
Open-source vector database with strong filtering and multi-modal support.
Best for: Self-hosted deployments, complex filtering (where queries), multi-tenant architectures.
Required Fields (Cloud)
| Field | Example | Notes |
|---|---|---|
| URL | https://my-instance.weaviate.network | From Weaviate Cloud Console |
| API Key | weaviate-abc123 | From Weaviate Cloud Console → Details |
| Class Name | ProductDocument | Weaviate class to query (note: PascalCase) |
| Text Field | content | The property containing the text |
| Vector Field | — | Weaviate computes vectors via its modules |
Required Fields (Self-hosted)
| Field | Example | Notes |
|---|---|---|
| URL | https://weaviate.yourcompany.com | Your Weaviate server URL |
| API Key | — | (Optional, if auth enabled) |
| Class Name | ProductDocument | |
| Module | text2vec-openai or text2vec-transformers | Embedding module configured on the server |
Setup Notes
- Weaviate classes are like tables — create a class for your content
- The class schema defines properties and which module handles embedding
- For OpenAI embedding module (
text2vec-openai), Weaviate handles embedding — you need OpenAI config in Weaviate - For TARX's external embedding approach, configure Weaviate to accept pre-computed vectors
Qdrant
High-performance open-source vector database with Rust core.
Best for: High-throughput production workloads, self-hosted deployments, complex filtering.
Required Fields
| Field | Example | Notes |
|---|---|---|
| URL | https://my-cluster.cloud.qdrant.io | Qdrant Cloud URL or self-hosted endpoint |
| API Key | qdrant-abc123 | From Qdrant Cloud Console, or set in self-hosted config |
| Collection | product_docs | The Qdrant collection to query |
| Vector Name | content | Name of the named vector (if using named vectors) |
Setup Notes
- Create a collection with 1536 dimensions and cosine distance
- When uploading points, include the text content in payload:
{"content": "your text", "source_url": "https://..."} - Qdrant Cloud has a free tier for development
- For self-hosted, ensure the API is accessible from TARX's backend
Payload Filtering
Qdrant supports rich payload filtering. If your collection has metadata (e.g., category, date), you can add filters. Currently supported via the Custom REST provider type for advanced filtering.
Supabase Vector
PostgreSQL-based vector storage using the pgvector extension.
Best for: Teams already using Supabase, SQL-native vector operations, combining vector search with relational data.
Required Fields
| Field | Example | Notes |
|---|---|---|
| Supabase URL | https://abcxyz.supabase.co | From Supabase Dashboard → Settings → API |
| Service Role Key | eyJhbGc... | Service role key (NOT anon key) |
| Table Name | documents | PostgreSQL table with vector column |
| Content Column | content | Column containing the text |
| Embedding Column | embedding | Column with vector(1536) type |
| Metadata Columns | source_url,title | Comma-separated columns to return as metadata |
Setup Notes
- Enable
pgvectorextension in Supabase (Database → Extensions → vector) - Create a table:
CREATE TABLE documents (id bigserial primary key,content text,embedding vector(1536),source_url text,title text,created_at timestamp default now());CREATE INDEX ON documents USING ivfflat (embedding vector_cosine_ops)WITH (lists = 100);
- Use the service role key for server-side queries (has full access)
- TARX performs:
SELECT content, source_url, 1 - (embedding <=> $1) as score FROM documents ORDER BY score DESC LIMIT $2
Custom REST
For any vector database that exposes a REST API. This is the escape hatch for providers not natively supported.
Best for: Custom vector database deployments, internal enterprise vector stores, niche providers.
Required Fields
| Field | Example | Notes |
|---|---|---|
| Search URL | https://my-vectordb.com/api/search | Endpoint that accepts search queries |
| Method | POST | HTTP method (usually POST) |
| Auth Header | Authorization: Bearer {api_key} | How to pass credentials |
| Request Template | See below | JSON template for the search request |
| Response Path | $.results | JSONPath to extract results from response |
| Text Path | $.results[*].text | JSONPath to the text content in each result |
| Score Path | $.results[*].score | JSONPath to similarity scores |
Request Template
TARX sends the embedded query vector as {vector} in the request template:
{
"vector": "{vector}",
"top_k": "{top_k}",
"namespace": "my-namespace"
}
TARX substitutes {vector} with the actual embedding array and {top_k} with the configured value.
Response Parsing
Your endpoint must return JSON. TARX uses JSONPath to extract:
- The text content of each result
- The similarity score
Example expected response:
{
"results": [
{"text": "SSO setup requires...", "score": 0.94, "url": "https://docs.example.com/sso"},
{"text": "SAML configuration...", "score": 0.87, "url": "https://docs.example.com/saml"}
]
}
Provider Comparison
| Azure AI Search | Pinecone | Weaviate | Qdrant | Supabase | Custom REST | |
|---|---|---|---|---|---|---|
| Managed cloud | ✅ | ✅ | ✅ | ✅ | ✅ | Varies |
| Self-hosted | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ |
| Free tier | ✅ | ✅ | ✅ | ✅ | ✅ | Varies |
| Hybrid search | ✅ | ❌ | ✅ | ✅ | ❌ | Varies |
| Native Azure | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ |
| SQL familiarity | ❌ | ❌ | ❌ | ❌ | ✅ | Varies |
| Setup complexity | Medium | Low | Medium | Medium | Medium | High |