AI Personal Learning
und praktische Anleitung
CyberKnife-Zeichenspiegel

Instructor: eine Python-Bibliothek zur Vereinfachung strukturierter Arbeitsabläufe für große Sprachmodelle

Allgemeine Einführung

Instructor ist eine beliebte Python-Bibliothek, die für die Verarbeitung strukturierter Ausgaben von großen Sprachmodellen (LLMs) entwickelt wurde. Sie basiert auf Pydantic und bietet eine einfache, transparente und benutzerfreundliche API für die Verwaltung von Datenvalidierung, Wiederholungsversuchen und Streaming-Antworten.Instructor wird monatlich über eine Million Mal heruntergeladen und ist in einer Vielzahl von LLM-Workflows weit verbreitet. Die Bibliothek unterstützt mehrere Programmiersprachen, darunter Python, TypeScript, Ruby, Go und Elixir, und lässt sich nahtlos in eine breite Palette von LLM-Anbietern integrieren, die über die Unterstützung von OpenAI hinausgeht.

Empfohlene Lektüre:Strukturierte Datenausgabeverfahren für große Modelle: Eine ausgewählte Liste von LLM JSON-RessourcenundUmrisse: Generierung strukturierter Textausgaben über reguläre Ausdrücke, JSON oder Pydantic-ModelleundAI-Funktionen: ein (API-)Dienst zur Umwandlung von Eingabeinhalten in strukturierte Ausgaben.


Instructor: eine Python-Bibliothek mit strukturierter Ausgabe zur Vereinfachung von Arbeitsabläufen für große Sprachmodelle-1

 

Funktionsliste

  • ReaktionsmodellPydantisches Modell: Verwenden Sie das pydantische Modell, um die Struktur der LLM-Ausgabe zu definieren.
  • Verwaltung von WiederholungsprüfungenEinfaches Konfigurieren der Anzahl der Wiederholungsversuche für eine Anfrage.
  • Validierung der DatenVergewissern Sie sich, dass die LLM-Antwort wie erwartet ausfällt.
  • Streaming-UnterstützungEinfacher Umgang mit Listen und Teilantworten.
  • Flexibles BackendNahtlose Integration mit mehreren LLM-Anbietern.
  • Unterstützung mehrerer SprachenUnterstützung für mehrere Programmiersprachen wie Python, TypeScript, Ruby, Go und Elixir.

 

Hilfe verwenden

Einbauverfahren

Um Instructor zu installieren, führen Sie einfach den folgenden Befehl aus:

pip install -U instructor

Grundlegende Verwendung

Hier ist ein einfaches Beispiel, das zeigt, wie man mit Instructor strukturierte Daten aus natürlicher Sprache extrahieren kann:

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

Haken verwenden

Instructor bietet ein leistungsfähiges Hook-System, mit dem Sie verschiedene Phasen des LLM-Interaktionsprozesses abfangen und protokollieren können. Im Folgenden finden Sie ein einfaches Beispiel für die Verwendung von 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

Erweiterte Verwendung

Instructor unterstützt auch die Integration mit anderen LLM-Anbietern und bietet flexible Konfigurationsmöglichkeiten. Sie können die Anzahl der Anforderungswiederholungen, die Datenvalidierungsregeln und die Behandlung von Streaming-Antworten nach Bedarf anpassen.

Darf nicht ohne Genehmigung vervielfältigt werden:Leiter des AI-Austauschkreises " Instructor: eine Python-Bibliothek zur Vereinfachung strukturierter Arbeitsabläufe für große Sprachmodelle
de_DEDeutsch