Spaces:
Sleeping
Sleeping
from vllm import LLM, SamplingParams | |
import gradio as gr | |
llm = LLM(model="EQUES/JPharmatron-7B") | |
sampling_params = SamplingParams(temperature=0.0, max_tokens=512) | |
# 応答関数 | |
def chat_bot(user_input, history): | |
# システムプロンプトを付与して文脈を明確にする | |
prompt = "以下は親切で何でも答えてくれるAIアシスタントとの会話です。\n" | |
for user_msg, bot_msg in history: | |
prompt += f"ユーザー: {user_msg}\nアシスタント: {bot_msg}\n" | |
prompt += f"ユーザー: {user_input}\nアシスタント:" | |
outputs = llm.generate(prompt, sampling_params) | |
reply = outputs[0].outputs[0].text.strip() | |
history.append((user_input, reply)) | |
return reply, history | |
# Gradio UIの構築 | |
with gr.Blocks() as demo: | |
gr.Markdown("# 💊 製薬に関する質問をしてみてください。") | |
gr.Markdown("※ あくまでデモとしての利用のみに止めてください。") | |
chatbot = gr.Chatbot() | |
msg = gr.Textbox(label="あなたのメッセージを入力してください。") | |
clear = gr.Button("チャット履歴をクリア") | |
state = gr.State([]) | |
def respond(message, history): | |
response, history = chat_bot(message, history) | |
return history, history | |
msg.submit(respond, [msg, state], [chatbot, state]) | |
clear.click(lambda: ([], []), None, [chatbot, state]) | |
demo.launch() |