Sakalti commited on
Commit
5073e00
·
verified ·
1 Parent(s): f570b75

Create app.py

Browse files
Files changed (1) hide show
  1. app.py +53 -0
app.py ADDED
@@ -0,0 +1,53 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import os
2
+ import gradio as gr
3
+ from transformers import pipeline
4
+
5
+ # 環境変数からAPIトークンを取得
6
+ hf_api_token = os.environ.get("HF_API_TOKEN")
7
+
8
+ # トークンが設定されていない場合のエラー処理
9
+ if not hf_api_token:
10
+ raise ValueError("Hugging FaceのAPIトークンが設定されていません。環境変数 'HF_API_TOKEN' を設定してください。")
11
+
12
+ # Hugging Faceのパイプラインを初期化
13
+ chatbot_pipeline = pipeline(
14
+ "text-generation",
15
+ model="Sakalti/Model-3",
16
+ use_auth_token=hf_api_token # 環境変数から取得したトークンを使用
17
+ )
18
+
19
+ # 応答を生成する関数
20
+ def respond(prompt, system_message, max_new_tokens, temperature, top_p, top_k):
21
+ """
22
+ チャットボットの応答を生成する。
23
+ """
24
+ # プロンプトをシステムメッセージと結合
25
+ full_prompt = f"{system_message}\nユーザー: {prompt}\nAI:"
26
+
27
+ # パイプラインで応答を生成
28
+ response = chatbot_pipeline(
29
+ full_prompt,
30
+ max_new_tokens=max_new_tokens,
31
+ temperature=temperature,
32
+ top_p=top_p,
33
+ top_k=top_k,
34
+ num_return_sequences=1
35
+ )
36
+ # 応答テキストを返す
37
+ return response[0]["generated_text"]
38
+
39
+ # Gradioでチャットボットのインターフェースを構築
40
+ demo = gr.ChatInterface(
41
+ respond,
42
+ additional_inputs=[
43
+ gr.Textbox(value="あなたはフレンドリーなチャットボットです。", label="システムメッセージ"),
44
+ gr.Slider(minimum=1, maximum=2048, value=768, step=1, label="新規トークン最大"),
45
+ gr.Slider(minimum=0.1, maximum=4.0, value=0.7, step=0.1, label="温度"),
46
+ gr.Slider(minimum=0.1, maximum=1.0, value=0.95, step=0.05, label="Top-p (核 sampling)"),
47
+ gr.Slider(minimum=1, maximum=100, value=50, step=1, label="Top-k"),
48
+ ],
49
+ concurrency_limit=30 # 同時リクエスト数の上限
50
+ )
51
+
52
+ # アプリケーションを起動
53
+ demo.launch()