Skip to main content

kiarina-agi-text

PyPI Python License

[!NOTE] What is this? Provides interchangeable chat models, chat logging, and text embeddings for AI agents.

Dependencies

Required Dependencies

Package Version License
kiarina-agi-base >=2.6.0 MIT
kiarina-agi-data >=2.6.0 MIT
kiarina-agi-file >=2.6.0 MIT
kiarina-utils-app >=2.4.0 MIT
kiarina-utils-common >=2.3.0 MIT
kiarina-utils-file >=2.3.1 MIT
LangChain >=1.0.0,<2 MIT
langchain-core >=1.0.0,<2 MIT
Pydantic >=2.11.7 MIT
pydantic-settings >=2.10.1 MIT
pydantic-settings-manager >=3.2.0 MIT

Optional Dependencies

Package Version License Extras
anthropic >=0.84.0,<2 MIT chat-provider-lc-anthropic
chat-provider-lc-anthropic-vertex
google-genai >=1.65.0,<3 Apache-2.0 chat-provider-lc-google-genai
text-embedding-provider-google
kiarina-lib-google >=2.3.1 MIT chat-provider-lc-anthropic-vertex
chat-provider-lc-google-genai
text-embedding-provider-google
kiarina-lib-openai >=2.3.1 MIT chat-provider-lc-openai
text-embedding-provider-openai
langchain-anthropic >=1.0.0,<2 MIT chat-provider-lc-anthropic
chat-provider-lc-anthropic-vertex
langchain-google-genai >=4.0.0,<5 MIT chat-provider-lc-google-genai
langchain-google-vertexai >=3.0.0,<4 MIT chat-provider-lc-anthropic-vertex
langchain-openai >=1.0.0,<2 MIT chat-provider-lc-openai
NumPy >=2.0 BSD-3-Clause text-embedding-provider-google
text-embedding-provider-mock
text-embedding-provider-openai
openai >=2.0.1,<4 Apache-2.0 chat-provider-lc-openai
text-embedding-provider-openai
tiktoken >=0.13.0 MIT text-embedding-provider-openai
ulid-py >=1.1.0 Apache-2.0 chat-provider-mock

The all Extra installs every optional dependency listed above.

Installation

pip install "kiarina-agi-text[all]"

Features

  • Chat Models Select a model by name or alias and receive one response or a stream. Tool calls and image, audio, video, and PDF inputs and outputs are also supported.
  • Text Embeddings Select a registered model and vectorize text through one API.

API Reference

kiarina.agi.chat_model

from kiarina.agi.chat_model import (
    ChatModel,
    ChatModelAlias,
    ChatModelConfig,
    ChatModelName,
    ChatModelSettings,
    ChatModelSpecifier,
    ChatOptions,
    chat_model_registry,
    invoke_chat,
    run_chat,
    settings_manager,
    stream_chat,
)
async def invoke_chat(
    messages: list[Message],
    *,
    tool_infos: list[ToolInfo] | None = None,
    chat_options: ChatOptions | None = None,
    cost_recorder: CostRecorder | None = None,
    run_context: RunContext,
) -> AIMessage: ...

async def run_chat(
    messages: list[Message],
    *,
    tool_infos: list[ToolInfo] | None = None,
    chat_options: ChatOptions | None = None,
    cost_recorder: CostRecorder | None = None,
    run_context: RunContext,
) -> AsyncIterator[AIMessageChunk | AIMessage]: ...

async def stream_chat(
    messages: list[Message],
    *,
    tool_infos: list[ToolInfo] | None = None,
    chat_options: ChatOptions | None = None,
    cost_recorder: CostRecorder | None = None,
    run_context: RunContext,
) -> AsyncIterator[AIMessageChunk | AIMessage]: ...

class ChatModel:
    def __init__(self, name: ChatModelName, config: ChatModelConfig) -> None: ...
    @property
    def provider_name(self) -> ChatProviderName: ...
    @property
    def provider_config(self) -> dict[str, Any]: ...
    @property
    def token_scale_factor(self) -> float: ...
    @property
    def provider(self) -> ChatProvider: ...
    def get_capabilities(self) -> ChatCapabilities: ...
    async def run(
        self,
        messages: list[Message],
        *,
        tool_infos: list[ToolInfo] | None = None,
        tool_choice: ToolChoice | None = None,
        parallel_tool_calls: bool | None = None,
        streaming: bool | None = None,
        cost_recorder: CostRecorder | None = None,
        run_context: RunContext,
    ) -> AsyncIterator[AIMessageChunk | AIMessage]: ...

class ChatModelConfig(BaseModel):
    provider_name: ChatProviderName
    provider_config: dict[str, Any] = {}
    token_scale_factor: float = 1.0
    visible: bool = True

class ChatOptions(TypedDict, total=False):
    chat_model: ChatModel | ChatModelSpecifier | None
    tool_choice: ToolChoice | None
    parallel_tool_calls: bool | None
    streaming: bool | None

ChatModelName: TypeAlias = str
ChatModelAlias: TypeAlias = str
ChatModelSpecifier: TypeAlias = ChatModelName | ChatModelAlias | str

chat_model_registry: ObjectRegistry[ChatModel, ChatModelConfig]
settings_manager: SettingsManager[ChatModelSettings]

ChatModelSettings is a Pydantic settings class with default, aliases, presets, and customs fields.

kiarina.agi.text_embedding_model

from kiarina.agi.text_embedding_model import (
    TextEmbeddingModel,
    TextEmbeddingModelAlias,
    TextEmbeddingModelConfig,
    TextEmbeddingModelName,
    TextEmbeddingModelSettings,
    TextEmbeddingModelSpecifier,
    TextEmbeddingOptions,
    embed_text,
    settings_manager,
    text_embedding_model_registry,
)
async def embed_text(
    text: str,
    *,
    text_embedding_options: TextEmbeddingOptions | None = None,
    cost_recorder: CostRecorder | None = None,
    run_context: RunContext,
) -> Embedding: ...

class TextEmbeddingModel:
    def __init__(
        self, name: TextEmbeddingModelName, config: TextEmbeddingModelConfig
    ) -> None: ...
    @property
    def provider_name(self) -> TextEmbeddingProviderName: ...
    @property
    def provider_config(self) -> dict[str, Any]: ...
    @property
    def provider(self) -> TextEmbeddingProvider: ...
    def get_space(self) -> EmbeddingSpace: ...
    async def embed(
        self,
        text: str,
        *,
        cost_recorder: CostRecorder | None = None,
        run_context: RunContext,
    ) -> Embedding: ...

class TextEmbeddingModelConfig(BaseModel):
    provider_name: TextEmbeddingProviderName
    provider_config: dict[str, Any] = {}
    visible: bool = True

class TextEmbeddingOptions(TypedDict, total=False):
    text_embedding_model: TextEmbeddingModel | TextEmbeddingModelSpecifier | None

TextEmbeddingModelName: TypeAlias = str
TextEmbeddingModelAlias: TypeAlias = str
TextEmbeddingModelSpecifier: TypeAlias = (
    TextEmbeddingModelName | TextEmbeddingModelAlias | str
)
text_embedding_model_registry: ObjectRegistry[
    TextEmbeddingModel, TextEmbeddingModelConfig
]
settings_manager: SettingsManager[TextEmbeddingModelSettings]

TextEmbeddingModelSettings has default, aliases, presets, and customs fields.

Download files

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

Source Distribution

kiarina_agi_text-2.28.0.tar.gz (59.0 kB view details)

Uploaded Source

Built Distribution

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

kiarina_agi_text-2.28.0-py3-none-any.whl (84.7 kB view details)

Uploaded Python 3

File details

Details for the file kiarina_agi_text-2.28.0.tar.gz.

File metadata

  • Download URL: kiarina_agi_text-2.28.0.tar.gz
  • Upload date:
  • Size: 59.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for kiarina_agi_text-2.28.0.tar.gz
Algorithm Hash digest
SHA256 d9235fc33f5f114d735ff17bcd8e9ad164fa2bc2045ca22ed124ad44e1fe2757
MD5 9f4f913c47d62f2de24ff612a4fa32d5
BLAKE2b-256 3ac8508facdb9aa0a4b3637232f679fae882f2d095c79f9148b9b8f97cb4bbb2

See more details on using hashes here.

Provenance

The following attestation bundles were made for kiarina_agi_text-2.28.0.tar.gz:

Publisher: release-pypi.yml on kiarina/kiarina-python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file kiarina_agi_text-2.28.0-py3-none-any.whl.

File metadata

File hashes

Hashes for kiarina_agi_text-2.28.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f4c2aeeeb986aaba518c4022493bca481dec4e99f7b7dcc0cc74d3171384e7dc
MD5 cda5c8ca508d8ee57ba6da49146ad293
BLAKE2b-256 883d81b0fda2bb38b045c3346b4cd65485d7bed921d25c72fcbc488b43700233

See more details on using hashes here.

Provenance

The following attestation bundles were made for kiarina_agi_text-2.28.0-py3-none-any.whl:

Publisher: release-pypi.yml on kiarina/kiarina-python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

2.28.0 This release

2 files

2.22.1

2 files

2.19.0

2 files

2.17.0

2 files

2.8.0

2 files

2.7.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page