mtb2023 commited on
Commit
89cf10e
·
1 Parent(s): 92a1ee0

change model

Browse files
Files changed (1) hide show
  1. app.py +17 -47
app.py CHANGED
@@ -26,56 +26,26 @@ import gradio as gr
26
 
27
  # gr.ChatInterface(predict).launch()
28
 
29
- import torch
30
- from transformers import AutoModelForCausalLM, AutoTokenizer
31
- from transformers import GPTNeoXJapaneseForCausalLM, GPTNeoXJapaneseTokenizer
32
- # トークナイザーとモデルの準備
33
- #tokenizer = AutoTokenizer.from_pretrained("rinna/japanese-gpt2-medium")
34
- #model = AutoModelForCausalLM.from_pretrained("rinna/japanese-gpt2-medium")
35
- model = GPTNeoXJapaneseForCausalLM.from_pretrained("abeja/gpt-neox-japanese-2.7b")
36
- tokenizer = GPTNeoXJapaneseTokenizer.from_pretrained("abeja/gpt-neox-japanese-2.7b")
37
- #model = AutoModelForCausalLM.from_pretrained("cl-tohoku/bert-base-japanese")
38
- #tokenizer = AutoTokenizer.from_pretrained("cl-tohoku/bert-base-japanese")
39
 
40
- # user関数 (history:セッション状態)
41
- def user(message, history):
42
- return "", history + [[message, None]]
43
-
44
- # bot関数 (history:セッション状態)
45
- def bot(history):
46
- user_message = history[-1][0]
47
- print(user_message)
48
- print(tokenizer.eos_token)
49
- new_user_input_ids = tokenizer.encode(
50
- user_message + tokenizer.eos_token, return_tensors="pt"
51
- )
52
 
53
- # レスポンスの生成
54
- bot_input_ids = torch.cat([torch.LongTensor([]), new_user_input_ids], dim=-1)
55
- response = model.generate(
56
- bot_input_ids, max_length=1000, pad_token_id=tokenizer.eos_token_id
57
- ).tolist()
58
 
59
- # トークンをテキストに変換し、応答を行に分割
60
- response = tokenizer.decode(response[0]).split("<|endoftext|>")
61
- response = [
62
- (response[i], response[i + 1]) for i in range(0, len(response) - 1, 2)
63
- ]
64
- history[-1] = response[0]
65
- return history
66
 
67
- # Blocksの作成
68
- with gr.Blocks() as demo:
69
- # UI
70
- chatbot = gr.Chatbot()
71
- msg = gr.Textbox()
72
- clear = gr.Button("Clear")
73
 
74
- # イベントリスナー
75
- msg.submit(user, [msg, chatbot], [msg, chatbot], queue=False).then(
76
- bot, chatbot, chatbot
77
- )
78
- clear.click(lambda: None, None, chatbot, queue=False)
79
 
80
- # 起動
81
- demo.launch()
 
26
 
27
  # gr.ChatInterface(predict).launch()
28
 
29
+ from transformers import pipeline
30
+ from transformers import Conversation
 
 
 
 
 
 
 
 
31
 
32
+ import gradio as gr
 
 
 
 
 
 
 
 
 
 
 
33
 
34
+ chatbot = pipeline(model="facebook/blenderbot-400M-distill")
35
+ message_list = []
36
+ response_list = []
 
 
37
 
38
+ def mini_chatbot(message, history):
39
+ conversation = Conversation(text=message,
40
+ past_user_inputs=message_list,
41
+ generated_responses=response_list)
42
+ conversation = chatbot(conversation)
 
 
43
 
44
+ return conversation.generated_responses[-1]
 
 
 
 
 
45
 
46
+ demo_chatbot = gr.ChatInterface(mini_chatbot,
47
+ title="My Chatbot",
48
+ description="Enter text to start chatting.")
49
+
 
50
 
51
+ demo_chatbot.launch()