from groq import Groq

# 初始化客戶端
client = Groq(api_key = "Groq API Key")

# 初始化對話歷史
messages = [
    {"role": "system", "content": "你是一個使用繁體中文與台灣用語回答問題的助理。"}
]

print("💬 Groq 對話模式啟動！（輸入 exit 離開）\n")

while True:
    user_input = input("🧑‍💻 你：")

    # 離開條件
    if user_input.lower() in ["exit", "quit", "bye"]:
        print("👋 結束對話，掰掰～")
        break

    # 新增使用者訊息
    messages.append({"role": "user", "content": user_input})

    # 送出請求
    completion = client.chat.completions.create(
        model = "llama-3.1-8b-instant",
        messages = messages,
        temperature = 1,
        max_completion_tokens = 500,
        top_p = 1,
        stream = True,  # 使用串流模式
    )

    print("🤖 Groq：", end = "", flush = True)
    full_response = ""

    for chunk in completion:
        content = chunk.choices[0].delta.content or ""
        print(content, end = "", flush = True)
        full_response += content

    print("\n")

    # 儲存模型回覆到對話歷史
    messages.append({"role": "assistant", "content": full_response})