text-style-api / app.py
yxccai's picture
Upload 3 files
ee960d1 verified
raw
history blame
2.14 kB
import gradio as gr
from transformers import AutoTokenizer, AutoModelForCausalLM
import torch
# 加载模型和tokenizer
model_name = "您的用户名/text-style-converter"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(
model_name,
torch_dtype=torch.float16,
device_map="auto"
)
def convert_text_style(input_text):
"""文本风格转换函数"""
if not input_text.strip():
return "请输入要转换的文本"
prompt = f"""以下是一个文本风格转换任务,请将书面化、技术性的输入文本转换为自然、口语化的表达方式。
### 输入文本:
{input_text}
### 输出文本:
"""
inputs = tokenizer(prompt, return_tensors="pt")
with torch.no_grad():
outputs = model.generate(
inputs.input_ids,
attention_mask=inputs.attention_mask,
max_new_tokens=500,
temperature=0.7,
do_sample=True,
pad_token_id=tokenizer.eos_token_id
)
full_response = tokenizer.decode(outputs[0], skip_special_tokens=True)
# 提取生成的部分
if "### 输出文本:" in full_response:
response = full_response.split("### 输出文本:")[-1].strip()
else:
response = full_response
return response
# 创建Gradio接口
iface = gr.Interface(
fn=convert_text_style,
inputs=gr.Textbox(
label="输入文本",
placeholder="请输入需要转换为口语化的书面文本...",
lines=5
),
outputs=gr.Textbox(
label="输出文本",
lines=5
),
title="中文文本风格转换API",
description="将书面化、技术性文本转换为自然、口语化表达",
examples=[
["乙醇的检测方法包括以下几项: 1. 酸碱度检查:取20ml乙醇加20ml水,加2滴酚酞指示剂应无色。"],
["本品为薄膜衣片,除去包衣后显橙红色至暗红色。"]
]
)
# 启动应用
if __name__ == "__main__":
iface.launch()