Interprete del codice degli assistenti OpenAI di Azure (anteprima)
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 riesce a essere eseguito, può eseguire l'iterazione su questo codice modificando ed eseguendo codice diverso fino a quando l'esecuzione del codice non riesce.
Importante
L'interprete del codice prevede addebiti aggiuntivi oltre i 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 un'ora.
Nota
- La ricerca di file può inserire fino a 10.000 file per assistente- 500 volte più di prima. È veloce, supporta query parallele tramite ricerche multithread e funzionalità avanzate di reranking e riscrittura delle query.
- L'archivio vettoriale è un nuovo oggetto nell'API. Dopo l'aggiunta di un file a un archivio vettoriale, l'analisi viene eseguita automaticamente, in blocchi e incorporati, pronta per la ricerca. Gli archivi vettoriali possono essere usati tra assistenti e thread, semplificando la gestione e la fatturazione dei file.
- È stato aggiunto il supporto per il
tool_choice
parametro che può essere usato per forzare l'uso di uno strumento specifico (ad esempio la ricerca di file, l'interprete di codice o una funzione) in una determinata esecuzione.
Supporto dell'interprete del codice
Modelli supportati
La pagina dei modelli contiene le informazioni più aggiornate sulle aree/modelli in cui sono supportati assistenti e interpreti di codice.
È consigliabile usare gli assistenti con i modelli più recenti per sfruttare le nuove funzionalità, nonché le finestre di contesto più grandi e i dati di training più aggiornati.
Versioni API
2024-02-15-preview
2024-05-01-preview
Tipi di file supportati
File format | 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 |
applicazione/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 | 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"}],
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)
Vedi anche
- Informazioni di riferimento sulle API di caricamento file
- Informazioni di riferimento sulle API Assistants
- Per altre informazioni su come usare gli assistenti, vedere la guida pratica sugli assistenti.
- Esempi di API degli assistenti OpenAI di Azure