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.
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"}]
)
Catatan
Dengan Azure OpenAI model , parameter memerlukan nama penyebaran model. Jika nama penyebaran model Anda berbeda dari nama model yang mendasar maka Anda akan menyesuaikan kode Anda dengan "model": "{your-custom-model-deployment-name}".
curl https://YOUR_RESOURCE_NAME.openai.azure.com/openai/assistants?api-version=2024-05-01-preview \
-H "api-key: $AZURE_OPENAI_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
"instructions": "You are an AI assistant that can write code to help answer math questions.",
"tools": [
{ "type": "code_interpreter" }
],
"model": "gpt-4-1106-preview"
}'
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]}}
)
# Upload a file with an "assistants" purpose
curl https://YOUR_RESOURCE_NAME.openai.azure.com/openai/files?api-version=2024-08-01-preview \
-H "api-key: $AZURE_OPENAI_API_KEY" \
-F purpose="assistants" \
-F file="@c:\\path_to_file\\file.csv"
# Create an assistant using the file ID
curl https://YOUR_RESOURCE_NAME.openai.azure.com/openai/assistants?api-version=2024-08-01-preview \
-H "api-key: $AZURE_OPENAI_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
"instructions": "You are an AI assistant that can write code to help answer math questions.",
"tools": [
{ "type": "code_interpreter" }
],
"model": "gpt-4-1106-preview",
"tool_resources"{
"code interpreter": {
"file_ids": ["assistant-1234"]
}
}
}'
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"
}
]
)
curl https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/<YOUR-THREAD-ID>/messages?api-version=2024-05-01-preview \
-H "api-key: $AZURE_OPENAI_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
"role": "user",
"content": "I need to solve the equation `3x + 11 = 14`. Can you help me?",
"file_ids": ["asssistant-123abc456"]
}'
Mengunduh file yang dihasilkan oleh Penerjemah Kode
File yang dihasilkan oleh Penerjemah Kode dapat ditemukan di respons pesan Asisten