Aprendizagem pessoal com IA
e orientação prática
讯飞绘镜

Instrutor: uma biblioteca Python para simplificar fluxos de trabalho de saída estruturada para grandes modelos de linguagem

Introdução geral

O Instructor é uma biblioteca Python popular projetada para processar a saída estruturada de grandes modelos de linguagem (LLMs). Criada com base no Pydantic, ela oferece uma API simples, transparente e fácil de usar para gerenciar a validação de dados, novas tentativas e respostas de streaming. A Instructor tem mais de um milhão de downloads por mês e é amplamente usada em vários fluxos de trabalho de LLM. A biblioteca é compatível com várias linguagens de programação, incluindo Python, TypeScript, Ruby, Go e Elixir, e se integra perfeitamente a uma ampla gama de provedores de LLM, indo além do suporte da OpenAI.

Leitura recomendada:Métodos de saída de dados estruturados de modelos grandes: uma lista selecionada de recursos JSON do LLMeContornos: gerar saída de texto estruturado por meio de expressões regulares, JSON ou modelos PydanticeFunções de IA: um serviço (API) para converter conteúdo de entrada em saídas estruturadas.


Instructor:简化大语言模型工作流的结构化输出Python库-1

 

Lista de funções

  • modelo de respostaUso do modelo Pydantic para definir a estrutura da saída do LLM.
  • Gerenciamento de novos testesConfigure facilmente o número de novas tentativas para uma solicitação.
  • Validação de dadosResposta do LLM: Certifique-se de que a resposta do LLM seja a esperada.
  • Suporte a streamingLidar facilmente com listas e respostas parciais.
  • Back-end flexívelIntegração perfeita com vários provedores de LLM.
  • Suporte a vários idiomasSuporte a várias linguagens de programação, como Python, TypeScript, Ruby, Go e Elixir.

 

Usando a Ajuda

Processo de instalação

Para instalar o Instructor, basta executar o seguinte comando:

pip install -U instructor

Uso básico

Aqui está um exemplo simples que mostra como usar o Instructor para extrair dados estruturados da linguagem natural:

import instructor
from pydantic import BaseModel
from openai import OpenAI
# 定义所需的输出结构
class UserInfo(BaseModel):
name: str
age: int
# 初始化 OpenAI 客户端并与 Instructor 集成
client = instructor.from_openai(OpenAI())
# 从自然语言中提取结构化数据
user_info = client.chat.completions.create(
model="gpt-4o-mini",
response_model=UserInfo,
messages=[{"role": "user", "content": "John Doe is 30 years old."}]
)
print(user_info.name)  # 输出: John Doe
print(user_info.age)   # 输出: 30

Uso de ganchos

O Instructor oferece um sistema avançado de hooks que permite interceptar e registrar em vários estágios do processo de interação com o LLM. Veja abaixo um exemplo simples que mostra como usar os hooks:

import instructor
from openai import OpenAI
from pydantic import BaseModel
class UserInfo(BaseModel):
name: str
age: int
# 初始化 OpenAI 客户端并与 Instructor 集成
client = instructor.from_openai(OpenAI())
# 使用钩子记录交互过程
client.add_hook("before_request", lambda request: print(f"Request: {request}"))
client.add_hook("after_response", lambda response: print(f"Response: {response}"))
# 从自然语言中提取结构化数据
user_info = client.chat.completions.create(
model="gpt-4o-mini",
response_model=UserInfo,
messages=[{"role": "user", "content": "Jane Doe is 25 years old."}]
)
print(user_info.name)  # 输出: Jane Doe
print(user_info.age)   # 输出: 25

Uso avançado

O Instructor também oferece suporte à integração com outros provedores de LLM e oferece opções de configuração flexíveis. Você pode personalizar o número de novas tentativas de solicitação, as regras de validação de dados e o tratamento de respostas de streaming, conforme necessário.

Não pode ser reproduzido sem permissão:Chefe do Círculo de Compartilhamento de IA " Instrutor: uma biblioteca Python para simplificar fluxos de trabalho de saída estruturada para grandes modelos de linguagem
pt_BRPortuguês do Brasil