autogen_ext.models.replay#

class ReplayChatCompletionClient(chat_completions: Sequence[str | CreateResult], model_info: ModelInfo | None = None)[Quelle]#

Bases: ChatCompletionClient, Component[ReplayChatCompletionClientConfig]

Ein Mock-Chat-Completion-Client, der vordefinierte Antworten mittels eines Index-basierten Ansatzes wiedergibt.

Diese Klasse simuliert einen Chat-Completion-Client, indem sie eine vordefinierte Liste von Antworten wiedergibt. Sie unterstützt sowohl einzelne als auch gestreamte Antworten. Die Antworten können entweder Strings oder CreateResult-Objekte sein. Der Client verwendet nun einen Index-basierten Ansatz für den Zugriff auf die Antworten, was das Zurücksetzen des Zustands ermöglicht.

Hinweis

Die Antworten können entweder Strings oder CreateResult-Objekte sein.

Parameter:

chat_completions (Sequence[Union[str, CreateResult]]) – Eine Liste vordefinierter Antworten zum Wiedergeben.

Löst aus:

ValueError("Keine weiteren Mock-Antworten verfügbar") – Wenn die Liste der bereitgestellten Ausgaben erschöpft ist.

Examples

Einfacher Chat-Completion-Client zur Rückgabe vordefinierter Antworten.

from autogen_core.models import UserMessage
from autogen_ext.models.replay import ReplayChatCompletionClient


async def example():
    chat_completions = [
        "Hello, how can I assist you today?",
        "I'm happy to help with any questions you have.",
        "Is there anything else I can assist you with?",
    ]
    client = ReplayChatCompletionClient(chat_completions)
    messages = [UserMessage(content="What can you do?", source="user")]
    response = await client.create(messages)
    print(response.content)  # Output: "Hello, how can I assist you today?"

Einfacher Streaming-Chat-Completion-Client zur Rückgabe vordefinierter Antworten

import asyncio
from autogen_core.models import UserMessage
from autogen_ext.models.replay import ReplayChatCompletionClient


async def example():
    chat_completions = [
        "Hello, how can I assist you today?",
        "I'm happy to help with any questions you have.",
        "Is there anything else I can assist you with?",
    ]
    client = ReplayChatCompletionClient(chat_completions)
    messages = [UserMessage(content="What can you do?", source="user")]

    async for token in client.create_stream(messages):
        print(token, end="")  # Output: "Hello, how can I assist you today?"

    async for token in client.create_stream(messages):
        print(token, end="")  # Output: "I'm happy to help with any questions you have."

    asyncio.run(example())

Verwendung von .reset, um den Zustand des Chat-Clients zurückzusetzen

import asyncio
from autogen_core.models import UserMessage
from autogen_ext.models.replay import ReplayChatCompletionClient


async def example():
    chat_completions = [
        "Hello, how can I assist you today?",
    ]
    client = ReplayChatCompletionClient(chat_completions)
    messages = [UserMessage(content="What can you do?", source="user")]
    response = await client.create(messages)
    print(response.content)  # Output: "Hello, how can I assist you today?"

    response = await client.create(messages)  # Raises ValueError("No more mock responses available")

    client.reset()  # Reset the client state (current index of message and token usages)
    response = await client.create(messages)
    print(response.content)  # Output: "Hello, how can I assist you today?" again


asyncio.run(example())
component_type: ClassVar[ComponentType] = 'replay_chat_completion_client'#

Der logische Typ der Komponente.

component_provider_override: ClassVar[str | None] = 'autogen_ext.models.replay.ReplayChatCompletionClient'#

Überschreibe den Anbieter-String für die Komponente. Dies sollte verwendet werden, um zu verhindern, dass interne Modulnamen Teil des Modulnamens werden.

component_config_schema#

alias von ReplayChatCompletionClientConfig

property create_calls: List[Dict[str, Any]]#

Gibt die Argumente der Aufrufe der create-Methode zurück.

async create(messages: Sequence[Annotated[SystemMessage | UserMessage | AssistantMessage | FunctionExecutionResultMessage, FieldInfo(annotation=NoneType, required=True, discriminator='type')]], *, tools: Sequence[Tool | ToolSchema] = [], tool_choice: Tool | Literal['auto', 'required', 'none'] = 'auto', json_output: bool | type[BaseModel] | None = None, extra_create_args: Mapping[str, Any] = {}, cancellation_token: CancellationToken | None = None) CreateResult[Quelle]#

Gibt die nächste Vervollständigung aus der Liste zurück.

async create_stream(messages: Sequence[Annotated[SystemMessage | UserMessage | AssistantMessage | FunctionExecutionResultMessage, FieldInfo(annotation=NoneType, required=True, discriminator='type')]], *, tools: Sequence[Tool | ToolSchema] = [], tool_choice: Tool | Literal['auto', 'required', 'none'] = 'auto', json_output: bool | type[BaseModel] | None = None, extra_create_args: Mapping[str, Any] = {}, cancellation_token: CancellationToken | None = None) AsyncGenerator[str | CreateResult, None][Quelle]#

Gibt die nächste Vervollständigung als Stream zurück.

async close() None[Quelle]#
actual_usage() RequestUsage[Quelle]#
total_usage() RequestUsage[Quelle]#
count_tokens(messages: Sequence[Annotated[SystemMessage | UserMessage | AssistantMessage | FunctionExecutionResultMessage, FieldInfo(annotation=NoneType, required=True, discriminator='type')]], *, tools: Sequence[Tool | ToolSchema] = []) int[Quelle]#
remaining_tokens(messages: Sequence[Annotated[SystemMessage | UserMessage | AssistantMessage | FunctionExecutionResultMessage, FieldInfo(annotation=NoneType, required=True, discriminator='type')]], *, tools: Sequence[Tool | ToolSchema] = []) int[Quelle]#
set_cached_bool_value(value: bool) None[Quelle]#
property capabilities: ModelCapabilities#

Gibt Mock-Fähigkeiten zurück.

property model_info: ModelInfo#
reset() None[Quelle]#

Setzt den Client-Zustand und die Nutzung auf den Anfangszustand zurück.

_to_config() ReplayChatCompletionClientConfig[Quelle]#

Gib die Konfiguration aus, die erforderlich wäre, um eine neue Instanz einer Komponente zu erstellen, die der Konfiguration dieser Instanz entspricht.

Gibt zurück:

T – Die Konfiguration der Komponente.

classmethod _from_config(config: ReplayChatCompletionClientConfig) Self[Quelle]#

Erstelle eine neue Instanz der Komponente aus einem Konfigurationsobjekt.

Parameter:

config (T) – Das Konfigurationsobjekt.

Gibt zurück:

Self – Die neue Instanz der Komponente.