Dela via


Kodtolkare för Azure OpenAI-assistenter (förhandsversion)

Anmärkning

Azure AI Foundry Agent Service är nu allmänt tillgänglig, vilket ger fler verktyg och bättre företagsfunktioner. Vi rekommenderar att du använder den nya tjänsten för de senaste funktionsuppdateringarna och förbättringarna.

Med kodtolkaren kan assistent-API:et skriva och köra Python-kod i en miljö med begränsat läge. När kodtolkaren är aktiverad kan assistenten köra kod iterativt för att lösa mer utmanande problem med kod-, matematik- och dataanalys. När assistenten skriver kod som inte kan köras kan den iterera på den här koden genom att ändra och köra annan kod tills kodkörningen lyckas.

Viktigt!

Kodtolken har ytterligare avgifter utöver de tokenbaserade avgifterna för Azure OpenAI-användning. Om assistenten anropar kodtolkaren samtidigt i två olika trådar skapas två kodtolkarsessioner. Varje session är aktiv som standard i 1 timme med en timeout på 30 minuter.

Stöd för kodtolkare

Modeller som stöds

Sidan modeller innehåller den senaste informationen om regioner/modeller där assistenter och kodtolkare stöds.

Vi rekommenderar att du använder assistenter med de senaste modellerna för att dra nytta av de nya funktionerna, större kontextfönster och mer aktuella träningsdata.

API-versioner

  • Börjar i 2024-02-15-preview

Filtyper som stöds

Filformat 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 program/pdf
.php text/x-php
.pptx application/vnd.openxmlformats-officedocument.presentationml.presentation (filformat för presentationer)
.Py text/x-python
.Py text/x-script.python
.rb text/x-ruby
.tex text/x-tex
.txt text/oformaterad
.Css text/css
.jpeg bild/jpeg
.jpg bild/jpeg
.js text/javascript
.gif bild/gif
.png bild/png
.tar application/x-tar
.Ts application/typescript
.xlsx application/vnd.openxmlformats-officedocument.spreadsheetml.sheet (Excel-kalkylblad)
.xml application/xml eller "text/xml"
.zip program/zip

Api-referens för filuppladdning

Assistenter använder samma API för filuppladdning som finjustering. När du laddar upp en fil måste du ange ett lämpligt värde för parametern purpose.

Aktivera kodtolkare

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"}]
)

Ladda upp fil för kodtolkare

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]}}
)

Skicka filen till en enskild tråd

Förutom att göra filer tillgängliga på assistentnivå kan du skicka filer så att de endast är tillgängliga för en viss tråd.

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" 
    }
  ]
)

Ladda ned filer som genereras av kodtolkare

Filer som genereras av kodtolkaren finns i assistentens meddelandesvar

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

Du kan ladda ned dessa genererade filer genom att skicka filerna till fil-API:et:

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)

Se även