#!/bin/bash # Establecer VALORES API de ChatGPT Local SCLGPT_URL="http://127.0.0.1:5000/llama" MAX_TOKENS=100 SALUDO_IA="Eres un asistente genial" #You are a helpful assistant if [ "$1" == "" ] ; then MAX_TOKENS=100 else if [ $1 -gt 100 ] ; then MAX_TOKENS=$1 else MAX_TOKENS=100 fi fi # Funciones docker IA function StarIA() { echo "Iniciando IA ..." StopIA #docker run -d --name sclgpt -ti -p 5000:5000 llama2 2>/dev/null 1>/dev/null docker run -d --name sclgpt -ti -p 5000:5000 -v $(pwd)/llama-2-7b-chat.Q2_K.gguf:/app/llama-2-7b-chat.Q2_K.gguf llama2 } function StopIA() { docker stop sclgpt 2>/dev/null docker rm sclgpt 2>/dev/null } function TimeIA() { echo -e "\nProcesado en: $(docker logs sclgpt |grep 'total time'|tail -1|awk '{print $5" milisegundos"}')" } # ----- Main / Principal --------------------------- StarIA clear echo echo "----------------------------------------" echo " Conversar con SoloConLinux-GPT [SCL-GPT]" echo "----------------------------------------" echo # Bucle principal del programa while true; do # Solicitar una pregunta al usuario echo -n "[$USER] escribe tu pregunta (o 'salir'): " read SCL_PREGUNTA # Si escribe "salir", salimos del programa if [ "$SCL_PREGUNTA" == "salir" ]; then break fi # Utiliza la herramienta "curl" en modo silencioso para enviar la pregunta al API de ChatGPT y obtener la respuesta del chatbot echo -e "\n ... SCL-GPT pensando ...\n" # Extrae la respuesta del chatbot de la respuesta JSON de la API # Muestra la respuesta del chatbot en la consola echo -e "[SCL-GPT]:\n$(curl -s $SCLGPT_URL -H "Content-Type: application/json" -d "{\"system_message\": \"$SALUDO_IA\", \"user_message\": \"$SCL_PREGUNTA\", \"max_tokens\": $MAX_TOKENS}" | grep '"text"' | sed 's/`//g' | awk -F 'SYS>>' '{print $3}' | awk -F 'INST]' '{print $2}')" TimeIA echo -e "\n----------------------------------------------------------------------------------" done StopIA