Korzystanie z narzędzia code_interpreter
Wskazówka
Aby uzyskać więcej szczegółów, zobacz kartę Tekst i obrazy .
Narzędzie code_interpreter udostępnia model ze środowiskiem uruchomieniowym języka Python, w którym może generować i uruchamiać kod języka Python.
Co to jest narzędzie code_interpreter?
Narzędzie code_interpreter umożliwia generowanie modeli sztucznej inteligencji do dynamicznego pisania i uruchamiania kodu w języku Python podczas konwersacji. Zamiast omawiać kod lub algorytmy, model może testować jego logikę, przetwarzać dane i zwracać rzeczywiste wyniki z kodu. Przekształca to model z myśliciela w wykonawcę.
Najważniejsze funkcje obejmują:
- Dynamiczne wykonywanie języka Python: model zapisuje i uruchamia kod języka Python w środowisku piaskownicy
- Obsługa plików: przekazywanie, przetwarzanie i pobieranie plików (CSV, JSON, obrazy itd.)
- Analiza danych: wykonywanie obliczeń, analizy statystycznej i przekształceń danych na bieżąco
- Opinie w czasie rzeczywistym: model widzi wyniki wykonywania kodu i może iterować lub naprawiać błędy
- Złożone rozwiązywanie problemów: Rozwiązywanie problemów matematycznych, symulacji i logiki za pomocą kodu wykonywalnego
Typowe przypadki użycia
| Przypadek użycia | Przykład |
|---|---|
| Analiza danych | Analizowanie pliku CSV i generowanie statystyk podsumowania |
| Matematyka i fizyka | Rozwiązywanie równań różnicowych lub symulowanie scenariuszy fizyki |
| Konwersja pliku | Konwertowanie między formatami danych (csv JSON ↔ itd.) |
| Prototypowanie | Testowanie algorytmów i pomysłów przed formalną implementacją |
Prosty przykład
Oto jak używać interpretera kodu z API odpowiedzi OpenAI:
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)
Dane wyjściowe z tego kodu są podobne do następujących:
The square root of 16 is 4.
Co ważniejsze, sprawdzenie szczegółów obiektu odpowiedzi zwróconego przez model pokazuje, że wynik został obliczony i zwrócony do modelu przy użyciu dynamicznie wygenerowanego kodu w języku Python w następujący sposób:
import math
# Calculate the square root of 16
square_root = math.sqrt(16)
square_root
Jak działa narzędzie code_interpreter
Ogólny proces korzystania z narzędzia code_interpreter to:
- Wysyłasz żądanie: dołącz code_interpreter do tablicy narzędzi.
- Model analizuje zadanie: model określa, czy wykonanie kodu jest potrzebne.
- Model generuje kod: model zapisuje kod w języku Python w celu wykonania zadania.
- Działanie kodu: kod działa w środowisku piaskownicy z dostępem do wspólnych bibliotek (na przykład pandas, numpy i math).
- Zwrócone wyniki: model odbiera dane wyjściowe i dołącza je do odpowiedzi.
Najlepsze rozwiązania
- Określ konkretny format danych i oczekiwane dane wyjściowe wyraźnie. Wiele modeli wewnętrznie używa nazwy narzędzie python do identyfikowania narzędzia code_interpreter, więc używaj tego określenia w swoich instrukcjach.
- Podaj kontekst: dołącz odpowiednią wiedzę o domenie w monitach
- Sprawdzanie poprawności wyników: zawsze przejrzyj kod wygenerowany przez sztuczną inteligencję, aby uzyskać poprawność przed użyciem w środowisku produkcyjnym
- Monitorowanie kosztów: wykonywanie kodu dodaje tokeny; złożone operacje mogą korzystać z większej liczby zasobów
- Korzystanie z bibliotek: wstępnie zainstalowane są typowe pakiety, takie jak pandas, numpy i matplotlib
- Obsługa błędów: model może zobaczyć błędy i podejmie próbę ich automatycznego naprawienia
Ograniczenia, o których warto wiedzieć
- Procesy są uruchamiane w środowisku piaskownicy bez dostępu do sieci zewnętrznej
- Niektóre biblioteki mogą być niedostępne; poinformuj model, czy biblioteka standardowa zakończy się niepowodzeniem
- Limity czasu mają zastosowanie do długotrwałych operacji
- Kod działa z ograniczeniami pamięci — ogromne zestawy danych mogą wymagać przesyłania strumieniowego lub podziału na części