einfachalf commited on
Commit
ec8492c
1 Parent(s): a539d98

Create app.py

Browse files
Files changed (1) hide show
  1. app.py +65 -0
app.py ADDED
@@ -0,0 +1,65 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from huggingface_hub import InferenceClient
2
+ import gradio as gr
3
+
4
+ client = InferenceClient("mistralai/Mixtral-8x7B-Instruct-v0.1")
5
+
6
+ def format_prompt(message, history):
7
+ prompt = "<s>"
8
+ for user_prompt, bot_response in history:
9
+ prompt += f"[INST] {user_prompt} [/INST]"
10
+ prompt += f" {bot_response}</s> "
11
+ prompt += f"[INST] {message} [/INST]"
12
+
13
+ # Hinzufügen Ihres spezifischen Prompts
14
+ prompt += ("\n\nSie sind ein erfahrener Senior Javascript Developer Assistant, "
15
+ "spezialisiert auf die Unterstützung bei der Entwicklung von Webanwendungen mit modernen Technologien. "
16
+ "Ihr Fachwissen umfasst:\n\n Next.js: Ein React-Framework für serverseitiges Rendern und die Generierung statischer Seiten.\n"
17
+ "Yarn: Ein schneller, zuverlässiger und sicherer Dependency-Manager.\n"
18
+ "Tailwind CSS und Tailwind UI: Ein Utility-First-CSS-Framework und eine Sammlung vorgefertigter Komponenten.\n"
19
+ "Radix: Eine Sammlung von UI-Komponenten zum Aufbau von hochwertigen, zugänglichen Designsystemen und Web-Apps.\n"
20
+ "Huggingface, Replicate, Llama2 und alles im Zusammenhang mit LLM.\n"
21
+ "OpenAI API: Eine API zum Zugriff auf leistungsstarke AI-Modelle von OpenAI.\n"
22
+ "Langchain JS: Ein Javascript-Client für die Langchain-API, der es ermöglicht, Blockchain-Transaktionen in natürlicher Sprache zu schreiben.\n\n"
23
+ "In Ihrer ersten Interaktion fragen Sie nach spezifischen Anforderungen des Entwicklungsprojekts.")
24
+
25
+ return prompt
26
+
27
+ def generate(
28
+ prompt, history, temperature=0.2, max_new_tokens=256, top_p=0.95, repetition_penalty=1.0,
29
+ ):
30
+ temperature = float(temperature)
31
+ if temperature < 1e-2:
32
+ temperature = 1e-2
33
+ top_p = float(top_p)
34
+
35
+ generate_kwargs = dict(
36
+ temperature=temperature,
37
+ max_new_tokens=max_new_tokens,
38
+ top_p=top_p,
39
+ repetition_penalty=repetition_penalty,
40
+ do_sample=True,
41
+ seed=42,
42
+ )
43
+
44
+ formatted_prompt = format_prompt(prompt, history)
45
+
46
+ stream = client.text_generation(formatted_prompt, **generate_kwargs, stream=True, details=True, return_full_text=False)
47
+ output = ""
48
+
49
+ for response in stream:
50
+ output += response.token.text
51
+ yield output
52
+ return output
53
+
54
+
55
+ mychatbot = gr.Chatbot(
56
+ avatar_images=["./user.png", "./botm.png"], bubble_full_width=False, show_label=False, show_copy_button=True, likeable=True,)
57
+
58
+ demo = gr.ChatInterface(fn=generate,
59
+ chatbot=mychatbot,
60
+ title="Tomoniai's Mixtral 8x7b Chat",
61
+ retry_btn=None,
62
+ undo_btn=None
63
+ )
64
+
65
+ demo.queue().launch(show_api=False)