Het hulpprogramma code_interpreter gebruiken
Het hulpprogramma code_interpreter biedt uw model een Python-runtime waarin Python-code kan worden gegenereerd en uitgevoerd.
Wat is het hulpprogramma code_interpreter?
Met het hulpprogramma code_interpreter kunnen generatieve AI-modellen dynamisch Python-code schrijven en uitvoeren tijdens een gesprek. In plaats van alleen code of algoritmen te bespreken, kan het model de logica testen, gegevens verwerken en werkelijke resultaten van code retourneren. Hiermee transformeert u het model van een denker in een doer.
Belangrijke functies zijn onder andere:
- Dynamische Uitvoering van Python: het model schrijft python-code en voert deze uit in een sandbox-omgeving
- Bestandsafhandeling: bestanden uploaden, verwerken en downloaden (CSV, JSON, afbeeldingen, enzovoort)
- Gegevensanalyse: berekeningen, statistische analyse en gegevenstransformaties uitvoeren
- Realtime feedback: het model ziet resultaten van de uitvoering van code en kan fouten herhalen of oplossen
- Complexe probleemoplossing: Wiskundige problemen, simulaties en logische puzzels aanpakken via uitvoerbare code
Veelvoorkomende gebruiksvoorbeelden
| Gebruikssituatie | Voorbeeld |
|---|---|
| Gegevensanalyse | Een CSV-bestand parseren en samenvattingsstatistieken genereren |
| Wiskunde en natuurkunde | Differentiële vergelijkingen oplossen of fysicascenario's simuleren |
| Bestandsconversie | Converteren tussen gegevensindelingen (JSON ↔ CSV, enzovoort) |
| Prototyping | Algoritmen en ideeën testen vóór formele implementatie |
Een eenvoudig voorbeeld
U kunt als volgt code_interpreter gebruiken met de OpenAI-antwoorden-API:
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)
De uitvoer van deze code ziet er ongeveer als volgt uit:
The square root of 16 is 4.
Belangrijker is dat het controleren van de details van het antwoordobject dat door het model wordt geretourneerd, aangeeft dat het resultaat is berekend en geretourneerd aan het model met behulp van dynamisch gegenereerde Python-code als volgt:
import math
# Calculate the square root of 16
square_root = math.sqrt(16)
square_root
Hoe het hulpprogramma code_interpreter werkt
Het algemene proces voor het gebruik van het hulpprogramma code_interpreter is:
- U verzendt een aanvraag: neem code_interpreter op in uw hulpprogrammamatrix.
- Het model analyseert de taak: Het model bepaalt of code-uitvoering nodig is.
- Model genereert code: Het model schrijft Python-code om de taak uit te voeren.
- Codeuitvoeringen: De code wordt uitgevoerd in een omgeving in een sandbox met toegang tot algemene bibliotheken (bijvoorbeeld pandas, numpy en wiskunde).
- Geretourneerde resultaten: het model ontvangt de uitvoer en neemt deze op in het antwoord.
Beste praktijken
- Wees specifiek: Beschrijf de gegevensindeling en verwachte uitvoer duidelijk. Veel modellen gebruiken intern de naam python-hulpprogramma om het hulpprogramma code_interpreter te identificeren - dus gebruik deze benaming in uw instructies.
- Context opgeven: Relevante domeinkennis opnemen in uw prompts
- Resultaten valideren: altijd ai-gegenereerde code controleren op juistheid voordat u in productie gaat
- Kosten bewaken: codeuitvoering voegt tokens toe; complexe bewerkingen kunnen meer resources gebruiken
- Gebruikmaken van bibliotheken: veelgebruikte pakketten zoals pandas, numpy en matplotlib zijn vooraf geïnstalleerd
- Foutafhandeling: het model kan fouten zien en probeert deze automatisch op te lossen
Beperkingen die u moet weten over
- Uitvoeringen worden uitgevoerd in een sandbox-omgeving zonder externe netwerktoegang
- Sommige bibliotheken zijn mogelijk niet beschikbaar; laat het model weten als een standaardbibliotheek mislukt
- Time-outlimieten zijn van toepassing op langlopende bewerkingen
- Codeuitvoeringen met geheugenbeperkingen: grote gegevenssets hebben mogelijk streaming of segmentering nodig