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örperanpassungSprachmodelle: Legen Sie Befehle, Werkzeuge und Einschränkungen für Sprachmodelle fest, 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
Einbauverfahren
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:
source 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='你的密钥'
Oder laden Sie ihn im Code über Umgebungsvariablen. 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 Runner
Klasse.Agent
um das Verhalten der Intelligenzen zu definieren.Runner
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, Runner
agent = Agent(name="Assistant", instructions="You are a helpful assistant")
result = Runner.run_sync(agent, "Write a haiku about recursion in programming.")
print(result.final_output)
Verfahren::
- Erstellen Sie eine Intelligenz, legen Sie den Namen und die Anweisungen fest.
- Kosten oder Aufwand
Runner.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, Runner
import asyncio
spanish_agent = Agent(name="Spanish agent", instructions="You only speak Spanish.")
english_agent = Agent(name="English agent", instructions="You only speak English.")
triage_agent = Agent(
name="Triage agent",
instructions="Handoff to the appropriate agent based on the language of the request.",
handoffs=[spanish_agent, english_agent],
)
async def main():
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
Runner.run
Asynchrone Ausführung und Eingabe spanischer Ausgaben. - Der intelligente Hauptkörper wird je nach Sprache umgeschaltet
spanish_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 function_tool
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
tools
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 result
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, Runner, input_guardrail
from pydantic import BaseModel
class MathCheck(BaseModel):
is_math_homework: bool
reasoning: str
guardrail_agent = Agent(
name="Guardrail check",
instructions="Check if the user is asking you to do their math homework.",
output_type=MathCheck,
)
@input_guardrail
async def math_guardrail(ctx, agent, input):
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="Help customers with their questions.",
input_guardrails=[math_guardrail],
)
async def main():
try:
await Runner.run(agent, "Can you solve 2x + 3 = 11?")
except Exception as e:
print("Guardrail stopped the request")
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
- intelligente Zirkulation: 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 Smart Body.
- Schleife, bis die endgültige Ausgabe erzeugt ist oder bis die
max_turns
Kappe.
- Art der Ausgabe: Wenn Sie die Einstellung
output_type
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_turns
und vermeiden Sie zu viel Radfahren. - Erweiterungen: Verweis auf amtliche
examples
um weitere Verwendungsmöglichkeiten zu erkunden.
Offizielle Dokumentation: https://openai.github.io/openai-agents-python/