跳到内容

AzureOpenAILLM

运行异步 API 客户端的 Azure OpenAI LLM 实现。

属性

  • model: 用于 LLM 的模型名称,即 Azure 部署的名称。

  • base_url: 用于 Azure OpenAI API 的基本 URL 可以使用 AZURE_OPENAI_ENDPOINT 设置。默认为 None,这意味着将使用为环境变量 AZURE_OPENAI_ENDPOINT 设置的值,如果未设置则为 None

  • api_key: 用于验证对 Azure OpenAI API 请求的 API 密钥。默认为 None,这意味着将使用为环境变量 AZURE_OPENAI_API_KEY 设置的值,如果未设置则为 None

  • api_version: 用于 Azure OpenAI API 的 API 版本。默认为 None,这意味着将使用为环境变量 OPENAI_API_VERSION 设置的值,如果未设置则为 None

示例

生成文本

from distilabel.models.llms import AzureOpenAILLM

llm = AzureOpenAILLM(model="gpt-4-turbo", api_key="api.key")

llm.load()

output = llm.generate_outputs(inputs=[[{"role": "user", "content": "Hello world!"}]])

从遵循 OpenAI API 的自定义端点生成文本

from distilabel.models.llms import AzureOpenAILLM

llm = AzureOpenAILLM(
    model="prometheus-eval/prometheus-7b-v2.0",
    base_url=r"http://localhost:8080/v1"
)

llm.load()

output = llm.generate_outputs(inputs=[[{"role": "user", "content": "Hello world!"}]])

生成结构化数据

from pydantic import BaseModel
from distilabel.models.llms import AzureOpenAILLM

class User(BaseModel):
    name: str
    last_name: str
    id: int

llm = AzureOpenAILLM(
    model="gpt-4-turbo",
    api_key="api.key",
    structured_output={"schema": User}
)

llm.load()

output = llm.generate_outputs(inputs=[[{"role": "user", "content": "Create a user profile for the following marathon"}]])