Skip to content

External Clients & Services

Overview of external services Universal Search integrates with, why we use them, and where the client code lives.

AWS Services

Service Purpose Client Location
Bedrock Text embeddings (Titan v2) and reranking (Cohere Rerank v3.5) crates/common/src/clients/bedrock_client.rs
OpenSearch Full-text search index, document storage and retrieval crates/common/src/clients/os_client.rs
DynamoDB Embedding cache and rate limiter state crates/common/src/clients/dynamo_db_client.rs
S3 Intermediate pipeline data (NDJSON), processed content storage crates/common/src/clients/s3_client.rs
SQS Asynchronous message queuing between pipeline stages crates/common/src/clients/sqs_client.rs
SNS Event notifications for pipeline state changes crates/common/src/clients/sns_client.rs
Secrets Manager API credentials, OpenSearch credentials, Unleash tokens crates/common/src/clients/secrets_manager.rs
Lambda Pipeline steps: embedding, bulk indexing, redrive crates/lambdas/src/bin/

Third-Party Services

Service Purpose Client Location
Unleash Feature flags and experimentation crates/common/src/clients/unleash_client.rs
Datadog Distributed tracing, APM, metrics Middleware in crates/usearch, crates/ingestion, crates/lambdas
TEI Embedding API Alternative embedding generation (google/embedding-gemma-300m) crates/common/src/clients/embedding_client.rs
Tracking Service LLM trace and search analytics events crates/common/src/clients/tracking/tracking_client.rs

Bedrock Models

Model Use Case Dimensions
amazon.titan-embed-text-v2:0 Text embeddings 512
cohere.rerank-v3-5:0 Search result reranking

Bedrock is rate-limited at 4000 RPM (reserved from 6000 RPM quota) with circuit breaker and exponential backoff.

TEI Embedding API

HTTP-based embedding service using google/embedding-gemma-300m (512 dimensions). Configured with retry middleware (exponential backoff) and optional API-key authentication via Secrets Manager.

Key Environment Variables

Variable Service Description
OPENSEARCH_URL OpenSearch Cluster base URL
OPENSEARCH_INDEX_BASENAME OpenSearch Index name prefix
OPENSEARCH_CREDENTIALS_ARN OpenSearch Secrets Manager ARN for credentials
S3_BUCKET_NAME S3 Target bucket
OUTPUT_QUEUE_URL SQS Downstream processing queue
SNS_OUTPUT_TOPIC_ARN SNS Output topic for notifications
EMBEDDING_CACHE_TABLE_NAME DynamoDB Embedding cache table
RATE_LIMITER_TABLE_NAME DynamoDB Rate limit state table
UNLEASH_URL Unleash Feature toggle server
UNLEASH_TOKEN_ARN Unleash Secrets Manager ARN for API token
TRACKING_URL Tracking Analytics endpoint (optional)