sawac commited on
Commit
3a0ea7c
·
verified ·
1 Parent(s): 6f38b94

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +16 -12
app.py CHANGED
@@ -19,6 +19,7 @@ def load_model(progress=gr.Progress()):
19
  progress(0, desc="モデルのダウンロードを開始")
20
  model_path = hf_hub_download(repo_id=repo_id, filename=filename)
21
  progress(0.5, desc="モデルをメモリに読み込み中")
 
22
  llm = Llama(
23
  model_path=model_path,
24
  n_threads=N_THREADS,
@@ -29,45 +30,48 @@ def load_model(progress=gr.Progress()):
29
  progress(1, desc="モデルの読み込み完了")
30
  model_loaded = True
31
  return "モデルの読み込みが完了しました。"
 
32
 
33
- def get_llama_response(prompt):
34
  global llm, model_loaded
35
  if not model_loaded:
36
  return [{"choices": [{"text": "モデルを読み込んでいます。しばらくお待ちください..."}]}]
37
  try:
38
- return llm(prompt, max_tokens=1024, temperature=0.7, top_p=0.95, repeat_penalty=1.1, stream=True)
39
  except Exception as e:
40
  return [{"choices": [{"text": f"エラーが発生しました: {str(e)}"}]}]
41
 
42
- def greet(prompt, intensity):
 
43
  global model_loaded
44
  if not model_loaded:
45
  return "モデルを読み込んでいます。しばらくお待ちください..."
46
 
47
  full_response = ""
48
- for output in get_llama_response(prompt):
49
  if len(output['choices']) > 0:
50
  text_chunk = output['choices'][0]['text']
51
  full_response += text_chunk
52
  yield full_response
53
-
54
- return full_response + "!" * int(intensity)
55
 
56
  with gr.Blocks() as demo:
57
- gr.Markdown("# Llama.cpp-python-sample (Streaming)")
58
  gr.Markdown(f"MODEL: {filename} from {repo_id}")
59
 
60
  loading_status = gr.Textbox(label="Loading Status")
61
 
62
  with gr.Row():
63
- input_text = gr.Textbox(label="Enter your prompt")
64
- intensity = gr.Slider(minimum=0, maximum=10, step=1, label="Intensity")
65
 
66
- output_text = gr.Textbox(label="Generated Response")
67
- submit_button = gr.Button("Submit")
68
 
69
- submit_button.click(fn=greet, inputs=[input_text, intensity], outputs=output_text)
70
  demo.load(fn=load_model, outputs=loading_status)
71
 
 
72
  demo.queue()
73
  demo.launch()
 
19
  progress(0, desc="モデルのダウンロードを開始")
20
  model_path = hf_hub_download(repo_id=repo_id, filename=filename)
21
  progress(0.5, desc="モデルをメモリに読み込み中")
22
+
23
  llm = Llama(
24
  model_path=model_path,
25
  n_threads=N_THREADS,
 
30
  progress(1, desc="モデルの読み込み完了")
31
  model_loaded = True
32
  return "モデルの読み込みが完了しました。"
33
+
34
 
35
+ def get_llama_response(prompt, temperature):
36
  global llm, model_loaded
37
  if not model_loaded:
38
  return [{"choices": [{"text": "モデルを読み込んでいます。しばらくお待ちください..."}]}]
39
  try:
40
+ return llm(prompt, max_tokens=1024, temperature=temperature, top_p=0.95, repeat_penalty=1.1, stream=True)
41
  except Exception as e:
42
  return [{"choices": [{"text": f"エラーが発生しました: {str(e)}"}]}]
43
 
44
+
45
+ def greet(prompt, temperature):
46
  global model_loaded
47
  if not model_loaded:
48
  return "モデルを読み込んでいます。しばらくお待ちください..."
49
 
50
  full_response = ""
51
+ for output in get_llama_response(prompt, temperature):
52
  if len(output['choices']) > 0:
53
  text_chunk = output['choices'][0]['text']
54
  full_response += text_chunk
55
  yield full_response
56
+ return full_response
57
+
58
 
59
  with gr.Blocks() as demo:
60
+ gr.Markdown(f"# LLMチャットボット(Streaming):{filename}")
61
  gr.Markdown(f"MODEL: {filename} from {repo_id}")
62
 
63
  loading_status = gr.Textbox(label="Loading Status")
64
 
65
  with gr.Row():
66
+ input_text = gr.Textbox(label="プロンプトを入力してください")
67
+ temperature = gr.Slider(minimum=0.1, maximum=1.0, value=0.7, step=0.1, label="Temperature")
68
 
69
+ output_text = gr.Textbox(label="生成されたレスポンス")
70
+ submit_button = gr.Button("送信")
71
 
72
+ submit_button.click(fn=greet, inputs=[input_text, temperature], outputs=output_text)
73
  demo.load(fn=load_model, outputs=loading_status)
74
 
75
+
76
  demo.queue()
77
  demo.launch()