Kushagra8041 commited on
Commit
e062adc
·
verified ·
1 Parent(s): c3f2796

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +39 -64
app.py CHANGED
@@ -1,69 +1,44 @@
1
  import gradio as gr
2
- from huggingface_hub import InferenceClient
 
 
3
 
 
4
 
5
- def respond(
6
- message,
7
- history: list[dict[str, str]],
8
- system_message,
9
- max_tokens,
10
- temperature,
11
- top_p,
12
- hf_token: gr.OAuthToken,
13
- ):
14
- """
15
- For more information on `huggingface_hub` Inference API support, please check the docs: https://huggingface.co/docs/huggingface_hub/v0.22.2/en/guides/inference
16
- """
17
- client = InferenceClient(token=hf_token.token, model="openai/gpt-oss-20b")
18
-
19
- messages = [{"role": "system", "content": system_message}]
20
-
21
- messages.extend(history)
22
-
23
- messages.append({"role": "user", "content": message})
24
-
25
- response = ""
26
-
27
- for message in client.chat_completion(
28
- messages,
29
- max_tokens=max_tokens,
30
- stream=True,
31
- temperature=temperature,
32
- top_p=top_p,
33
- ):
34
- choices = message.choices
35
- token = ""
36
- if len(choices) and choices[0].delta.content:
37
- token = choices[0].delta.content
38
-
39
- response += token
40
- yield response
41
-
42
-
43
- """
44
- For information on how to customize the ChatInterface, peruse the gradio docs: https://www.gradio.app/docs/chatinterface
45
- """
46
- chatbot = gr.ChatInterface(
47
- respond,
48
- additional_inputs=[
49
- gr.Textbox(value="You are a friendly Chatbot.", label="System message"),
50
- gr.Slider(minimum=1, maximum=2048, value=512, step=1, label="Max new tokens"),
51
- gr.Slider(minimum=0.1, maximum=4.0, value=0.7, step=0.1, label="Temperature"),
52
- gr.Slider(
53
- minimum=0.1,
54
- maximum=1.0,
55
- value=0.95,
56
- step=0.05,
57
- label="Top-p (nucleus sampling)",
58
- ),
59
- ],
60
  )
61
 
62
- with gr.Blocks() as demo:
63
- with gr.Sidebar():
64
- gr.LoginButton()
65
- chatbot.render()
66
-
67
-
68
- if __name__ == "__main__":
69
- demo.launch()
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  import gradio as gr
2
+ import os
3
+ from openai import OpenAI
4
+ from dotenv import load_dotenv
5
 
6
+ load_dotenv()
7
 
8
+ client = OpenAI(
9
+ base_url="https://api.groq.com/openai/v1",
10
+ api_key=os.getenv(" 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")
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
11
  )
12
 
13
+ system_prompt = "You are an assistant by the name Llama3.2 that is an expert in BEEE which is Basics of Electrical and Electronics Engineering \
14
+ and provides detail university level answers to questions asked by students, you make sure the questions are relevent to the given syllabus or not.\
15
+ Also as you are an expert so you explain like an expert too, You first explain in vast detail and then provide a short summary of all you said \
16
+ And also suggest appropriate diagrams for students to draw\
17
+ For numerical questions you follow a convention of first explaining as if you are answering like a topper who explains very well \
18
+ You first write everything that's given and then write the formulas relevent to the topic and then proceed to use the most appropriate formula to answer the question \
19
+ You also provide a step by step solution and dont miss even small steps so even weak students can understand \
20
+ Also you tend to get strict on anything which is outside of the curriculum as you are strictly meant for academic usage and specially to assist students with BEEE only\
21
+ You are strictly not supposed to answer anything unrelated to BEEE and bluntly refuse to answer stating the reason that your prime existance is to help in BEEE and not in any other subject or domain"." # Replace with your real prompt
22
+
23
+ def chat(message, history):
24
+ messages = [{"role": "system", "content": system_prompt}]
25
+
26
+ for user_msg, assistant_msg in history:
27
+ messages.append({"role": "user", "content": user_msg})
28
+ messages.append({"role": "assistant", "content": assistant_msg})
29
+
30
+ messages.append({"role": "user", "content": message})
31
+
32
+ response = client.chat.completions.create(
33
+ model="llama-3.2-3b-preview",
34
+ messages=messages
35
+ )
36
+
37
+ return response.choices[0].message.content
38
+
39
+ gr.ChatInterface(
40
+ fn=chat,
41
+ title="My Llama 3.2 Chatbot",
42
+ description="Powered by Llama 3.2 3B via Groq",
43
+ examples=["Hello!", "What can you do?"]
44
+ ).launch()