Niladri Das commited on
Commit
5a067eb
·
0 Parent(s):
Files changed (4) hide show
  1. .gitattributes +35 -0
  2. README.md +12 -0
  3. app.py +76 -0
  4. requirements.txt +3 -0
.gitattributes ADDED
@@ -0,0 +1,35 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ *.7z filter=lfs diff=lfs merge=lfs -text
2
+ *.arrow filter=lfs diff=lfs merge=lfs -text
3
+ *.bin filter=lfs diff=lfs merge=lfs -text
4
+ *.bz2 filter=lfs diff=lfs merge=lfs -text
5
+ *.ckpt filter=lfs diff=lfs merge=lfs -text
6
+ *.ftz filter=lfs diff=lfs merge=lfs -text
7
+ *.gz filter=lfs diff=lfs merge=lfs -text
8
+ *.h5 filter=lfs diff=lfs merge=lfs -text
9
+ *.joblib filter=lfs diff=lfs merge=lfs -text
10
+ *.lfs.* filter=lfs diff=lfs merge=lfs -text
11
+ *.mlmodel filter=lfs diff=lfs merge=lfs -text
12
+ *.model filter=lfs diff=lfs merge=lfs -text
13
+ *.msgpack filter=lfs diff=lfs merge=lfs -text
14
+ *.npy filter=lfs diff=lfs merge=lfs -text
15
+ *.npz filter=lfs diff=lfs merge=lfs -text
16
+ *.onnx filter=lfs diff=lfs merge=lfs -text
17
+ *.ot filter=lfs diff=lfs merge=lfs -text
18
+ *.parquet filter=lfs diff=lfs merge=lfs -text
19
+ *.pb filter=lfs diff=lfs merge=lfs -text
20
+ *.pickle filter=lfs diff=lfs merge=lfs -text
21
+ *.pkl filter=lfs diff=lfs merge=lfs -text
22
+ *.pt filter=lfs diff=lfs merge=lfs -text
23
+ *.pth filter=lfs diff=lfs merge=lfs -text
24
+ *.rar filter=lfs diff=lfs merge=lfs -text
25
+ *.safetensors filter=lfs diff=lfs merge=lfs -text
26
+ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
27
+ *.tar.* filter=lfs diff=lfs merge=lfs -text
28
+ *.tar filter=lfs diff=lfs merge=lfs -text
29
+ *.tflite filter=lfs diff=lfs merge=lfs -text
30
+ *.tgz filter=lfs diff=lfs merge=lfs -text
31
+ *.wasm filter=lfs diff=lfs merge=lfs -text
32
+ *.xz filter=lfs diff=lfs merge=lfs -text
33
+ *.zip filter=lfs diff=lfs merge=lfs -text
34
+ *.zst filter=lfs diff=lfs merge=lfs -text
35
+ *tfevents* filter=lfs diff=lfs merge=lfs -text
README.md ADDED
@@ -0,0 +1,12 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ title: harpertoken llama3.1-8b
3
+ emoji: 👋
4
+ colorFrom: gray
5
+ colorTo: indigo
6
+ sdk: gradio
7
+ sdk_version: 6.14.0
8
+ app_file: app.py
9
+ pinned: true
10
+ license: mit
11
+ short_description: llama3.1-8b chat with cerebras inference
12
+ ---
app.py ADDED
@@ -0,0 +1,76 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import gradio as gr
2
+ import os
3
+ import re
4
+ from dotenv import load_dotenv
5
+ from cerebras.cloud.sdk import Cerebras
6
+
7
+ # Load environment variables
8
+ load_dotenv()
9
+
10
+ client = Cerebras(
11
+ api_key=os.environ.get("CEREBRAS_API_KEY")
12
+ )
13
+
14
+ def clean_response(text):
15
+ lines = []
16
+ for line in text.splitlines():
17
+ # Remove bullets (*, #, •, -) at line start
18
+ line = re.sub(r"^\s*[*#•\-]+\s*", "", line)
19
+ # Remove markdown bold
20
+ line = re.sub(r"\*\*(.*?)\*\*", r"\1", line)
21
+ line = re.sub(r"__(.*?)__", r"\1", line)
22
+ lines.append(line)
23
+ return "\n".join(lines)
24
+
25
+ def chat(user_message, history):
26
+ try:
27
+ stream = client.chat.completions.create(
28
+ messages=[
29
+ {"role": "system", "content": "You are a helpful assistant."},
30
+ {"role": "user", "content": user_message}
31
+ ],
32
+ model="llama3.1-8b",
33
+ stream=True,
34
+ max_completion_tokens=65536,
35
+ temperature=1,
36
+ top_p=1
37
+ )
38
+
39
+ response_text = ""
40
+ for chunk in stream:
41
+ if chunk.choices[0].delta.content:
42
+ response_text += chunk.choices[0].delta.content
43
+
44
+ response_text = clean_response(response_text)
45
+
46
+ history = history or []
47
+ history.append({"role": "user", "content": user_message})
48
+ history.append({"role": "assistant", "content": response_text})
49
+ return history
50
+
51
+ except Exception as e:
52
+ history = history or []
53
+ history.append({"role": "user", "content": user_message})
54
+ history.append({"role": "assistant", "content": f"Error: {str(e)}"})
55
+ return history
56
+
57
+ with gr.Blocks() as demo:
58
+ gr.Markdown("## Chat")
59
+
60
+ chatbot = gr.Chatbot(
61
+ label="Conversation",
62
+ height=600
63
+ )
64
+
65
+ with gr.Row():
66
+ msg = gr.Textbox(
67
+ label="Ask something",
68
+ placeholder="Type your prompt and press Enter",
69
+ scale=4
70
+ )
71
+ clear = gr.Button("Clear")
72
+
73
+ msg.submit(chat, [msg, chatbot], chatbot)
74
+ clear.click(lambda: [], None, chatbot)
75
+
76
+ demo.launch()
requirements.txt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ gradio[oauth,mcp]==6.14.0
2
+ cerebras-cloud-sdk
3
+ python-dotenv