Verwendung des Tools Code_Interpreter

Abgeschlossen

Das code_interpreter Tool stellt Ihr Modell mit einer Python-Laufzeit bereit, in der python-Code generiert und ausgeführt werden kann.

Was ist das code_interpreter Tool?

Das code_interpreter-Tool ermöglicht es, generative KI-Modelle während einer Unterhaltung dynamisch Python-Code zu schreiben und auszuführen. Anstatt nur Code oder Algorithmen zu diskutieren, kann das Modell seine Logik testen, Daten verarbeiten und tatsächliche Ergebnisse aus Code zurückgeben. Dadurch wird das Modell von einem Denker in einen Macher umgewandelt.

Zu den wichtigsten Features gehören:

  • Dynamische Python-Ausführung: Das Modell schreibt und führt Python-Code in einer Sandkastenumgebung aus.
  • Dateiverarbeitung: Hochladen, Verarbeiten und Herunterladen von Dateien (CSV, JSON, Bilder usw.)
  • Datenanalyse: Ausführen von Berechnungen, statistischer Analyse und Datentransformationen im Flug
  • Echtzeit-Feedback: Das Modell sieht die Ergebnisse der Codeausführung und kann Fehler iterieren oder beheben.
  • Komplexe Problemlösung: Lösen von mathematischen Problemen, Simulationen und Logischen Puzzles durch ausführbaren Code

Gängige Anwendungsfälle

Anwendungsfall Beispiel
Datenanalyse Analysieren einer CSV-Datei und Generieren von Zusammenfassungsstatistiken
Mathematik und Physik Lösen von Differenzgleichungen oder Simulieren von Physikalischen Szenarien
Dateikonvertierung Konvertieren zwischen Datenformaten (JSON-CSV ↔ usw.)
Prototyping Testen von Algorithmen und Ideen vor der formalen Implementierung

Ein einfaches Beispiel

Hier erfahren Sie, wie Sie code_interpreter mit der OpenAI-Antwort-API verwenden:

from openai import OpenAI

client = OpenAI(
    base_url={openai_endpoint},
    api_key={auth_key_or_token}
)

# Get response using the code_interpreter tool
response = client.responses.create(
    model={model_deployment},
    instructions="You are an AI assistant that provides information. Use the python tool to run code for math problems.",
    input="What is the square root of 16?",
    tools=[{"type": "code_interpreter",
            "container": {"type": "auto"}}]
)
print(response.output_text)

Die Ausgabe aus diesem Code ähnelt folgendem:

The square root of 16 is 4.

Wichtiger ist, dass das Modell die Details des Antwortobjekts untersucht, das zurückgegeben wurde, wobei das Ergebnis mit dynamisch generiertem Python-Code berechnet und wie folgt zurückgegeben wurde:

import math

# Calculate the square root of 16
square_root = math.sqrt(16)
square_root

Funktionsweise des code_interpreter Tools

Der allgemeine Prozess für die Verwendung des code_interpreter Tools lautet:

  1. Sie senden eine Anforderung: Fügen Sie code_interpreter in Ihr Toolsarray ein.
  2. Das Modell analysiert die Aufgabe: Das Modell bestimmt, ob die Codeausführung erforderlich ist.
  3. Modell generiert Code: Das Modell schreibt Python-Code, um die Aufgabe auszuführen.
  4. Code wird ausgeführt: Der Code wird in einer Sandkastenumgebung mit Zugriff auf allgemeine Bibliotheken (z. B. Pandas, Numpy und Mathematik) ausgeführt.
  5. Zurückgegebene Ergebnisse: Das Modell empfängt die Ausgabe und integriert sie in die Antwort.

Bewährte Methoden

  • Seien Sie spezifisch: Beschreiben Sie das Datenformat und die erwartete Ausgabe deutlich. Viele Modelle verwenden intern den Namen python tool, um das code_interpreter-Tool zu identifizieren. Nutzen Sie daher diese Formulierung in Ihren Anweisungen.
  • Bereitstellen von Kontext: Einbeziehen relevanter Domänenkenntnisse in Ihre Eingabeaufforderungen
  • Validieren von Ergebnissen: Überprüfen Sie KI-generierten Code immer auf Korrektheit, bevor Sie sie in der Produktion verwenden.
  • Überwachen von Kosten: Codeausführung fügt Token hinzu; Komplexe Vorgänge können mehr Ressourcen verwenden
  • Bibliotheken nutzen: Allgemeine Pakete wie pandas, numpy und matplotlib sind vorinstalliert
  • Fehlerbehandlung: Das Modell kann Fehler sehen und versucht, sie automatisch zu beheben.

Einschränkungen, die Sie kennen sollten

  • Ausführungen werden in einer Sandkastenumgebung ohne externen Netzwerkzugriff ausgeführt
  • Einige Bibliotheken sind möglicherweise nicht verfügbar; lassen Sie das Modell wissen, ob eine Standardbibliothek fehlschlägt
  • Zeitüberschreitungsgrenzwerte gelten für langlaufende Vorgänge
  • Code wird mit Speichereinschränkungen ausgeführt – massive Datasets benötigen möglicherweise Streaming oder Blöcke.