Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Nota:
El servicio Agente de Azure AI Foundry ahora está disponible con carácter general, lo que proporciona más herramientas y mejores características empresariales. Se recomienda usar el nuevo servicio para las actualizaciones y mejoras de características más recientes.
El intérprete de código permite que la API Assistants escriba y ejecute código de Python en un entorno de ejecución de espacio aislado. Con el intérprete de código habilitado, el Assistant puede ejecutar código de forma iterativa para resolver problemas de análisis de datos, matemáticas y código más complicados. Cuando el Assistant escribe un código que no se puede ejecutar, puede iterar en este código modificando y ejecutar un código diferente hasta que la ejecución del código se realice correctamente.
Importante
El intérprete de código tiene cargos adicionales más allá de las tarifas basadas en tokens para el uso de Azure OpenAI. Si su Assistant llama al intérprete de código simultáneamente en dos subprocesos diferentes, se crean dos sesiones de intérprete de código. Cada sesión está activa de forma predeterminada durante una hora.
Compatibilidad con el intérprete de código
Modelos compatibles
La página de modelos contiene la información más actualizada sobre regiones o modelos en los que se admiten Assistants e intérpretes de código.
Se recomienda usar asistentes con los modelos más recientes para aprovechar las nuevas características, las ventanas de contexto más grandes y los datos de entrenamiento más actualizados.
Versiones de API
- A partir de
2024-02-15-preview
Tipos de archivo compatibles
Formato de archivo | 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 | text/plain |
.css | text/css |
.jpeg | image/jpeg |
.jpg | image/jpeg |
.js | text/javascript |
.gif | imagen/gif |
.png | imagen/png |
.tar | application/x-tar |
.ts | application/typescript |
.xlsx | application/vnd.openxmlformats-officedocument.spreadsheetml.sheet |
.xml | application/xml o "text/xml" |
.zip | application/zip |
Referencia de API de carga de archivos
Los asistentes usan la misma API para la carga de archivos como ajuste preciso. Al cargar un archivo, debe especificar un valor adecuado para el parámetro de propósito.
Habilitación del intérprete de código
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"}]
)
Carga de un archivo para el intérprete de código
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]}}
)
Pasar el archivo a un subproceso individual
Además de hacer que los archivos estén disponibles a nivel de asistencia, puede transferir archivos para que solo estén disponibles para un hilo de conversación específico.
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"
}
]
)
Descarga de archivos generados por el intérprete de código
Los archivos generados por el intérprete de código se pueden encontrar en las respuestas de mensajes del Assistant.
{
"id": "msg_oJbUanImBRpRran5HSa4Duy4",
"assistant_id": "asst_eHwhP4Xnad0bZdJrjHO2hfB4",
"content": [
{
"image_file": {
"file_id": "assistant-1YGVTvNzc2JXajI5JU9F0HMD"
},
"type": "image_file"
},
# ...
}
Puede descargar estos archivos generados pasando los archivos a la API:
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)
Consulte también
- Referencia de API de carga de archivos
- Referencia de API de asistentes
- Obtenga más información sobre cómo usar los asistentes con nuestra Guía paso a paso sobre Assistants.
- Ejemplos de la API Azure OpenAI Assistants