# Hablar con una inteligencia artificial en una terminal.
from openai import OpenAI

# Acceso al servidor local.
client = OpenAI(base_url="http://axarbot.ddns.net:8614/v1", api_key="lm-studio")

history = [
    {"role": "system", "content": "Eres un asistente artificial inteligente útil, inteligente, amable y eficiente. Siempre cumplís las solicitudes del usuario al máximo de tu capacidad. Responde siempre en español y de la forma mas corta posible."},
    {"role": "user", "content": "Hola, preséntate a alguien que abre este programa por primera vez. Sé conciso."},
]

while True:
    completion = client.chat.completions.create(
        model="lmstudio-community/Meta-Llama-3-8B-Instruct-GGUF",
        messages=history,
        temperature=0.7,
        stream=True,
    )

    new_message = {"role": "assistant", "content": ""}
    
    for chunk in completion:
        if chunk.choices[0].delta.content:
            print(chunk.choices[0].delta.content, end="", flush=True)
            new_message["content"] += chunk.choices[0].delta.content

    history.append(new_message)

    print()
    history.append({"role": "user", "content": input("> ")})