Skip to main content

Model bundle for NLWeb - includes embedding and LLM interfaces for multiple providers

Project description

nlweb-models

Bundle package containing all LLM and embedding model providers for NLWeb.

Included Providers

LLM Providers

  • OpenAI - GPT-3.5, GPT-4, and newer models
  • Anthropic - Claude models
  • Google Gemini - Gemini Pro and variants
  • Azure OpenAI - Azure-hosted OpenAI models with managed identity support
  • Azure Llama - Llama models via Azure
  • Azure DeepSeek - DeepSeek models via Azure
  • HuggingFace - Models from HuggingFace Hub
  • Snowflake - Snowflake Cortex LLM
  • Ollama - Local LLM serving
  • Inception - Custom LLM provider

Embedding Providers

  • OpenAI - text-embedding-ada-002, text-embedding-3-small/large
  • Azure OpenAI - Azure-hosted OpenAI embeddings
  • Google Gemini - Gemini embedding models
  • Snowflake - Snowflake Cortex embeddings
  • Ollama - Local embedding models
  • Elasticsearch - Elasticsearch ML embeddings

Installation

pip install nlweb-core nlweb-models

Configuration Examples

OpenAI

llm:
  provider: openai
  import_path: nlweb_models.llm.openai
  class_name: provider
  api_key_env: OPENAI_API_KEY
  models:
    high: gpt-4
    low: gpt-3.5-turbo

embedding:
  provider: openai
  import_path: nlweb_models.embedding.openai_embedding
  class_name: get_openai_embeddings
  api_key_env: OPENAI_API_KEY
  model: text-embedding-3-small

Anthropic Claude

llm:
  provider: anthropic
  import_path: nlweb_models.llm.anthropic
  class_name: provider
  api_key_env: ANTHROPIC_API_KEY
  models:
    high: claude-3-opus-20240229
    low: claude-3-haiku-20240307

Azure OpenAI

llm:
  provider: azure_openai
  import_path: nlweb_models.llm.azure_oai
  class_name: provider
  endpoint_env: AZURE_OPENAI_ENDPOINT
  api_key_env: AZURE_OPENAI_KEY
  api_version: 2024-02-01
  auth_method: azure_ad  # or api_key
  models:
    high: gpt-4
    low: gpt-35-turbo

embedding:
  provider: azure_openai
  import_path: nlweb_models.embedding.azure_oai_embedding
  class_name: get_azure_embedding
  endpoint_env: AZURE_OPENAI_ENDPOINT
  auth_method: azure_ad
  model: text-embedding-ada-002

Google Gemini

llm:
  provider: gemini
  import_path: nlweb_models.llm.gemini
  class_name: provider
  api_key_env: GOOGLE_API_KEY
  models:
    high: gemini-pro
    low: gemini-pro

embedding:
  provider: gemini
  import_path: nlweb_models.embedding.gemini_embedding
  class_name: get_gemini_embeddings
  model: models/embedding-001

Usage

import nlweb_core

# Initialize with config
nlweb_core.init(config_path="./config.yaml")

# Use LLM
from nlweb_core import llm

result = await llm.ask_llm(
    prompt="Summarize this text",
    schema={"type": "object", "properties": {"summary": {"type": "string"}}},
    level="high"
)

# Use embeddings
from nlweb_core import embedding

vector = await embedding.get_embedding(
    text="Text to embed"
)

Provider Import Paths

LLM Providers

Provider import_path class_name
OpenAI nlweb_models.llm.openai provider
Anthropic nlweb_models.llm.anthropic provider
Gemini nlweb_models.llm.gemini provider
Azure OpenAI nlweb_models.llm.azure_oai provider
Azure Llama nlweb_models.llm.azure_llama provider
Azure DeepSeek nlweb_models.llm.azure_deepseek provider
HuggingFace nlweb_models.llm.huggingface provider
Snowflake nlweb_models.llm.snowflake provider
Ollama nlweb_models.llm.ollama provider
Inception nlweb_models.llm.inception provider

Embedding Providers

Provider import_path class_name
OpenAI nlweb_models.embedding.openai_embedding get_openai_embeddings
Azure OpenAI nlweb_models.embedding.azure_oai_embedding get_azure_embedding
Gemini nlweb_models.embedding.gemini_embedding get_gemini_embeddings
Snowflake nlweb_models.embedding.snowflake_embedding cortex_embed
Ollama nlweb_models.embedding.ollama_embedding get_ollama_embedding
Elasticsearch nlweb_models.embedding.elasticsearch_embedding ElasticsearchEmbedding

License

MIT License - Copyright (c) 2025 Microsoft Corporation

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

nlweb_models-0.5.6.tar.gz (19.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

nlweb_models-0.5.6-py3-none-any.whl (35.0 kB view details)

Uploaded Python 3

File details

Details for the file nlweb_models-0.5.6.tar.gz.

File metadata

  • Download URL: nlweb_models-0.5.6.tar.gz
  • Upload date:
  • Size: 19.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.7

File hashes

Hashes for nlweb_models-0.5.6.tar.gz
Algorithm Hash digest
SHA256 ff3cdb41f1862f22928368c807b88610e194c018cc6f8439eae5097438fc3068
MD5 76725bf0ea80257f5331a47ef40c9178
BLAKE2b-256 25226f5b81e1b268207486e767ed4c3890e3981edc184957e58f1c662766e9d6

See more details on using hashes here.

File details

Details for the file nlweb_models-0.5.6-py3-none-any.whl.

File metadata

  • Download URL: nlweb_models-0.5.6-py3-none-any.whl
  • Upload date:
  • Size: 35.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.7

File hashes

Hashes for nlweb_models-0.5.6-py3-none-any.whl
Algorithm Hash digest
SHA256 86b3adbb9bffe2146bb7f3395d000eba378da510b5ac15bcf2d03118eba1491a
MD5 b804f540416723376ebe73039af62d6c
BLAKE2b-256 d448aef876ee3e2db42742c45e6495e4b260d324e21c05e54fa4d9d9d10edc1e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page