Models#

在许多情况下,代理需要访问模型服务,例如 OpenAI、Azure OpenAI 和本地模型。AgentChat 使用由 autogen-ext 包提供的模型客户端。

OpenAI#

要访问 OpenAI 模型,您需要安装 openai 扩展以使用 OpenAIChatCompletionClient.

pip install 'autogen-ext[openai]==0.4.0.dev6'

您还需要从 OpenAI 获取一个API key

from autogen_ext.models import OpenAIChatCompletionClient

opneai_model_client = OpenAIChatCompletionClient(
    model="gpt-4o-latest",
    api_key="sk-...", # Optional if you have an OPENAI_API_KEY environment variable set.
)

要测试模型客户端,您可以使用以下代码:

from autogen_core.components.models import UserMessage

result = await opneai_model_client.create([UserMessage(content="What is the capital of France?", source="user")])
print(result)
CreateResult(finish_reason='stop', content='The capital of France is Paris.', usage=RequestUsage(prompt_tokens=15, completion_tokens=7), cached=False, logprobs=None)

备注

您可以将此客户端与托管在 OpenAI 兼容端点上的模型一起使用,但是我们尚未测试此功能。 查看 OpenAIChatCompletionClient 了解更多信息。

Azure OpenAI#

安装 azureopenai 扩展以使用 AzureOpenAIChatCompletionClient.

pip install 'autogen-ext[openai,azure]==0.4.0.dev6'

要使用此客户端,您需要提供部署 ID、Azure 认知服务端点、API 版本和模型功能。 对于身份验证,您可以提供 API 密钥或 Azure Active Directory (AAD) 令牌凭据。

以下代码片段展示了如何使用 AAD 身份验证。 使用的身份必须被分配 认知服务 OpenAI 用户 角色。

from autogen_ext.models import AzureOpenAIChatCompletionClient
from azure.identity import DefaultAzureCredential, get_bearer_token_provider

# Create the token provider
token_provider = get_bearer_token_provider(DefaultAzureCredential(), "https://cognitiveservices.azure.com/.default")

az_model_client = AzureOpenAIChatCompletionClient(
    model="{your-azure-deployment}",
    api_version="2024-06-01",
    azure_endpoint="https://{your-custom-endpoint}.openai.azure.com/",
    azure_ad_token_provider=token_provider,  # Optional if you choose key-based authentication.
    api_key="sk-...", # For key-based authentication.
    model_capabilities={
        "vision": True,
        "function_calling": True,
        "json_output": True,
    },
)

查看 here 了解如何直接使用 Azure 客户端或更多信息。

本地模型#

我们正在开发中。敬请期待!