Megosztás a következőn keresztül:


Azure OpenAI Assistants kódértelmező (előzetes verzió)

A Kódértelmező lehetővé teszi, hogy az Assistants API Python-kódot írjon és futtasson tesztkörnyezetben. Ha engedélyezve van a Kódértelmeztető, az asszisztens képes a kód iteratív futtatására a nagyobb kihívást jelentő kód-, matematikai és adatelemzési problémák megoldásához. Ha az Asszisztens nem futtatható kódot ír, a kódon iterálhat úgy, hogy módosítja és futtatja a különböző kódot, amíg a kód végrehajtása sikeres nem lesz.

Fontos

A Kódértelmező az Azure OpenAI-használat jogkivonatalapú díján túl további díjakkal is rendelkezik. Ha az asszisztens egyszerre két különböző szálon hívja meg a Kódértelmeztetőt, két kódértelmeztető munkamenet jön létre. Minden munkamenet alapértelmezés szerint egy órán keresztül aktív.

Feljegyzés

  • A fájlkeresés asszisztensenként akár 10 000 fájlt is betölthet – 500-szor több, mint korábban. Gyors, többszálas keresésekkel támogatja a párhuzamos lekérdezéseket, és továbbfejlesztett újraírást és lekérdezés-újraírást is kínál.
    • A vektortároló egy új objektum az API-ban. Miután hozzáadtak egy fájlt egy vektortárolóhoz, a rendszer automatikusan elemzi, darabolja és beágyazja, és készen áll a keresésre. A vektortárolók asszisztensek és szálak között is használhatók, így egyszerűbbé teheti a fájlkezelést és a számlázást.
  • Hozzáadtuk a tool_choice paraméter támogatását, amely egy adott eszköz (például fájlkeresés, kódértelmező vagy függvény) egy adott futtatáshoz való kényszerítésére használható.

Kódértelmező támogatása

Támogatott modellek

A modellek lap a legfrissebb információkat tartalmazza azokról a régiókról/modellekről, ahol az asszisztensek és a kódértelmezők támogatottak.

Javasoljuk, hogy a legújabb modellekkel rendelkező asszisztenseket használja az új funkciók, valamint a nagyobb környezetablakok és a naprakészebb betanítási adatok kihasználásához.

API-verziók

  • 2024-02-15-preview
  • 2024-05-01-preview

Támogatott fájltípusok

Fájlformátum MIME-típus
c. szöveg/x-c
.Cpp szöveg/x-c++
.Csv alkalmazás/csv
.docx application/vnd.openxmlformats-officedocument.wordprocessingml.document
.html szöveg/html
.java text/x-java
.Json application/json
.md szöveg/markdown
.pdf alkalmazás/pdf
.Php text/x-php
.pptx application/vnd.openxmlformats-officedocument.presentationml.presentation
.py szöveg/x-python
.py text/x-script.python
.rb szöveg/x-ruby
.Tex szöveg/x-tex
.txt text/plain
.Css szöveg/css
.jpeg kép/jpeg
.jpg kép/jpeg
.js text/javascript
.gif kép/gif
.png kép/png
.Tar alkalmazás/x-tar
.Ts application/typescript
.xlsx application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
.xml application/xml vagy "text/xml"
.zip alkalmazás/zip

Fájlfeltöltési API-referencia

Az asszisztensek ugyanazt az API-t használják a fájlfeltöltéshez, mint a finomhangolást. Fájl feltöltésekor meg kell adnia a célparaméter megfelelő értékét.

Kódértelmező engedélyezése

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

Fájl feltöltése a Kódértelmezőhöz

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"}],
  file_ids=[file.id]
)

Fájl továbbítása egy adott szálra

Amellett, hogy a fájlokat akadálymentessé teszi az Asszisztensek szintjén, átadhatja a fájlokat, hogy csak egy adott szálhoz legyenek elérhetők.

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

A Code Interpret által létrehozott fájlok letöltése

A Kódértelmező által létrehozott fájlok az Asszisztens üzenetválaszaiban találhatók

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

Ezeket a létrehozott fájlokat úgy töltheti le, hogy átadja a fájlokat a files API-nak:

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)

Lásd még