spav commited on
Commit
8b0e105
·
verified ·
1 Parent(s): 7e4adbc

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +25 -13
app.py CHANGED
@@ -2,30 +2,42 @@ import openai
2
  import gradio as gr
3
  import os
4
 
5
- # Hugging Face環境では APIキーを Secrets に保存
6
- api_key = os.getenv("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") # Hugging FaceのSecretから取得
 
 
7
 
8
  client = openai.OpenAI(api_key=api_key)
9
 
10
  def chat_with_model(user_input):
11
  try:
12
  response = client.chat.completions.create(
13
- model="ft:gpt-4o-mini-2024-07-18:personal:enjphsr:AukEoAFZ", # ← ここに自分のファインチューニングモデルIDを入力
14
  messages=[{"role": "user", "content": user_input}]
15
  )
16
  return response.choices[0].message.content
17
  except Exception as e:
18
  return f"エラーが発生しました: {e}"
19
 
20
- # 事前入力するテキスト(変更可能)
21
- default_text = "以下の英語を日本語翻訳てください"
22
 
23
- interface = gr.Interface(
24
- fn=chat_with_model,
25
- inputs=gr.Textbox(lines=5, value=default_text),
26
- outputs=gr.Markdown(), # ✅ Markdown に変更
27
- title="ファインチューニングモデルチャット",
28
- description="Hugging Face上で動作するGradioアプリ"
29
- )
30
 
31
- interface.launch()
 
 
 
 
 
 
 
 
 
 
 
2
  import gradio as gr
3
  import os
4
 
5
+ # OpenAI APIキーを取得
6
+ api_key = os.getenv("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")
7
+ if api_key is None:
8
+ raise ValueError("ERROR: OpenAI APIキーが設定されていません。Hugging FaceのSettings > SecretsでAPIキーを追加してください。")
9
 
10
  client = openai.OpenAI(api_key=api_key)
11
 
12
  def chat_with_model(user_input):
13
  try:
14
  response = client.chat.completions.create(
15
+ model="ft:gpt-4o-mini-2024-07-18:personal:enjphsr:AukEoAFZ",
16
  messages=[{"role": "user", "content": user_input}]
17
  )
18
  return response.choices[0].message.content
19
  except Exception as e:
20
  return f"エラーが発生しました: {e}"
21
 
22
+ # 事前入力するテキスト
23
+ default_text = "こんちは!今日はどんなことを話ましょうか?"
24
 
25
+ with gr.Blocks() as interface:
26
+ gr.Markdown("# ファインチューニングモデルチャット")
27
+ user_input = gr.Textbox(lines=5, value=default_text)
28
+ output = gr.Textbox(lines=10, elem_id="output_box") # ✅ `elem_id` を指定
29
+
30
+ btn = gr.Button("送信")
31
+ btn.click(chat_with_model, inputs=user_input, outputs=output)
32
 
33
+ # ✅ CSS を適用
34
+ interface.load(_js="""
35
+ function autoResize() {
36
+ let box = document.getElementById("output_box");
37
+ box.style.height = "auto";
38
+ box.style.height = box.scrollHeight + "px";
39
+ }
40
+ document.getElementById("output_box").addEventListener("input", autoResize);
41
+ """)
42
+
43
+ interface.launch()