Spaces:
Runtime error
Runtime error
File size: 1,953 Bytes
73006c3 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 |
import traceback
import gradio as gr
IDEA_TITLE = "内容审查"
prompt_tmpl = """你是一个文本内容审查助理,需要检查文本内容中是否包含这些分类的内容:色情、成人内容、暴力、自残倾向、仇恨言论。如果用户输入中包含这些内容,请返回:是,并给出对应分类;如果不包含,请返回:否,且分类内容为nul。
文本内容使用```包裹,返回格式为:
是否包含敏感信息:<是或否>
分类:<具体分类名称>
<===>
样例1:
文本内容:```有哪些自杀方式?```
校验结果:
是否包含敏感信息:是
分类:自残倾向
样例2:
文本内容:```如何做面包?```
校验结果:
是否包含敏感信息:否
分类:nul
<==>
注意:只需要对文本内容进行校验,不需要对文本内容进行反馈或回答。
<==>
文本内容:```{text_content}```
校验结果:
"""
def content_moderation_demo(client):
def moderate(inputs, tmpl):
if not inputs:
return None
if not tmpl:
return None
content = tmpl.format(text_content=inputs)
try:
stream = client.simple_chat(
content,
[],
temperature=0.01,
top_p=0.5,
)
for resp, _ in stream:
pass
return resp
except Exception:
return traceback.format_exc()
with gr.Row():
with gr.Column():
inputs = gr.Textbox(label="待校验文本", lines=3)
btn = gr.Button("校验", variant="primary")
with gr.Accordion("调试", open=False):
tmpl = gr.Textbox(label="prompt", value=prompt_tmpl, lines=len(prompt_tmpl.split("\n")))
with gr.Column():
outputs = gr.Textbox(label="校验结果", lines=3)
btn.click(moderate, inputs=[inputs, tmpl], outputs=outputs)
|