-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathchat_ai.py
45 lines (37 loc) · 1.07 KB
/
chat_ai.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
import os
from dotenv import load_dotenv
from groq import Groq
load_dotenv()
api_key = os.getenv("GROQ_API_KEY")
if not api_key:
raise ValueError("API key not found. Make sure the .env file contains 'GROQ_API_KEY=<api_key>'")
client = Groq(api_key=api_key)
messages = [
{
"role": "system",
"content": "your instructions here"
}
]
while True:
user_message = input("You: ")
if user_message.lower() in ["exit", "quit", "bye"]:
print("Exiting chat. See you later!")
break
messages.append({"role": "user", "content": user_message})
completion = client.chat.completions.create(
model="llama-3.1-70b-versatile",
messages=messages,
temperature=1,
max_tokens=1024,
top_p=1,
stream=True,
stop=None,
)
print("AI:", end=" ")
ai_response = ""
for chunk in completion:
part = chunk.choices[0].delta.content or ""
ai_response += part
print(part, end="")
print()
messages.append({"role": "assistant", "content": ai_response})