Instructor: una biblioteca de Python que simplifica los flujos de trabajo de salida estructurados para grandes modelos lingüísticos.

Introducción general

Instructor es una popular biblioteca de Python diseñada para procesar resultados estructurados de grandes modelos lingüísticos (LLM). Basada en Pydantic, proporciona una API sencilla, transparente y fácil de usar para gestionar la validación de datos, los reintentos y las respuestas en tiempo real. La biblioteca es compatible con varios lenguajes de programación, como Python, TypeScript, Ruby, Go y Elixir, y se integra a la perfección con una amplia gama de proveedores de LLM, más allá de la compatibilidad con OpenAI.

Lecturas recomendadas:Métodos de salida de datos estructurados de grandes modelos: una lista seleccionada de recursos JSON de LLMyEsquemas: genera salidas de texto estructurado mediante expresiones regulares, JSON o modelos Pydantic.yFunciones AI: un servicio (API) para convertir contenidos de entrada en resultados estructurados..

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

 

Lista de funciones

  • modelo de respuesta: Utiliza el modelo Pydantic para definir la estructura de la salida LLM.
  • Gestión de la repetición de pruebasPermite configurar fácilmente el número de reintentos de una solicitud.
  • Validación de datos: Asegúrese de que la respuesta del LLM es la esperada.
  • Soporte de streaming: Maneja fácilmente listas y respuestas parciales.
  • Back-end flexibleIntegración perfecta con múltiples proveedores de LLM.
  • Soporte multilingüeSoporte para múltiples lenguajes de programación como Python, TypeScript, Ruby, Go y Elixir.

 

Utilizar la ayuda

Proceso de instalación

Para instalar Instructor, basta con ejecutar el siguiente comando:

pip install -U instructor

Uso básico

He aquí un sencillo ejemplo que muestra cómo utilizar Instructor para extraer datos estructurados del lenguaje 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

Instructor proporciona un potente sistema de hooks que permite interceptar y registrar en varias etapas del proceso de interacción LLM. A continuación se muestra un ejemplo sencillo de cómo utilizar los 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 avanzado

Instructor también admite la integración con otros proveedores de LLM y ofrece opciones de configuración flexibles. Puede personalizar el número de reintentos de las solicitudes, las reglas de validación de datos y la gestión de las respuestas de streaming según sus necesidades.

© declaración de copyright
AiPPT

Artículos relacionados

Sin comentarios

Debe iniciar sesión para participar en los comentarios.
Acceder ahora
ninguno
Sin comentarios...