Skip to content

Django Chain Providers

django_chain.providers

LLM provider integrations for django-chain.

This package provides functions to instantiate chat and embedding models for supported LLM providers (OpenAI, Google, HuggingFace, Fake) and acts as a central registry for provider selection.

get_chat_model(provider, **kwargs)

Get a chat model instance for the specified provider.

Parameters:

  • provider (str) –

    The LLM provider name (e.g., 'openai', 'google')

  • **kwargs

    Additional arguments for the chat model

Returns:

  • BaseChatModel

    A configured chat model instance

Raises:

  • ImportError

    If the required provider package is not installed

  • ValueError

    If the provider is not supported

get_embedding_model(provider, **kwargs)

Get an embedding model instance for the specified provider.

Parameters:

  • provider (str) –

    The embedding provider name (e.g., 'openai', 'google')

  • **kwargs

    Additional arguments for the embedding model

Returns:

  • Embeddings

    A configured embedding model instance

Raises:

  • ImportError

    If the required provider package is not installed

  • ValueError

    If the provider is not supported

get_vector_store(store_type, embedding_function, **kwargs)

Get a vector store instance for the specified type.

Parameters:

  • store_type (str) –

    The vector store type (e.g., 'pgvector', 'chroma')

  • embedding_function (Embeddings) –

    The embedding function to use

  • **kwargs

    Additional arguments for the vector store

Returns:

  • VectorStore

    A configured vector store instance

Raises:

  • ImportError

    If the required store package is not installed

  • ValueError

    If the store type is not supported

  • NotImplementedError

    If the store type is not yet implemented