Azure OpenAI Assistants Code Interpreter (Vorschau) (klassisch)

Gilt nur für:Foundry (klassisches) Portal. Dieser Artikel ist für das neue Foundry-Portal nicht verfügbar. Erfahren Sie mehr über das neue Portal.

Hinweis

Links in diesem Artikel können Inhalte in der neuen Microsoft Foundry-Dokumentation anstelle der jetzt angezeigten Foundry-Dokumentation (klassisch) öffnen.

Hinweis

Die Assistenten-API wird eingestellt. Nutzen Sie den allgemein verfügbaren Service Microsoft Foundry Agents. Informationen zum Aktualisieren Ihrer Workloads finden Sie im Migrationshandbuch. Weitere Informationen.

Der Codedolmetscher ermöglicht es der Assistenten-API, Python Code in einer Sandkastenausführungsumgebung zu schreiben und auszuführen. Mit aktivierter Codedolmetscher kann Ihr Assistent Code iterativ ausführen, um anspruchsvollere Code-, Mathematische und Datenanalyseprobleme zu lösen. Wenn Ihr Assistent Code schreibt, der nicht ausgeführt werden kann, kann er diesen Code durchlaufen, indem er anderen Code ändert und ausführt, bis die Codeausführung erfolgreich ist.

Wichtig

Code Interpreter verfügt über zusätzliche Gebühren zusätzlich zu den tokenbasierten Gebühren für die Nutzung von Azure OpenAI. Wenn Ihr Assistent den Code-Interpreter gleichzeitig in zwei verschiedenen Threads aufruft, werden zwei Code-Interpreter-Sitzungen erstellt. Jede Sitzung ist standardmäßig für 1 Stunde mit einem Leerlauftimeout von 30 Minuten aktiv.

Unterstützung von Codedolmetschern

Unterstützte Modelle

Die Modellseite enthält die aktuellsten Informationen zu Regionen/Modellen, in denen Assistenten und Code-Interpreter unterstützt werden.

Es wird empfohlen, Assistenten mit den neuesten Modellen zu verwenden, um die neuen Features, größere Kontextfenster und mehr up-to-Date-Schulungsdaten zu nutzen.

API-Versionen

  • Beginnen mit 2024-02-15-preview

Unterstützte Dateitypen

Dateiformat MIME-Typ
.c text/x-c
.cpp text/x-c++
.csv application/csv
.docx application/vnd.openxmlformats-officedocument.wordprocessingml.document
.html text/html
.java text/x-java
.json application/json
.md Text/Markdown
.pdf anwendung/pdf
.php text/x-php
.pptx application/vnd.openxmlformats-officedocument.presentationml.presentation
.Py text/x-python
.Py text/x-script.python
.rb text/x-ruby
.tex text/x-tex
.txt text/plain
.css text/css
.jpeg image/jpeg
.jpg image/jpeg
.js text/javascript
.gif Bild/GIF
.png Bild/PNG
.tar application/x-tar
.ts application/typescript
.xlsx application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
.xml application/xml oder "text/xml"
.zip application/zip

API-Referenz zum Hochladen von Dateien

Assistenten verwenden dieselbe API für den Dateiupload als Feinabstimmung. Beim Hochladen einer Datei müssen Sie einen geeigneten Wert für den Zweckparameter angeben.

Aktivieren des Codedolmetschers

from openai import AzureOpenAI
    
client = AzureOpenAI(
    api_key=os.getenv("AZURE_OPENAI_API_KEY"),  
    api_version="2024-05-01-preview",
    azure_endpoint = os.getenv("AZURE_OPENAI_ENDPOINT")
    )

assistant = client.beta.assistants.create(
  instructions="You are an AI assistant that can write code to help answer math questions",
  model="<REPLACE WITH MODEL DEPLOYMENT NAME>", # replace with model deployment name. 
  tools=[{"type": "code_interpreter"}]
)

Datei für Codedolmetscher hochladen

from openai import AzureOpenAI
    
client = AzureOpenAI(
    api_key=os.getenv("AZURE_OPENAI_API_KEY"),  
    api_version="2024-05-01-preview",
    azure_endpoint = os.getenv("AZURE_OPENAI_ENDPOINT")
    )

# Upload a file with an "assistants" purpose
file = client.files.create(
  file=open("speech.py", "rb"),
  purpose='assistants'
)

# Create an assistant using the file ID
assistant = client.beta.assistants.create(
  instructions="You are an AI assistant that can write code to help answer math questions.",
  model="gpt-4-1106-preview",
  tools=[{"type": "code_interpreter"}],
  tool_resources={"code_interpreter":{"file_ids":[file.id]}}
)

Übergeben einer Datei an einen einzelnen Thread

Zusätzlich zur Bereitstellung von Dateien auf der Ebene der Assistenten können Sie Dateien übergeben, sodass sie nur für einen bestimmten Thread zugänglich sind.

from openai import AzureOpenAI
    
client = AzureOpenAI(
    api_key=os.getenv("AZURE_OPENAI_API_KEY"),  
    api_version="2024-05-01-preview",
    azure_endpoint = os.getenv("AZURE_OPENAI_ENDPOINT")
    )

thread = client.beta.threads.create(
  messages=[
    {
      "role": "user",
      "content": "I need to solve the equation `3x + 11 = 14`. Can you help me?",
      "file_ids": ["file.id"] # file id will look like: "assistant-R9uhPxvRKGH3m0x5zBOhMjd2" 
    }
  ]
)

Von Code Interpreter generierte Dateien herunterladen

Dateien, die vom Codedolmetscher generiert werden, finden Sie in den Antworten des Assistenten für Nachrichten

 {
      "id": "msg_oJbUanImBRpRran5HSa4Duy4",
      "assistant_id": "asst_eHwhP4Xnad0bZdJrjHO2hfB4",
      "content": [
        {
          "image_file": {
            "file_id": "assistant-1YGVTvNzc2JXajI5JU9F0HMD"
          },
          "type": "image_file"
        },
        # ...
 }

Sie können diese generierten Dateien herunterladen, indem Sie die Dateien an die Datei-API übergeben:

from openai import AzureOpenAI
    
client = AzureOpenAI(
    api_key=os.getenv("AZURE_OPENAI_API_KEY"),  
    api_version="2024-05-01-preview",
    azure_endpoint = os.getenv("AZURE_OPENAI_ENDPOINT")
    )

image_data = client.files.content("assistant-abc123")
image_data_bytes = image_data.read()

with open("./my-image.png", "wb") as file:
    file.write(image_data_bytes)

Siehe auch