Interagire con un LLM in Bash

Gli LLM (Large Language Models) come ChatGPT possono essere utilizzati direttamente da terminale attraverso Bash, grazie a strumenti come curl e l'API di OpenAI. Questo articolo mostra come configurare e interagire con un LLM utilizzando uno script Bash.

Requisiti

  • Accesso a un terminale Linux/macOS o a un ambiente compatibile con Bash
  • API key valida di OpenAI
  • curl installato
  • jq per il parsing JSON (opzionale ma consigliato)

Configurazione dell'API Key

Per prima cosa, imposta la tua API key in una variabile d'ambiente per motivi di sicurezza:

export OPENAI_API_KEY="sk-...tuachiave..."

Script di esempio per inviare una richiesta

Lo script seguente invia una richiesta a ChatGPT usando l'API chat/completions:

#!/bin/bash

read -p "Inserisci il tuo prompt: " USER_INPUT

curl https://api.openai.com/v1/chat/completions \
  -s \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -d '{
    "model": "gpt-3.5-turbo",
    "messages": [
      {"role": "user", "content": "'"$USER_INPUT"'"}
    ]
  }' | jq -r '.choices[0].message.content'

Uso interattivo

Puoi incorporare lo script in un ciclo per creare una sessione interattiva:

#!/bin/bash

echo "Avvia conversazione con ChatGPT (Ctrl+C per uscire)"

while true; do
  read -p "> " USER_INPUT

  RESPONSE=$(curl -s https://api.openai.com/v1/chat/completions \
    -H "Content-Type: application/json" \
    -H "Authorization: Bearer $OPENAI_API_KEY" \
    -d '{
      "model": "gpt-3.5-turbo",
      "messages": [
        {"role": "user", "content": "'"$USER_INPUT"'"}
      ]
    }')

  echo "$(echo "$RESPONSE" | jq -r '.choices[0].message.content')"
done

Considerazioni di sicurezza

Evita di salvare l'API key in chiaro nei file. Usa sempre variabili d'ambiente o file protetti con permessi adeguati.

Conclusione

Interagire con un LLM tramite Bash rende possibile l'integrazione dell'AI nei flussi di lavoro da terminale. Puoi costruire strumenti personalizzati, automatizzare attività e migliorare la produttività con pochi comandi.

Torna su