大模型格式化输出的几种方法
在开发一些和LLM相关的应用的时候,如何从大模型的反馈中拿到结构化的输出数据是非常重要的,那么本文就记录几种常用的方法。
OpenAI提供的新方法
在 OpenAI 的 Python 库中,client.beta.chat.completions.parse 是一个用于生成结构化输出的方法,属于 Beta(测试版)功能。它主要用于从语言模型的响应中提取符合特定格式的数据,通常与 Pydantic 模型或 JSON Schema 结合使用,以确保输出是结构化的、可预测的,并且易于程序化处理。
client.beta.chat.completions.parse通过调用 OpenAI 的聊天完成 API(Chat Completions API),让模型生成符合开发者指定结构的输出,而不是普通的自由文本。使用代码举例(使用ollama和llama3.1:8b)
from openai import OpenAI
from pydantic import BaseModel
from typing import Optional
class User(BaseModel):
name: str
age: int
email:Optional[str] = None