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.19.0.tar.gz (60.9 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.19.0-py3-none-any.whl (84.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: kiarina_agi_text-2.19.0.tar.gz
  • Upload date:
  • Size: 60.9 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.19.0.tar.gz
Algorithm Hash digest
SHA256 6e35d346bb6310b0e0806e739c1f8f35617aa78d7f709e4f8d5d436cda49a285
MD5 a736bda7afa5cebdbec52b48c309a633
BLAKE2b-256 4c7de42b6d45b7787131adaa9a8bce7d14247c45c2add6bd5dbfb9a3df3e890e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for kiarina_agi_text-2.19.0-py3-none-any.whl
Algorithm Hash digest
SHA256 364b0c4171952f1d2212f3cb04ba0402540b48a4ee023670d6b719e1cc17a7ff
MD5 f985cb5794293c069c145b7988231ee1
BLAKE2b-256 aee805cd8c3b8fc7b7cb8ab9e4dee299cf207d39130eff1cca22d875f4b821e5

See more details on using hashes here.

Provenance

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

This release

2.19.0 This release

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