Allgemeine Einführung
Das OpenAI Agents SDK ist ein leichtgewichtiges Entwicklungstool von OpenAI, das für die Erstellung multi-intelligenter Workflows konzipiert wurde. Es basiert auf Python, ist einfach zu bedienen und ermöglicht es Entwicklern, komplexe Aufgaben zu automatisieren, indem sie Agenten, Handoffs, Guardrails und Tracing konfigurieren. Sie können damit zum Beispiel einen Assistenten erstellen, der Code schreibt, oder ein intelligentes System, das mehrsprachige Interaktionen abwickelt. Das Highlight ist die Kompatibilität und Flexibilität mit allen Modellanbietern, die das OpenAI Chat Completions API-Format unterstützen. Eine ausführliche Dokumentation und Beispielcode werden offiziell für Entwickler aller Stufen bereitgestellt, damit sie schnell loslegen können.
Funktionsliste
- Intelligente KörperanpassungBefehle, Werkzeuge und Einschränkungen für Sprachmodelle festlegen, um exklusive intelligente Assistenten zu erstellen.
- AufgabenumschaltungUnterstützung des nahtlosen Wechsels zwischen verschiedenen Intelligenzen, z. B. vom englischen zum spanischen Assistenten.
- SicherheitsbescheinigungEingebaute Eingangs- und Ausgangskontrollen gewährleisten sichere und zuverlässige Ergebnisse.
- Operative VerfolgungAutomatische Aufzeichnung des Betriebsvorgangs des Smart Body zur einfachen Fehlersuche und Optimierung.
- Werkzeug ErweiterungErmöglicht das Hinzufügen von benutzerdefinierten Tools, wie z. B. das Abrufen des Wetters oder das Bearbeiten bestimmter Aufgaben.
- ModellkompatibilitätMehrere Modellanbieter werden unterstützt, solange sie dem OpenAI-API-Format entsprechen.
Hilfe verwenden
Ablauf der Installation
Um das OpenAI Agents SDK zu verwenden, müssen Sie zunächst eine Python-Umgebung erstellen. Hier sind die Schritte:
- Erstellen einer virtuellen Umgebung
Erstellen Sie eine separate Python-Umgebung, um Konflikte mit anderen Projekten zu vermeiden, indem Sie den folgenden Befehl in das Terminal eingeben:
python -m venv env
Aktivieren Sie dann die Umgebung:
- Fenster:
env\Scripts\activate
- Mac/Linux-Systeme:
Quelle env/bin/activate
- Installieren des SDK
Nachdem Sie die Umgebung aktiviert haben, führen Sie den folgenden Befehl aus, um das SDK zu installieren:
pip install openai-agents
- API-Schlüssel konfigurieren
Bevor Sie den Code ausführen, müssen Sie den OpenAI-API-Schlüssel festlegen. Geben Sie ihn in das Terminal ein:
export OPENAI_API_KEY='Ihr Schlüssel'
Oder laden Sie ihn über eine Umgebungsvariable in den Code. Achten Sie darauf, den Schlüssel zu sichern.
Sobald Sie die oben genannten Schritte durchgeführt haben, können Sie das Tool verwenden.
Wie zu verwenden
Das Herzstück des OpenAI Agents SDK sind Agent
im Gesang antworten Läufer
Klasse.Agent
um das Verhalten der Intelligenzen zu definieren.Läufer
Verantwortlich für die Ausführung und Rückgabe der Ergebnisse. Im Folgenden wird die Funktionsweise der wichtigsten Funktionen ausführlich beschrieben.
1. einen einfachen intelligenten Assistenten erstellen
Möchten Sie schnell anfangen? Versuchen Sie dieses einfache Beispiel eines intelligenten Körpers, der ein Haiku über das Programmieren schreibt:
from agents import Agent, Läufer
agent = Agent(name="Assistent", instructions="Du bist ein hilfreicher Assistent")
result = Runner.run_sync(agent, "Schreibe ein Haiku über Rekursion in der Programmierung.")
print(result.final_output)
Verfahren::
- Erstellen Sie eine Intelligenz, legen Sie den Namen und die Anweisungen fest.
- Kosten oder Aufwand
Läufer.run_sync
Synchronisieren Sie den Lauf und geben Sie die Aufgabenanforderungen ein. - Wenn Sie es ausführen, erhalten Sie eine Ausgabe wie "Code im Code, Funktion ruft sich selbst auf, Tanz in der Endlosschleife".
2. das Aktivieren des Aufgabenwechsels
Die Aufgabenumschaltung ist eine Funktion des SDK, die es mehreren Intelligenzen ermöglicht, zusammenzuarbeiten. Zum Beispiel bei der Bearbeitung mehrsprachiger Anfragen:
from agents import Agent, Läufer
import asyncio
spanish_agent = Agent(name="Spanischer Agent", instructions="Sie müssen nur sprechen Spanisch.")
english_agent = Agent(name="English agent", instructions="Sie sprechen nur Englisch.")
triage_agent = Agent(
name="Triage agent", instructions="Weiterleitung an den entsprechenden Agenten aufgrund der Sprache.
name="Triage agent", instructions="Weiterleitung an den entsprechenden Agenten je nach Sprache der Anfrage.", handoffs=[spanish_agent], instructions="Sie sprechen nur Englisch.")
instructions="Weiterleitung an den entsprechenden Agenten auf der Grundlage der Sprache der Anfrage.", handoffs=[spanish_agent, english_agent],)
)
async def main(): result = await Runner.run()
result = await Runner.run(triage_agent, input="Hola, ¿cómo estás?")
print(result.final_output)
if __name__ == "__main__".
asyncio.run(main())
Verfahren::
- Definieren Sie mehrere Intelligenzen, jede mit spezifischen Anweisungen.
- Die Erstellung der primären Intelligenz (
triage_agent
), und geben Sie schaltbare Intelligenzen an. - Kosten oder Aufwand
Läufer.laufen
Asynchrone Ausführung und Eingabe spanischer Ausgaben. - Der intelligente Hauptkörper wird je nach Sprache umgeschaltet
spanisch_agent
und antwortet etwa: "¡Hola! Estoy bien, gracias por preguntar. ¿Y tú, cómo estás?"
3. benutzerdefinierte Werkzeuge hinzufügen
Sie können die Funktion_Werkzeug
Definieren Sie Werkzeuge, mit denen Intelligenzen externe Funktionen aufrufen können. Zum Beispiel, um das Wetter zu überprüfen:
from agents import Agent, Runner, function_tool
@function_tool
def get_weather(city: str) -> str:
return f"The weather in {city} is sunny."
agent = Agent(
name="Weather agent",
instructions="You are a helpful agent.",
tools=[get_weather],
)
async def main():
result = await Runner.run(agent, input="What's the weather in Tokyo?")
print(result.final_output)
if __name__ == "__main__":
asyncio.run(main())
Verfahren::
- Definieren Sie eine Funktion mit
@function_tool
Dekoration. - Hinzufügen von Werkzeugen zu einem intelligenten Körper
Werkzeuge
Parameter. - Nach dem Lauf ruft die Intelligente Gesellschaft das Tool an und gibt zurück: "Das Wetter in Tokio ist sonnig".
4. die Verwendung von Runtracking
Das SDK verfügt über eine eingebaute Tracking-Funktion, die bei jedem Lauf Details zu den Aktionen des Smartbodys aufzeichnet. Sie können mehr über den Betrieb des Smartbodys herausfinden, indem Sie die Ergebnis
Objekte zur Anzeige laufender Prozesse oder zur Integration mit externen Tools (z. B. Logfire) zur Analyse. Funktioniert standardmäßig und ohne zusätzliche Einstellungen.
5. die Einrichtung der Sicherheitsauthentifizierung
Die Sicherheitsvalidierung (Guardrails) kann Eingaben und Ausgaben überprüfen. So kann z. B. verhindert werden, dass ein Benutzer einen intelligenten Körper Mathe-Hausaufgaben machen lässt:
from agents import Agent, Läufer, input_guardrail
from pydantic import BaseModel
class MathCheck(BaseModel).
is_math_homework: bool
Begründung: str
guardrail_agent = Agent(
name="Leitplankenprüfung",
instructions="Prüfen Sie, ob der Benutzer Sie bittet, seine Mathe-Hausaufgaben zu erledigen.",
output_type=MathCheck.
)
@input_guardrail
async def math_guardrail(ctx, agent, input): result = await Runner.run(runner.check, )
result = await Runner.run(guardrail_agent, input)
return GuardrailFunctionOutput(
output_info=result.final_output,
tripwire_triggered=result.final_output.is_math_homework, )
)
agent = Agent(
name="Support-Agent",
instructions="Helfen Sie Kunden bei ihren Fragen.",
input_guardrails=[math_guardrail], )
)
async def main():: async def
async def main(): try.
await Runner.run(agent, "Kannst du 2x + 3 = 11 lösen?")
except Exception as e: print("Guardrail stoppte die
print("Guardrail hat die Anfrage gestoppt")
Verfahren::
- Definieren Sie eine Guard-Intelligenz, die die Eingabe überprüft.
- Kosten oder Aufwand
@input_guardrail
Erstellen Sie Guard-Funktionen. - Fügen Sie die Wachen zur Hauptintelligenz hinzu. Der Lauf wird unterbrochen, wenn es sich bei der Eingabe um eine mathematische Aufgabe handelt.
Details zum Betriebsablauf
- intelligenter Kreislauf: Anruf
Runner.run()
Wenn Sie dies tun, führt das SDK die folgenden Schritte durch:- Rufen Sie das Sprachmodell auf, um eine Antwort zu erzeugen.
- Prüfen Sie auf Werkzeugaufrufe oder Aufgabenwechsel.
- Führen Sie den Werkzeugaufruf aus und protokollieren Sie die Ergebnisse.
- Wenn es einen Aufgabenwechsel gibt, springen Sie zu dem neuen intelligenten Körper.
- Schleife, bis die endgültige Ausgabe erzeugt ist oder bis die
max_umdrehungen
Kappe.
- Art der Ausgabe: Wenn Sie die Einstellung
ausgabe_art
wird die Intelligenz eine strukturierte Ausgabe des angegebenen Typs erzeugen; andernfalls ist die Antwort auf den ersten werkzeuglosen Aufruf oder Schalter die endgültige Ausgabe.
Empfehlungen für die Verwendung
- Komponenten während der Prüfung anpassenMit der Nachverfolgungsfunktion können Sie jeden Schritt im Detail verfolgen, um Probleme schnell zu lokalisieren.
- Optimierung: Einrichtung nach den Bedürfnissen der Mission
max_umdrehungen
und vermeiden Sie zu viel Radfahren. - Erweiterungen: Verweis auf amtliche
Beispiele
um weitere Verwendungsmöglichkeiten zu erkunden.
Offizielle Dokumentation: https://openai.github.io/openai-agents-python/