Instructeur : une bibliothèque Python pour simplifier les flux de production structurés pour les grands modèles de langage
Introduction générale
Instructor est une bibliothèque Python populaire conçue pour traiter les résultats structurés des grands modèles de langage (LLM). Construite sur Pydantic, elle fournit une API simple, transparente et conviviale pour gérer la validation des données, les nouvelles tentatives et les réponses en continu. La bibliothèque prend en charge plusieurs langages de programmation, notamment Python, TypeScript, Ruby, Go et Elixir, et s'intègre de manière transparente à un large éventail de fournisseurs LLM, au-delà du support d'OpenAI.
Lecture recommandée :Méthodes de sortie des données structurées des grands modèles : une liste de ressources JSON du LLM,Outlines : générer un texte structuré via des expressions régulières, JSON ou des modèles pydantiques,Fonctions d'IA : un service (API) pour convertir le contenu d'entrée en sorties structurées..

Liste des fonctions
- modèle de réponseLes résultats de l'analyse de la structure de l'information : Utiliser le modèle Pydantique pour définir la structure de l'information produite par le LLM.
- Gestion des retestsLes demandes d'accès à l'Internet : configurez facilement le nombre de tentatives d'accès à l'Internet pour une demande.
- Validation des donnéesLa réponse du LLM doit être conforme à ce qui est attendu.
- Prise en charge de la diffusion en continuLes réponses partielles et les listes sont faciles à traiter.
- Un back-end flexibleIntégration transparente avec plusieurs fournisseurs de LLM.
- Prise en charge multilinguePrise en charge de plusieurs langages de programmation tels que Python, TypeScript, Ruby, Go et Elixir.
Utiliser l'aide
Processus d'installation
Pour installer Instructor, il suffit d'exécuter la commande suivante :
pip install -U instructor
Utilisation de base
Voici un exemple simple montrant comment utiliser Instructor pour extraire des données structurées à partir d'un langage naturel :
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
Utilisation des crochets
Instructor fournit un système de crochets puissant qui vous permet d'intercepter et d'enregistrer à différents stades du processus d'interaction LLM. Vous trouverez ci-dessous un exemple simple montrant comment utiliser les crochets :
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
Utilisation avancée
Instructor prend également en charge l'intégration avec d'autres fournisseurs de LLM et offre des options de configuration flexibles. Vous pouvez personnaliser le nombre de tentatives de requête, les règles de validation des données et la gestion des réponses en continu en fonction de vos besoins.
© déclaration de droits d'auteur
L'article est protégé par le droit d'auteur et ne doit pas être reproduit sans autorisation.
Articles connexes
Pas de commentaires...