Retrieval bundle for NLWeb - includes vector database clients for multiple providers
Project description
nlweb-retrieval
Bundle package containing all retrieval providers for NLWeb.
Included Providers
This package includes clients for:
- Azure AI Search - Azure's vector search service with managed identity support
- Elasticsearch - Popular open-source search and analytics engine
- Milvus - Open-source vector database
- Qdrant - Vector similarity search engine
- PostgreSQL (pgvector) - PostgreSQL with vector extension
- OpenSearch - Open-source search and analytics suite
- Snowflake Cortex Search - Snowflake's vector search
- Shopify MCP - Shopify Model Context Protocol
- Cloudflare AutoRAG - Cloudflare's RAG service
- Bing Search - Microsoft Bing web search
Installation
pip install nlweb-core nlweb-retrieval
Configuration Example
Create config.yaml:
retrieval:
provider: elasticsearch
import_path: nlweb_retrieval.elasticsearch_client
class_name: ElasticsearchClient
api_endpoint_env: ELASTICSEARCH_URL
index_name: my_index
use_knn: true
Azure AI Search Example
retrieval:
provider: azure_ai_search
import_path: nlweb_retrieval.azure_search_client
class_name: AzureSearchClient
api_endpoint_env: AZURE_SEARCH_ENDPOINT
auth_method: azure_ad # or api_key
index_name: my-search-index
Qdrant Example
retrieval:
provider: qdrant
import_path: nlweb_retrieval.qdrant
class_name: QdrantVectorClient
database_path: ./data/qdrant_db # for local storage
# OR for remote:
# api_endpoint_env: QDRANT_URL
# api_key_env: QDRANT_API_KEY
Usage
import nlweb_core
# Initialize with config
nlweb_core.init(config_path="./config.yaml")
# Use retrieval
from nlweb_core import retriever
# Search
results = await retriever.search(
query="example query",
site="example.com",
num_results=10
)
Provider Import Paths
Use these in your config file:
| Provider | import_path | class_name |
|---|---|---|
| Azure AI Search | nlweb_retrieval.azure_search_client |
AzureSearchClient |
| Elasticsearch | nlweb_retrieval.elasticsearch_client |
ElasticsearchClient |
| Milvus | nlweb_retrieval.milvus_client |
MilvusVectorClient |
| Qdrant | nlweb_retrieval.qdrant |
QdrantVectorClient |
| PostgreSQL | nlweb_retrieval.postgres_client |
PgVectorClient |
| OpenSearch | nlweb_retrieval.opensearch_client |
OpenSearchClient |
| Snowflake | nlweb_retrieval.snowflake_client |
SnowflakeCortexSearchClient |
| Shopify MCP | nlweb_retrieval.shopify_mcp |
ShopifyMCPClient |
| Cloudflare | nlweb_retrieval.cf_autorag_client |
CloudflareAutoRAGClient |
| Bing Search | nlweb_retrieval.bing_search_client |
BingSearchClient |
License
MIT License - Copyright (c) 2025 Microsoft Corporation
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file nlweb_retrieval-0.0.0.tar.gz.
File metadata
- Download URL: nlweb_retrieval-0.0.0.tar.gz
- Upload date:
- Size: 30.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d5815c4458f49a216c7b4755f4fc6137a25fd9fd5524ceb82f6306db5e466991
|
|
| MD5 |
e62eb0fc15eac777629f7bba92a02570
|
|
| BLAKE2b-256 |
4d5801ffdabbfd21000536bfdc1c5a2a3f40aa7145fcb40c5009f13eb837c56b
|
File details
Details for the file nlweb_retrieval-0.0.0-py3-none-any.whl.
File metadata
- Download URL: nlweb_retrieval-0.0.0-py3-none-any.whl
- Upload date:
- Size: 38.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5c354da3af1d351db7466a5d7b9c4da9c786a54e2cb6f77a8782d7ee04edad5d
|
|
| MD5 |
d5994ef244f235d3d720743684ba8b84
|
|
| BLAKE2b-256 |
0fc11e4c3995e0d52489ad49d1e76e1d2b90a051008dca85860654234e9eb0ab
|