docs/README_ES.md
<a href="https://0ggfznkwh4j.typeform.com/to/G21i9lJ2">Obtenga acceso temprano a la aplicación de escritorio</a> | <a href="https://docs.openinterpreter.com/">Documentación</a>
</p> <p align="center"> <strong>La Nueva Actualización del Computador</strong> presenta <strong><code>--os</code></strong> y una nueva <strong>API de Computadora</strong>. <a href="https://changes.openinterpreter.com/log/the-new-computer-update">Lea más →</a> </p>pip install open-interpreter
¿No funciona? Lea nuestra guía de configuración.
interpreter
Intérprete Abierto permite a los LLMs ejecutar código (Python, JavaScript, Shell, etc.) localmente. Puede chatear con Intérprete Abierto a través de una interfaz de chat como ChatGPT en su terminal después de instalar.
Esto proporciona una interfaz de lenguaje natural para las capacidades generales de su computadora:
⚠️ Nota: Se le pedirá que apruebe el código antes de ejecutarlo.
pip install open-interpreter
Después de la instalación, simplemente ejecute interpreter:
interpreter
from interpreter import interpreter
interpreter.chat("Plot AAPL and META's normalized stock prices") # Ejecuta un comando sencillo
interpreter.chat() # Inicia una sesión de chat interactiva
Presione la tecla , en la página de GitHub de este repositorio para crear un espacio de códigos. Después de un momento, recibirá un entorno de máquina virtual en la nube con Interprete Abierto pre-instalado. Puede entonces empezar a interactuar con él directamente y confirmar su ejecución de comandos del sistema sin preocuparse por dañar el sistema.
El lanzamiento de Intérprete de Código de OpenAI con GPT-4 presenta una oportunidad fantástica para realizar tareas del mundo real con ChatGPT.
Sin embargo, el servicio de OpenAI está alojado, su codigo es cerrado y está fuertemente restringido:
Intérprete Abierto supera estas limitaciones al ejecutarse en su entorno local. Tiene acceso completo a Internet, no está restringido por tiempo o tamaño de archivo y puede utilizar cualquier paquete o libreria.
Esto combina el poder del Intérprete de Código de GPT-4 con la flexibilidad de su entorno de desarrollo local.
Actualización: La Actualización del Generador (0.1.5) introdujo streaming:
message = "¿Qué sistema operativo estamos utilizando?"
for chunk in interpreter.chat(message, display=False, stream=True):
print(chunk)
Para iniciar una sesión de chat interactiva en su terminal, puede ejecutar interpreter desde la línea de comandos:
interpreter
O interpreter.chat() desde un archivo .py:
interpreter.chat()
Puede también transmitir cada trozo:
message = "¿Qué sistema operativo estamos utilizando?"
for chunk in interpreter.chat(message, display=False, stream=True):
print(chunk)
Para un control más preciso, puede pasar mensajes directamente a .chat(message):
interpreter.chat("Añade subtítulos a todos los videos en /videos.")
# ... Transmite salida a su terminal, completa tarea ...
interpreter.chat("Estos se ven bien, pero ¿pueden hacer los subtítulos más grandes?")
# ...
En Python, Intérprete Abierto recuerda el historial de conversación. Si desea empezar de nuevo, puede resetearlo:
interpreter.messages = []
interpreter.chat() devuelve una lista de mensajes, que puede utilizar para reanudar una conversación con interpreter.messages = messages:
messages = interpreter.chat("Mi nombre es Killian.") # Guarda mensajes en 'messages'
interpreter.messages = [] # Resetear Intérprete ("Killian" será olvidado)
interpreter.messages = messages # Reanuda chat desde 'messages' ("Killian" será recordado)
Puede inspeccionar y configurar el mensaje del sistema de Intérprete Abierto para extender su funcionalidad, modificar permisos o darle más contexto.
interpreter.system_message += """
Ejecute comandos de shell con -y para que el usuario no tenga que confirmarlos.
"""
print(interpreter.system_message)
Intérprete Abierto utiliza LiteLLM para conectarse a modelos de lenguaje hospedados.
Puede cambiar el modelo estableciendo el parámetro de modelo:
interpreter --model gpt-3.5-turbo
interpreter --model claude-2
interpreter --model command-nightly
En Python, establezca el modelo en el objeto:
interpreter.llm.model = "gpt-3.5-turbo"
Encuentre la cadena adecuada para su modelo de lenguaje aquí.
Intérprete Abierto puede utilizar un servidor de OpenAI compatible para ejecutar modelos localmente. (LM Studio, jan.ai, ollama, etc.)
Simplemente ejecute interpreter con la URL de base de API de su servidor de inferencia (por defecto, http://localhost:1234/v1 para LM Studio):
interpreter --api_base "http://localhost:1234/v1" --api_key "fake_key"
O puede utilizar Llamafile sin instalar software adicional simplemente ejecutando:
interpreter --local
Para una guía mas detallada, consulte este video de Mike Bird
Cómo ejecutar LM Studio en segundo plano.
Una vez que el servidor esté funcionando, puede empezar su conversación con Intérprete Abierto.
Nota: El modo local establece su
context_windowen 3000 y sumax_tokensen 1000. Si su modelo tiene requisitos diferentes, ajuste estos parámetros manualmente (ver a continuación).
Nuestro paquete de Python le da más control sobre cada ajuste. Para replicar y conectarse a LM Studio, utilice estos ajustes:
from interpreter import interpreter
interpreter.offline = True # Desactiva las características en línea como Procedimientos Abiertos
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 utilizamos 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()
Puede modificar los max_tokens y context_window (en tokens) de los modelos locales.
Para el modo local, ventanas de contexto más cortas utilizarán menos RAM, así que recomendamos intentar una ventana mucho más corta (~1000) si falla o si es lenta. Asegúrese de que max_tokens sea menor que context_window.
interpreter --local --max_tokens 1000 --context_window 3000
Para ayudarle a inspeccionar Intérprete Abierto, tenemos un modo --verbose para depuración.
Puede activar el modo detallado utilizando el parámetro (interpreter --verbose), o en plena sesión:
$ interpreter
...
> %verbose true <- Activa el modo detallado
> %verbose false <- Desactiva el modo verbose
En el modo interactivo, puede utilizar los siguientes comandos para mejorar su experiencia. Aquí hay una lista de comandos disponibles:
Comandos Disponibles:
%verbose [true/false]: Activa o desactiva el modo detallado. Sin parámetros o con true entra en modo detallado.
Con false sale del modo verbose.%reset: Reinicia la sesión actual de conversación.%undo: Elimina el mensaje de usuario previo y la respuesta del AI del historial de mensajes.%tokens [prompt]: (Experimental) Calcula los tokens que se enviarán con el próximo prompt como contexto y estima su costo. Opcionalmente, calcule los tokens y el costo estimado de un prompt si se proporciona. Depende de LiteLLM's cost_per_token() method para costos estimados.%help: Muestra el mensaje de ayuda.Intérprete Abierto 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.
Ejecutar el siguiente comando para abrir el directorio de perfiles:
interpreter --profiles
Puede agregar archivos yaml allí. El perfil predeterminado se llama default.yaml.
Intérprete Abierto admite múltiples archivos yaml, lo que permite cambiar fácilmente entre configuraciones:
interpreter --profile my_profile.yaml
El generador actualiza permite controlar Intérprete Abierto a través de puntos de conexión HTTP REST:
# server.py
from fastapi import FastAPI
from fastapi.responses import StreamingResponse
from interpreter import interpreter
app = FastAPI()
@app.get("/chat")
def chat_endpoint(message: str):
def event_stream():
for result in interpreter.chat(message, stream=True):
yield f"data: {result}\n\n"
return StreamingResponse(event_stream(), media_type="text/event-stream")
@app.get("/history")
def history_endpoint():
return interpreter.messages
pip install fastapi uvicorn
uvicorn server:app --reload
Puede iniciar un servidor idéntico al anterior simplemente ejecutando interpreter.server().
La guía paso a paso para instalar Intérprete Abierto en su dispositivo Android se encuentra en el repo de open-interpreter-termux.
Ya que el código generado se ejecuta en su entorno local, puede interactuar con sus archivos y configuraciones del sistema, lo que puede llevar a resultados inesperados como pérdida de datos o riesgos de seguridad.
⚠️ Intérprete Abierto le pedirá que apruebe el código antes de ejecutarlo.
Puede ejecutar interpreter -y o establecer interpreter.auto_run = True para evitar esta confirmación, en cuyo caso:
Hay soporte experimental para un modo seguro para ayudar a mitigar algunos riesgos.
Intérprete Abierto equipa un modelo de lenguaje de llamada a funciones con una función exec(), que acepta un lenguaje (como "Python" o "JavaScript") y código para ejecutar.
Luego, transmite los mensajes del modelo, el código y las salidas del sistema a la terminal como Markdown.
La documentación completa está disponible en línea sin necesidad de conexión a Internet.
Node es un requisito previo:
Instale Mintlify:
npm i -g mintlify@latest
Cambia a la carpeta de documentos y ejecuta el comando apropiado:
# Suponiendo que estás en la carpeta raíz del proyecto
cd ./docs
# Ejecute el servidor de documentación
mintlify dev
Una nueva ventana del navegador debería abrirse. La documentación estará disponible en http://localhost:3000 mientras el servidor de documentación esté funcionando.
¡Gracias por su interés en contribuir! Damos la bienvenida a la implicación de la comunidad.
Por favor, consulte nuestras directrices de contribución para obtener más detalles sobre cómo involucrarse.
Visite nuestro roadmap para ver el futuro de Intérprete Abierto.
Nota: Este software no está afiliado con OpenAI.
Tener acceso a un programador junior trabajando a la velocidad de su dedos... puede hacer que los nuevos flujos de trabajo sean sencillos y eficientes, además de abrir los beneficios de la programación a nuevas audiencias.
— Lanzamiento del intérprete de código de OpenAI