Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Si applica solo a:Portale di Foundry (versione classica). Questo articolo non è disponibile per il nuovo portale foundry.
Altre informazioni sul nuovo portale.
Nota
I collegamenti in questo articolo potrebbero aprire contenuto nella nuova documentazione di Microsoft Foundry anziché nella documentazione di Foundry (versione classica) visualizzata.
Nota
L'API degli Assistenti è obsoleta e sarà ritirata il 26 agosto 2026. Utilizza il servizio generalmente disponibile Microsoft Foundry Agents. Segui la guida alla migrazione per aggiornare i tuoi carichi di lavoro. Altre informazioni.
L'interprete del codice consente all'API Assistants di scrivere ed eseguire codice Python in un ambiente di esecuzione in modalità sandbox. Con l'interprete del codice abilitato, l'Assistente può eseguire il codice in modo iterativo per risolvere problemi di codice, matematica e analisi dei dati più complessi. Quando l'Assistente scrive codice che non viene eseguito correttamente, può iterare su questo codice modificandolo ed eseguendo codice diverso fino a quando l'esecuzione del codice riesce.
Importante
L'interprete di codice comporta costi aggiuntivi oltre ai costi basati su token per l'utilizzo di Azure OpenAI. Se l'Assistente chiama l'interprete del codice contemporaneamente in due thread diversi, vengono create due sessioni dell'interprete di codice. Ogni sessione è attiva per impostazione predefinita per 1 ora con un timeout di inattività di 30 minuti.
Supporto dell'interprete del codice
Modelli supportati
La pagina dei modelli contiene le informazioni più up-to-date su aree/modelli in cui sono supportati assistenti e interpreti di codice.
È consigliabile utilizzare gli assistenti con i modelli più recenti per sfruttare le nuove funzionalità, le finestre di contesto più grandi e i dati di formazione più aggiornati.
Versioni API
- A partire da
2024-02-15-preview
Tipi di file supportati
| Formato file | Tipo MIME |
|---|---|
| .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 |
| application/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 | testo semplice |
| .css | text/css |
| .jpeg | image/jpeg |
| .jpg | image/jpeg |
| .js | text/javascript |
| .gif | image/gif |
| .png | image/png |
| .tar | application/x-tar |
| .ts | application/typescript |
| .xlsx | application/vnd.openxmlformats-officedocument.spreadsheetml.sheet |
| .xml | application/xml o "text/xml" |
| .zip | application/zip |
Informazioni di riferimento sulle API per il caricamento di file
Gli assistenti usano la stessa API per il caricamento di file come ottimizzazione. Quando si carica un file, è necessario specificare un valore appropriato per il parametro scopo.
Abilitare l'interprete del codice
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"}]
)
Caricare il file per l'interprete del codice
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]}}
)
Passare un file a un singolo thread
Oltre a rendere i file accessibili a livello di Assistenti, è possibile passare i file in modo che siano accessibili solo a un thread specifico.
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"
}
]
)
Scaricare i file generati dall'interprete del codice
I file generati dall'interprete del codice sono disponibili nelle risposte ai messaggi dell'Assistente
{
"id": "msg_oJbUanImBRpRran5HSa4Duy4",
"assistant_id": "asst_eHwhP4Xnad0bZdJrjHO2hfB4",
"content": [
{
"image_file": {
"file_id": "assistant-1YGVTvNzc2JXajI5JU9F0HMD"
},
"type": "image_file"
},
# ...
}
È possibile scaricare questi file generati passando i file all'API dei 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)
Vedere anche
- Informazioni di riferimento sulle API di caricamento file
- Informazioni di riferimento sull'API Assistenti
- Altre informazioni su come usare assistenti con la guida pratica sugli assistenti.
- esempi di API Azure OpenAI Assistants