Instructor: una biblioteca de Python que simplifica los flujos de trabajo de salida estructurados para grandes modelos lingüísticos.
Últimos recursos sobre IAActualizado hace 6 meses Círculo de intercambio de inteligencia artificial 1.6K 00
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..

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
El artículo está protegido por derechos de autor y no debe reproducirse sin autorización.
Artículos relacionados
Sin comentarios...