Interpréteur de code Assistants Azure OpenAI (Préversion)
L’Interpréteur de code permet à l’API Assistants d’écrire et d’exécuter du code Python dans un environnement d’exécution sandbox. Une fois l’Interpréteur de code activé, votre assistant peut exécuter du code de manière itérative pour résoudre du code, des mathématiques et des problèmes d’analyse de données plus complexes. Quand votre assistant écrit du code qui ne s’exécute pas, il peut itérer sur ce code en modifiant et en exécutant un autre code jusqu’à la réussite de l’exécution du code.
Important
L’Interpréteur de code comporte des frais supplémentaires au-delà des frais basés sur le jeton pour l’utilisation d’Azure OpenAI. Si votre assistant appelle l’Interpréteur de code simultanément dans deux threads distincts, deux sessions d’interpréteur de code sont créées. Chaque session est active pendant une heure par défaut.
Remarque
- La recherche de fichiers peut ingérer jusqu’à 10 000 fichiers par assistant, soit 500 fois plus qu’auparavant. Elle est rapide, prend en charge les requêtes parallèles par le biais de recherches multithread, et propose des fonctionnalités améliorées de reclassement et de réécriture des requêtes.
- Le magasin de vecteurs est un nouvel objet dans l’API. Une fois qu’un fichier est ajouté à un magasin vectoriel, il est automatiquement analysé, découpé en morceaux et incorporé, prêt à être recherché. Les magasins vectoriels peuvent être utilisés par tous les assistants et threads, ce qui simplifie la gestion des fichiers et la facturation.
- Nous avons ajouté la prise en charge du paramètre
tool_choice
qui peut être utilisé pour forcer l’utilisation d’un outil spécifique (comme la recherche de fichiers, un interpréteur de code ou une fonction) dans une exécution donnée.
Prise en charge de l’interpréteur de code
Modèles pris en charge
La page des modèles contient les informations les plus à jour sur les régions/modèles où Assistants et l’interpréteur de code sont pris en charge.
Nous vous conseillons d’utiliser des assistants avec les modèles les plus récents pour tirer parti des nouvelles fonctionnalités, des fenêtres contextuelles plus grandes et d’autres données d’apprentissage à jour.
Versions des API
2024-02-15-preview
2024-05-01-preview
Types de fichiers pris en charge
Format de fichier | Type 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 | text/plain |
.css | texte/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 ou « text/xml » |
.zip | application/zip |
Informations de référence sur l’API de chargement de fichiers
Les assistants utilisent la même API pour le chargement de fichiers et la précision du réglage. Quand vous chargez un fichier, vous devez spécifier une valeur appropriée pour le paramètre d’objectif.
Activer l’Interpréteur de code
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"}]
)
Charger un fichier pour l’Interpréteur de code
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]}}
)
Transmettre un fichier à un thread individuel
Outre l’accessibilité des fichiers au niveau d’Assistants, vous pouvez transmettre des fichiers pour les rendre disponibles dans un thread particulier.
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"
}
]
)
Télécharger des fichiers générés par l’Interpréteur de code
Les fichiers générés par l’Interpréteur de code sont disponibles dans les réponses d’un message de l’assistant
{
"id": "msg_oJbUanImBRpRran5HSa4Duy4",
"assistant_id": "asst_eHwhP4Xnad0bZdJrjHO2hfB4",
"content": [
{
"image_file": {
"file_id": "assistant-1YGVTvNzc2JXajI5JU9F0HMD"
},
"type": "image_file"
},
# ...
}
Vous pouvez télécharger ces fichiers générés en transmettant les fichiers à l’API des fichiers :
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)
Voir aussi
- Informations de référence sur l’API de chargement de fichiers
- Informations de référence sur l’API Assistants
- Pour en apprendre davantage sur l’utilisation des Assistants, consultez notre Guide pratique sur les Assistants.
- Exemples d’API Assistants Azure OpenAI