跳到内容

使用 Anyscale 获取结构化输出,一份包含 instructor 的完整指南

Anyscale 是一个提供访问各种开源 LLM(如 Mistral 和 Llama 模型)的平台。本指南将展示如何结合使用 instructor 和 Anyscale 从这些模型中获取结构化输出。

快速入门

首先,安装所需的软件包

pip install instructor

您需要一个 Anyscale API 密钥,可以将其设置为环境变量

export ANYSCALE_API_KEY=your_api_key_here

基本示例

以下是如何从 Anyscale 模型中提取结构化数据

import os
import instructor
from openai import OpenAI
from pydantic import BaseModel

# Initialize the client with Anyscale base URL
client = instructor.from_openai(
    OpenAI(
        base_url="https://api.endpoints.anyscale.com/v1",
        api_key=os.environ["ANYSCALE_API_KEY"],
    ),
    mode=instructor.Mode.JSON_SCHEMA,
)

# Define your data structure
class UserExtract(BaseModel):
    name: str
    age: int

# Extract structured data
user = client.chat.completions.create(
    model="mistralai/Mixtral-8x7B-Instruct-v0.1",
    response_model=UserExtract,
    messages=[
        {"role": "user", "content": "Extract jason is 25 years old"},
    ],
)

print(user)
# Output: UserExtract(name='Jason', age=25)

支持的模式

Anyscale 支持以下 instructor 模式

  • Mode.TOOLS
  • Mode.JSON
  • Mode.JSON_SCHEMA
  • Mode.MD_JSON

模型

Anyscale 提供对各种模型的访问,包括

  • Mistral 模型(例如,mistralai/Mixtral-8x7B-Instruct-v0.1
  • Llama 模型
  • 通过其平台可用的其他开源 LLM