Skip to main content

kiarina-agi-text

English | 日本語

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,<1 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,<3 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.17.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.17.0-py3-none-any.whl (84.2 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for kiarina_agi_text-2.17.0.tar.gz
Algorithm Hash digest
SHA256 7c3ed61b558fc989fc19049eec90ac83a8947c47cfaf2c9369e31e62034f2829
MD5 4dc6982c31b18805a949e4ca52589573
BLAKE2b-256 fd95e8874ab78a873b6ca7ce4a72f84232603728a2a6e9a8e5452a8fcae8d5d3

See more details on using hashes here.

Provenance

The following attestation bundles were made for kiarina_agi_text-2.17.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.17.0-py3-none-any.whl.

File metadata

File hashes

Hashes for kiarina_agi_text-2.17.0-py3-none-any.whl
Algorithm Hash digest
SHA256 dc9fcb1556e406add152790463b79fd7f009300c46db8a02d6fe26b6e6ba0486
MD5 445e8184fca16c2d6afa69e01f52052b
BLAKE2b-256 a0fcde797e4782e158bb235cb756f296c0830c239673ae234c2c0c2aec0b9981

See more details on using hashes here.

Provenance

The following attestation bundles were made for kiarina_agi_text-2.17.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

2.28.0

2 files

2.22.1

2 files

2.19.0

2 files

This release

2.17.0 This release

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