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.22.1.tar.gz (61.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.22.1-py3-none-any.whl (84.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: kiarina_agi_text-2.22.1.tar.gz
  • Upload date:
  • Size: 61.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.22.1.tar.gz
Algorithm Hash digest
SHA256 c87844d88f209a2e8a503840f9c12ad1e11f4986357380aa36ab893d5d4394c5
MD5 feb07224fddbfa300243bff101f09eec
BLAKE2b-256 7b4b4d20d1baddab3a70014b8b7984251d39ffc7e95734713632cd5b96cb59ec

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for kiarina_agi_text-2.22.1-py3-none-any.whl
Algorithm Hash digest
SHA256 d7181d6f89419e9488621285efdba17701f60e6b6efdf44192a40bec90dffb1d
MD5 7e02ad52368f7a170480b5a12df7b393
BLAKE2b-256 aff1498a076423d583dd58f5dd0c0b93693c452ae2deb5f603e5924f1d5d5273

See more details on using hashes here.

Provenance

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

This release

2.22.1 This release

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