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.
Solo se aplica a:Portal de Foundry (clásico). Este artículo no está disponible para el nuevo portal de Foundry.
Obtenga más información sobre el nuevo portal.
Nota
Los vínculos de este artículo pueden abrir contenido en la nueva documentación de Microsoft Foundry en lugar de la documentación de Foundry (clásico) que está viendo ahora.
Nota
La API de Asistentes está obsoleta y será retirada el 26 de agosto de 2026. Utiliza el servicio Microsoft Foundry Agents generalmente disponible. Sigue la guía de migración para actualizar tus cargas de trabajo. Más información.
El intérprete de código permite que la API de los Asistentes escriba y ejecute código Python en un entorno de ejecución aislado. Con el intérprete de código habilitado, el Asistente 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 Asistente escribe código que no se puede ejecutar, puede iterar en este código modificando y ejecutando código diferente hasta que la ejecución del código se realice correctamente.
Importante
El intérprete de código tiene cargos adicionales además de las tarifas basadas en tokens para el uso de Azure OpenAI. Si el Asistente 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 1 hora con un tiempo de espera de inactividad de 30 minutos.
Compatibilidad con el intérprete de código
Modelos compatibles
La página de modelos contiene la información más actualizada sobre regiones/modelos donde se admiten los asistentes y el intérprete de código.
Se recomienda usar asistentes con los modelos más recientes para aprovechar las nuevas características, ventanas de contexto más grandes y datos de entrenamiento más recientes.
Versiones de API
- A partir de
2024-02-15-preview
Tipos de archivo admitidos
| 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 | 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 |
Referencia de la API de subida de archivos
Los asistentes usan la misma API para la carga de archivos y para el ajuste fino. 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 sean accesibles a nivel de permisos para asistentes, puede transferir archivos para que solo sean accesibles para un hilo determinado.
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 Asistente.
{
"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 files:
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 la API de carga de archivos
- Referencia de API de Asistentes
- Obtenga más información sobre cómo usar asistentes con nuestra guía de procedimientos sobre asistentes.
- Ejemplos de la API de Azure OpenAI Assistants