使用 Anyscale 获取结构化输出,一份包含 instructor 的完整指南¶
Anyscale 是一个提供访问各种开源 LLM(如 Mistral 和 Llama 模型)的平台。本指南将展示如何结合使用 instructor 和 Anyscale 从这些模型中获取结构化输出。
快速入门¶
首先,安装所需的软件包
您需要一个 Anyscale API 密钥,可以将其设置为环境变量
基本示例¶
以下是如何从 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