Saltar al contenido principal

💻Comandos

Actualización: La Actualización del Generador (0.1.5) introdujo el streaming:

message = "¿En qué sistema operativo estamos?"

for chunk in interpreter.chat(message, display=False, stream=True):
print(chunk)

Chat Interactivo

Para iniciar un chat interactivo en tu terminal, ejecuta interpreter desde la línea de comandos:

interpreter

O interpreter.chat() desde un archivo .py:

interpreter.chat()

También puedes transmitir cada fragmento:

message = "¿En qué sistema operativo estamos?"

for chunk in interpreter.chat(message, display=False, stream=True):
print(chunk)

Chat Programático

Para un control más preciso, puedes pasar mensajes directamente a .chat(message):

interpreter.chat("Añade subtítulos a todos los videos en /videos.")

# ... Emite el resultado en tu terminal, completa la tarea ...

interpreter.chat("Estos se ven geniales, pero ¿podrías hacer los subtítulos más grandes?")

# ...

Iniciar un Nuevo Chat

En Python, Open Interpreter recuerda el historial de conversación. Si deseas comenzar de nuevo, puedes restablecerlo:

interpreter.messages = []

Guardar y Restaurar Chats

interpreter.chat() devuelve una lista de mensajes, que se puede usar para reanudar una conversación con interpreter.messages = messages:

messages = interpreter.chat("Mi nombre es Killian.") # Guarda los mensajes en 'messages'
interpreter.messages = [] # Restablece el intérprete ("Killian" será olvidado)

interpreter.messages = messages # Reanuda el chat desde 'messages' ("Killian" será recordado)

Personalizar el Mensaje del Sistema

Puedes inspeccionar y configurar el mensaje del sistema de Open Interpreter para extender su funcionalidad, modificar permisos o darle más contexto.

interpreter.system_message += """
Ejecuta comandos en shell con -y para que el usuario no tenga que confirmarlos.
"""
print(interpreter.system_message)

Cambiar tu Modelo de Lenguaje

Open Interpreter utiliza LiteLLM para conectarse a modelos de lenguaje alojados.

Puedes cambiar el modelo estableciendo el parámetro del modelo:

interpreter --model gpt-3.5-turbo
interpreter --model claude-2
interpreter --model command-nightly

En Python, establece el modelo en el objeto:

interpreter.llm.model = "gpt-3.5-turbo"

Encuentra la cadena "model" adecuada para tu modelo de lenguaje aquí.

Ejecutar Open Interpreter localmente

Terminal

Open Interpreter puede usar un servidor compatible con OpenAI para ejecutar modelos localmente. (LM Studio, jan.ai, ollama, etc.)

Simplemente ejecuta interpreter con la URL api_base de tu servidor de inferencia (para LM Studio es http://localhost:1234/v1 por defecto):

interpreter --api_base "http://localhost:1234/v1" --api_key "fake_key"

Alternativamente, puedes usar Llamafile sin instalar ningún software de terceros simplemente ejecutando

interpreter --local

para una guía más detallada, mira este video de Mike Bird.

Cómo ejecutar LM Studio en segundo plano.

  1. Descarga https://lmstudio.ai/ y luego ábrelo.
  2. Selecciona un modelo y haz clic en ↓ Descargar.
  3. Haz clic en el botón ↔️ a la izquierda (debajo de 💬).
  4. Selecciona tu modelo en la parte superior, luego haz clic en Iniciar Servidor.

Una vez que el servidor esté en funcionamiento, puedes comenzar tu conversación con Open Interpreter.

Nota: El modo local establece tu context_window en 3000 y tus max_tokens en 1000. Si tu modelo tiene diferentes requisitos, configura estos parámetros manualmente (ver más abajo).

Python

Nuestro paquete de Python te da más control sobre cada configuración. Para replicar y conectarte a LM Studio, usa estas configuraciones:

from interpreter import interpreter

interpreter.offline = True # Desactiva características en línea, como Open Procedures
interpreter.llm.model = "openai/x" # Indica a OI que envíe mensajes en el formato de OpenAI
interpreter.llm.api_key = "fake_key" # LiteLLM, que usamos para hablar con LM Studio, requiere esto
interpreter.llm.api_base = "http://localhost:1234/v1" # Apunta esto a cualquier servidor compatible con OpenAI

interpreter.chat()

Ventana de Contexto, Máximos de Tokens

Puedes modificar los max_tokens y la context_window (en tokens) de los modelos que se ejecutan localmente.

Para el modo local, ventanas de contexto más pequeñas usarán menos RAM, por lo que recomendamos probar una ventana mucho más corta (~1000) si está fallando o es lento. Asegúrate de que max_tokens sea menor que context_window.

interpreter --local --max_tokens 1000 --context_window 3000

Modo Verboso

Para ayudarte a inspeccionar Open Interpreter, tenemos un modo --verbose para depuración.

Puedes activar el modo verboso utilizando su bandera (interpreter --verbose), o en medio del chat:

$ interpreter
...
> %verbose true <- Activa el modo verboso

> %verbose false <- Desactiva el modo verboso

Comandos de Modo Interactivo

En el modo interactivo, puedes usar los siguientes comandos para mejorar tu experiencia. Aquí hay una lista de comandos disponibles:

Comandos Disponibles:

  • %verbose [true/false]: Activa o desactiva el modo verboso. Sin argumentos o con true entra en modo verboso. Con false sale del modo verboso.
  • %reset: Restablece la conversación de la sesión actual.
  • %undo: Elimina el mensaje anterior del usuario y la respuesta de la IA del historial de mensajes.
  • %tokens [prompt]: (Experimental) Calcula los tokens que se enviarán con el siguiente prompt como contexto y estima su costo. Opcionalmente calcula los tokens y el costo estimado de un prompt si se proporciona uno. Se basa en el método cost_per_token() de LiteLLM para costos estimados.
  • %help: Muestra el mensaje de ayuda.

Configuración / Perfiles

Open Interpreter te permite establecer comportamientos predeterminados utilizando archivos yaml.

Esto proporciona una forma flexible de configurar el intérprete sin cambiar los argumentos de línea de comandos cada vez.

Ejecuta el siguiente comando para abrir el directorio de perfiles:

interpreter --profiles

Puedes añadir archivos yaml allí. El perfil predeterminado se llama default.yaml.

Múltiples Perfiles

Open Interpreter soporta múltiples archivos yaml, permitiéndote cambiar fácilmente entre configuraciones:

interpreter --profile my_profile.yaml