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
Metadata
Release files for nlweb-retrieval 0.5.6
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| nlweb_retrieval-0.5.6.tar.gz | 30.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| nlweb_retrieval-0.5.6-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 68.9 kB
Release files / nlweb_retrieval-0.5.6.tar.gz
| Download URL | nlweb_retrieval-0.5.6.tar.gz |
|---|---|
| Size | 30.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
0c69a98c58289cc6c404477b21c7bf3fe369f9c3546070e01e6de55d8301f504
|
|
BLAKE2b-256 checksum How to use checksums |
81c5e2c6f3cc5ae03188b7b26c18e81096aea9213af6b4cb0d0f849a2215f6c9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.7
|
Release files / nlweb_retrieval-0.5.6-py3-none-any.whl
| Download URL | nlweb_retrieval-0.5.6-py3-none-any.whl |
|---|---|
| Size | 38.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
73739298d71ca82cf4b5baf433bf96bc3cde72e7b2d2b947189a659e51859f77
|
|
BLAKE2b-256 checksum How to use checksums |
e4b80fa4da0bf0bd56f51f140adce798208aa52f43cfa753bfd97fdd20fd783d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.7
|