# Cómo integrar ChatGPT en tu terminal (Linux/macOS)

> Tres formas de hablar con ChatGPT desde la línea de comandos: llamadas a la API con curl, la librería de Python de OpenAI y Shell GPT, con ejemplos.

- Autor: José Manuel García Locubiche
- Publicado: 2023-03-30
- Original: https://jose-m.net/2023/blog/tech/como-integrar-chatgpt-en-tu-terminal/

---

Tenemos varias opciones para **integrar [ChatGPT](https://openai.com/blog/chatgpt) en nuestro terminal**. Si le pregunto directamente a la IA, su primera opción para integrarlo usando un script de bash es hacer llamadas a la API mediante [curl](https://curl.se/).

<img src="/img/20230330-openai-chatgpt-bash-question.png" alt="Chat GPT Question About Bash">

Un ejemplo de llamada para pedir los modelos que usa puede ser el siguiente.

```bash
curl -s -X GET -H "Content-Type: application/json" -H "Authorization: Bearer API-KEY" https://api.openai.com/v1/engines | jq -r .data[].id
```

También tenemos la opción de usar la **[librería de Python de OpenAI](https://pypi.org/project/openai/)**. Al hacer la instalación, además de instalar las librerías de Python, nos crea su propia utilidad de línea de comandos. Realizando la configuración previa de la API_KEY correspondiente podemos preguntar directamente a la IA usando el **comando "openai"**.

A continuación añado un ejemplo de instalación en un mac con Python 3.8.9, con algunos ejemplos de uso, donde podemos ver **llamadas usando GPT3.5**, o por ejemplo generando una imagen con **[Dall-e](https://openai.com/product/dall-e-2)** usando la línea de comandos.

<script async id="asciicast-572346" src="https://asciinema.org/a/572346.js"></script>

Por otro lado, también me ha parecido interesante probar **[Shell GPT](https://github.com/TheR1D/shell_gpt)**. Aquí dejo cómo me ha ido con la instalación y la ejecución de algunas pruebas.

<script async id="asciicast-572375" src="https://asciinema.org/a/572375.js"></script>

También podemos **crear nuestro propio script** en Python que use la librería de OpenAI y organizarlo de modo que podamos usar los diferentes modelos de los que dispone. Este es un ejemplo muy sencillo.

```python
import sys
import openai

class chat:

    def ask(self, *args):

        args = ' '.join(sys.argv[1:])
        model = 'text-davinci-003'

        response = openai.Completion.create(
            model=model,
            prompt=args,
            temperature=0.6,
            max_tokens=4000,
        )

        print('\nModel used: '+model)
        print(response['usage'])
        print('\nResponse:')

        for choice in response['choices']:
            print(choice['text'])

myChat = chat()
myChat.ask()
```

Recuerda que tienes que generar tu clave y configurarla como variable de entorno.

```bash
export OPENAI_API_KEY='sk-...'
```

Por último **te recomiendo que configures tus límites y avisos de gasto** en tu **[cuenta de OpenAI](https://platform.openai.com/account/usage)**. Aquí dejo una imagen de lo que he gastado haciendo las pruebas para poder crear este artículo.

<img src="/img/20230330-openai-usage.png" alt="Chat GPT Usage">
