Bagikan melalui


Penerjemah Kode Asisten Azure OpenAI (Pratinjau)

Penerjemah Kode memungkinkan Assistants API untuk menulis dan menjalankan kode Python di lingkungan eksekusi terkotakpasir. Dengan Penerjemah Kode diaktifkan, Asisten Anda dapat menjalankan kode secara berulang untuk menyelesaikan masalah kode, matematika, dan analisis data yang lebih menantang. Saat Asisten Anda menulis kode yang gagal dijalankan, Asisten dapat melakukan iterasi pada kode ini dengan memodifikasi dan menjalankan kode yang berbeda hingga eksekusi kode berhasil.

Penting

Penerjemah Kode memiliki biaya tambahan di luar biaya berbasis token untuk penggunaan Azure OpenAI. Jika Asisten Anda memanggil Penerjemah Kode secara bersamaan dalam dua utas yang berbeda, dua sesi penerjemah kode dibuat. Setiap sesi aktif secara default selama satu jam.

Catatan

  • Pencarian file dapat menyerap hingga 10.000 file per asisten - 500 kali lebih banyak dari sebelumnya. Solusi ini cepat, mendukung kueri paralel melalui pencarian multi-utas, dan fitur pemeringkatan ulang dan penulisan ulang kueri yang ditingkatkan.
    • Penyimpanan vektor adalah objek baru di API. Setelah file ditambahkan ke penyimpanan vektor, file secara otomatis diurai, dipotong, dan disematkan, dibuat siap untuk dicari. Penyimpanan vektor dapat digunakan di seluruh asisten dan utas, menyederhanakan manajemen dan penagihan file.
  • Kami telah menambahkan dukungan untuk tool_choice parameter yang dapat digunakan untuk memaksa penggunaan alat tertentu (seperti pencarian file, penerjemah kode, atau fungsi) dalam eksekusi tertentu.

Dukungan penerjemah kode

Model yang didukung

Halaman model berisi informasi terbaru tentang wilayah/model di mana Asisten dan penerjemah kode didukung.

Sebaiknya gunakan asisten dengan model terbaru untuk memanfaatkan fitur baru, jendela konteks yang lebih besar, dan data pelatihan yang lebih terbaru.

Versi API

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

Jenis file yang didukung

Format file Jenis MIME
c. text/x-c
.cpp text/x-c++
.csv application/csv
.docx application/vnd.openxmlformats-officedocument.wordprocessingml.documen
.html teks/html
.java text/x-java
.json application/json
.md teks/markdown
.pdf aplikasi/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 gambar/jpeg
.jpg gambar/jpeg
.Js text/javascript
.gif gambar/gif
.png gambar/png
.ter application/x-tar
.ts application/typescript
.xlsx application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
.xml application/xml atau "text/xml"
.Zip application/zip

Referensi API unggahan file

Asisten menggunakan API yang sama untuk pengunggahan file sebagai penyempurnaan. Saat mengunggah file, Anda harus menentukan nilai yang sesuai untuk parameter tujuan.

Aktifkan Penerjemah Kode

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

Unggah file untuk Penerjemah Kode

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

Meneruskan file ke utas individual

Selain membuat file dapat diakses di tingkat Asisten, Anda dapat meneruskan file sehingga hanya dapat diakses oleh utas tertentu.

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

Mengunduh file yang dihasilkan oleh Penerjemah Kode

File yang dihasilkan oleh Penerjemah Kode dapat ditemukan di respons pesan Asisten

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

Anda dapat mengunduh file yang dihasilkan ini dengan meneruskan file ke API file:

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)

Lihat juga