Intérprete de código
Utilice Code Interpreter para permitir que el modelo escriba y ejecute código Python en un contenedor seguro y aislado. Esta herramienta es útil para cálculos, análisis de datos, procesamiento de archivos y otras tareas de cálculo.
La herramienta de intérprete de código de OCI utiliza el mismo formato que la herramienta de intérprete de código OpenAI utilizada con la API de respuestas con el punto final compatible con OpenAI de OCI. Para obtener información sobre la sintaxis y la solicitud, consulte el tema Interpretador de código en la documentación de OpenAI.
En las peticiones de datos, haga referencia al intérprete de código como la herramienta python. Por ejemplo: Use the python tool to solve the problem.
Debido a que el código se ejecuta en un entorno aislado sin acceso a la red externa, Code Interpreter es una buena opción cuando el flujo de trabajo necesita un cálculo o procesamiento de archivos en una configuración controlada.
Uso del Intepreter de Código
Si lo está utilizando por primera vez, piense en Code Interpreter como un espacio de trabajo temporal de Python para el modelo.
Puede utilizarlo para tareas como:
- Resolución de problemas matemáticos
- Analizando archivos cargados
- Limpieza o transformación de datos
- Creación de gráficos o tablas
- Generación de archivos de salida, como logs o juegos de datos procesados
Entorno de Ejecución
El entorno de Python incluye más de 420 bibliotecas preinstaladas, incluidas Pandas, Matplotlib y SciPy, por lo que muchas tareas comunes funcionan sin configuración adicional.
El código se ejecuta dentro de un contenedor de sandbox. Este contenedor es el entorno de trabajo donde se ejecuta Python y donde se almacenan los archivos cargados, los archivos generados y los datos de trabajo temporales durante la sesión.
Límites de memoria de contenedor
Los contenedores de Code Interpreter utilizan un pool de memoria compartida de 64 GB por arrendamiento.
Los tamaños de contenedor soportados son:
- 1 GB
- 4 GB
- 16 GB
- 64 GB
Este límite compartido se puede dividir en varios contenedores. Por ejemplo, puede admitir:
- Sesenta y cuatro contenedores de 1 GB
- Dieciséis contenedores de 4 GB
- Cuatro contenedores de 16 GB
- Un contenedor de 64 GB
Si necesita más capacidad, puede enviar una solicitud de servicio.
Caducidad de contenedor
Un contenedor caduca después de 20 minutos de inactividad.
Esto es importante saber al crear flujos de varios pasos:
- No se puede reutilizar un contenedor caducado
- Debe crear un nuevo contenedor
- Los archivos se deben volver a cargar si es necesario
- El estado en memoria, como variables de Python y objetos de Python, se pierde
Debido a esto, es mejor tratar los contenedores como entornos de trabajo temporales.
Ejemplo
Para utilizar Code Interpreter, agregue una definición de herramienta en la propiedad tools con "type": "code_interpreter".
response = client.responses.create(
model="xai.grok-4-1-fast-reasoning",
tools=[
{
"type": "code_interpreter",
"container": {"type": "auto"}
}
],
instructions="Use the python tool to solve the problem and explain the result.",
input="Find the value of (18 / 3) + 7 * 2."
)
print(response.output_text)
En este ejemplo, la herramienta python es Code Interpreter.
Contenedores para intérprete de código
La herramienta Interpretador de código requiere un objeto contenedor. El contenedor es el entorno aislado en el que el modelo ejecuta código Python.
Un contenedor puede contener:
- Archivos Cargados
- Archivos creados por el modelo
- Datos de trabajo temporales durante la ejecución
Al utilizar Code Interpreter, puede utilizar uno de los dos modos de contenedor:
- auto: OCI Generative AI aprovisiona o reutiliza un contenedor en el contexto actual.
- OCID de contenedor: cree el contenedor usted mismo, defina el tamaño de memoria y proporcione el OCID.
Para ambas opciones, los contenedores se crean y gestionan en OCI Generative AI. El código que se ejecuta en esos contenedores también se ejecuta en el arrendamiento de OCI Generative AI.
La herramienta de intérprete de código de OCI utiliza el mismo formato que la herramienta de intérprete de código OpenAI utilizada con la API de respuestas con el punto final compatible con OCI OpenAI. Para obtener más información sobre la sintaxis y las solicitudes, consulte Containers for Code Intepreters y la documentación de la API de contenedores OpenAI.
Modo automático
En modo automático, el servicio aprovisiona o reutiliza el contenedor. Esta es la opción más fácil y un buen punto de partida para la mayoría de los usuarios.
Utilice el modo automático cuando:
- Desea que OCI Generative AI gestione el contenedor
- No necesita control directo sobre el medio ambiente
- Desea una configuración más sencilla
Opcionalmente, puede especificar memory_limit. Si no lo especifica, el valor por defecto es 1 GB.
response = client.responses.create(
model="xai.grok-code-fast-1",
tools=[{
"type": "code_interpreter",
"container": {
"type": "auto",
"memory_limit": "1g"
}
}],
input="Use the python tool to calculate the mean, median, and standard deviation of 12, 18, 24, 30, and 42."
)Modo explícito
En el modo explícito, debe crear primero el contenedor y definir el tamaño. A continuación, transfiera el ID de contenedor en la solicitud.
Utilice el modo explícito cuando desee tener más control sobre la configuración del contenedor, como el tamaño de la memoria, o cuando desee mantener una sesión dedicada.
container = client.containers.create(name="test-container", memory_limit="4g")
response = client.responses.create(
model="xai.grok-code-fast-1",
tools=[{
"type": "code_interpreter",
"container": container.id
}],
tool_choice="required",
input="Use the python tool to calculate the mean, median, and standard deviation of 12, 18, 24, 30, and 42."
)
print(response.output_text)Archivos en Code Interpreter
El intérprete de código admite la interacción dinámica de archivos durante la vida útil del contenedor. El modelo puede leer los archivos que proporcione y también puede crear nuevos archivos.
Esto resulta útil para flujos de trabajo como:
- Lectura de un CSV o PDF
- Generación de un gráfico
- Guardando salida procesada
- Creación de logs o informes
Referencia de API: documentación de la API de archivos de contenedor OpenAI y API de archivos de contenedor.
Persistencia del archivo
Los archivos creados o actualizados por la herramienta python se mantienen en los turnos de ejecución de código en el mismo contenedor, siempre que el contenedor no haya caducado.
Esto significa que el modelo puede basarse en trabajos anteriores en la misma sesión. Por ejemplo, puede:
- Leer un Archivo
- Analizarlo
- Guardar un gráfico
- Utilizar ese gráfico más adelante en el mismo contenedor
Cuando el contenedor caduca, ese estado ya no está disponible.
Carga y gestión de archivos
Puede gestionar archivos de contenedor mediante las API de Container Files.
Las operaciones comunes incluyen:
- Crear archivo de contenedor: agregue un archivo al contenedor, ya sea mediante carga en varias partes o haciendo referencia a un ID de
/v1/filesexistente - Mostrar Archivos de Contenedor: Ver Archivos en el Contenedor
- Suprimir archivo de contenedor: eliminación de un archivo
- Recuperar Contenido de Archivo de Contenedor: Descargue un archivo del contenedor
Esto le permite utilizar el contenedor como espacio de trabajo temporal para la ejecución de código controlado por modelo.
Archivos de salida y citas
Cuando el modelo crea archivos, estos archivos se almacenan en el contenedor y se pueden devolver como anotaciones en la respuesta.
Estas anotaciones pueden incluir:
container_idfile_idfilename
Estos valores se pueden utilizar para recuperar el contenido del archivo generado.
La respuesta puede incluir un objeto container_file_citation que identifique el archivo generado. Utilice la operación Recuperar contenido de archivo de contenedor para descargar el archivo.
La API de respuestas de OCI soporta puntos finales compatibles con OpenAI para funciones como respuestas, archivos, contenedores y archivos de contenedor. Puede utilizar la documentación de OpenAI relacionada como referencia para la estructura de solicitudes, los formatos de respuesta y los flujos de trabajo generales. Cuando utilice estas API con OCI, envíe solicitudes a los puntos finales de inferencia de OCI Generative AI, utilice la autenticación de OCI y tenga en cuenta que los recursos y la ejecución permanecen en OCI Generative AI, no en un arrendamiento de OpenAI.
La API de archivos de OCI utiliza el mismo formato que la API de archivos de OpenAI con el punto final compatible con OpenAI de OCI. Para obtener información sobre la sintaxis y las solicitudes, consulte la documentación de la API de archivos de OpenAI.
El intérprete de código de OCI que se utiliza como herramienta para la API Ressponses utiliza el mismo formato que el intérprete de código de OpenAI con el punto final compatible con OCI OpenAI. Para ver la sintaxis y la solicitud, consulte las siguientes referencias: