Korzystanie z narzędzia code_interpreter

Ukończone

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:

  1. Wysyłasz żądanie: dołącz code_interpreter do tablicy narzędzi.
  2. Model analizuje zadanie: model określa, czy wykonanie kodu jest potrzebne.
  3. Model generuje kod: model zapisuje kod w języku Python w celu wykonania zadania.
  4. Działanie kodu: kod działa w środowisku piaskownicy z dostępem do wspólnych bibliotek (na przykład pandas, numpy i math).
  5. 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