stardust-coder's picture
add app.py
2e54617
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 compare_documents(doc_a, doc_b):
prompt = f"""
以下の2つの文書の間にある齟齬点(食い違い)を抽出してください。
内容の差異、言い回しの変更、意味が変わる部分に注目して簡潔にリスト化してください。
文書A:
{doc_a}
文書B:
{doc_b}
齟齬点:
"""
outputs = llm.generate(prompt, sampling_params)
res = outputs[0].outputs[0].text
res = res.split("\n\n")[0]
return res.strip()
# サンプル文挿入用の関数
def load_sample():
sample_text_a = "有効成分は37℃で30分間加熱処理した後、ろ過を行うこと。"
sample_text_b = "加熱処理後、ろ過を行う。加熱温度は35℃とする。"
return sample_text_a, sample_text_b
with gr.Blocks() as demo:
gr.Markdown("## 📝 文書齟齬チェックAI(Gradioデモ)")
with gr.Row():
sample_button = gr.Button("サンプル1を利用")
with gr.Row():
input_a = gr.Textbox(label="文書A(元文書)", lines=10, placeholder="ここに原文を入力")
input_b = gr.Textbox(label="文書B(比較対象)", lines=10, placeholder="ここに修正版を入力")
output = gr.Textbox(label="🔍 抽出された齟齬点", lines=10)
with gr.Row():
run_button = gr.Button("差分を確認する")
run_button.click(fn=compare_documents, inputs=[input_a, input_b], outputs=output)
sample_button.click(fn=load_sample, inputs=[], outputs=[input_a, input_b])
demo.launch()