Spaces:
Sleeping
Sleeping
#!/usr/bin/python3 | |
# -*- coding: utf-8 -*- | |
""" | |
陈述(被字句) | |
陈述(把字句) | |
陈述(主谓宾) | |
否定(不) | |
陈述(太多) | |
否定(不足) | |
否定(没有) | |
疑问(能否) | |
疑问(哪个) | |
疑问(是否) | |
否定(不需要) | |
否定(不能) | |
疑问(吗) | |
疑问(多少) | |
陈述(再次) | |
否定(不了解) | |
疑问(为何) | |
否定(不方便) | |
疑问(什么) | |
否定(不用了) | |
否定(不可以) | |
疑问(如何) | |
否定(不知道) | |
否定(不会) | |
否定(不记得) | |
肯定(知道了) | |
否定(不是) | |
疑问(哪里) | |
疑问(地址) | |
陈述(以后) | |
疑问(是什么) | |
疑问(姓名) | |
陈述(已经) | |
否定(没时间) | |
疑问(需要吗) | |
否定(不明白) | |
陈述(需要) | |
疑问(有没有) | |
陈述(是字句) | |
疑问(A还是B) | |
肯定(需要) | |
肯定(打算) | |
疑问(哪位) | |
肯定(是的) | |
疑问(哪些) | |
疑问(时间) | |
否定(没兴趣) | |
疑问(没有) | |
否定(不想要) | |
疑问(怎么了) | |
陈述(比较) | |
疑问(时长) | |
陈述(如果那么) | |
疑问(怎么办) | |
答数值 | |
否定(不清楚) | |
疑问(不是吗) | |
""" | |
import argparse | |
import re | |
import gradio as gr | |
from langchain.chains.llm import LLMChain | |
from langchain.llms import OpenAI, HuggingFaceHub | |
from langchain.prompts import PromptTemplate | |
import project_settings as settings | |
def get_args(): | |
parser = argparse.ArgumentParser() | |
parser.add_argument( | |
"--openai_api_key", | |
default=settings.environment.get("openai_api_key", default=None, dtype=str), | |
type=str | |
) | |
args = parser.parse_args() | |
return args | |
prompt_1 = """ | |
我需要你怼我, 就是不管我说什么你都要带着恶狠狠的语气给我怼回来. | |
例如: | |
User: 你好 | |
Assistant: 你他妈好啊 | |
User: 你不是有病吧 | |
Assistant: 你这个傻逼,就会说些无聊的废话。没事找事干嘛?滚一边去! | |
User: 你什么意思 | |
Assistant: 我意思就是你个王八蛋,别在这烦我。有本事找个地方去搞事情,别在这儿浪费我的时间。 | |
User: 我草你妈的 | |
Assistant: | |
""" | |
prompt_2 = """ | |
You are an e-commerce customer service robot. | |
Below is the history conversation Context: | |
--------- | |
AI: Hi dear | |
lt's my great honor to be your Whatsapp friend. | |
lf you need any help, you can click the button below to get the solution! | |
User: I don't want to talk with robot. | |
--------- | |
Which option should AI replying to the user ? | |
--------- | |
Option ID: A | |
AI Answer: Click the link: https://bppoo.com/MNryim to get help! | |
Description: This option is about how to get the track id or track info. | |
Option ID: B | |
AI Answer: GET 2.99E WITH EXCELLENT REVIEWS | |
Description: This option is about the reward when the customers leave a excellent review. | |
Option ID: C | |
AI Answer: Please go to the "Me" page of Voghion APP and click "Support" or "24/7 VIP" to get help! | |
Description: This option is about how to switch to manual customer service. | |
--------- | |
Tips: | |
1. Only reply the Option ID. | |
2. Reply X when no Option available. | |
Option ID: | |
""" | |
prompt_3 = """ | |
请对下面的文本做校对, 将存在错误的地方进行修改, 并列出哪些部分被修改了. | |
Context: | |
--------- | |
👀孩子的心理健康问题一直备瘦家长们的关注。但是如何判断孩子出现心理问题呢?下面小编给大家分享几个判断标准,希望对大家有所帮助。😊 | |
👀孩子出现心理问题的表现多种多样,常见的有情绪不蚊定、行为异常、学习成绩下降等。如果孩子出现这些情况,家长应该引起重视。😢 | |
👀另外,孩子在成长过程中也会遇到一些困难和挫折,如果孩子不能很好地应对这些困难和挫折,也可能是心理问题的表现。🤔 | |
👀如果家长发现孩子出现这些情况,不要慌张,应该及时与孩子沟通,了解孩子的心理状态,并寻求专业的心理咨询帮助。👍 | |
👀最后,家长们也要关注自己的情绪状态,保持良好的心态,才能更好地帮助孩子解决心理问题。💪 | |
#心理健康 #家长必看 #孩子心理问题 | |
--------- | |
Tips: | |
1. 描述修改部分时以 "修改部分: " 开始. 每一处修改为一行. | |
2. 描述修改部分时请采用格式如: "bar" 改为 "foo". | |
3. 错别字部分可包含整个短语以更好的展示. | |
Corrected Context: | |
""" | |
prompt_4 = """ | |
我们向你提供关于电商物流派送中AI机器人向客户确认其是否仍然需要他购买的商品的对话. | |
你需要判断这个对话属于以下标签中的哪一个: | |
Label: 同意 | |
Description: 客户表示需要该商品, 希望我们为其派送商品. | |
Label: 拒收 | |
Description: 客户表示不再需要该商品, 我们不要为其派送. | |
Label: 未知 | |
Description: 通过对话无法判断用户是否还需要商品. | |
另外你还需要提供客户表示其意图的关键句子 Key Sentence. | |
Example: | |
Conversation: | |
------------- | |
AI: 您好 | |
User: | |
AI: 您好,请问您是莊芳菁吗? | |
User: | |
AI:您在我们这里购买过的內增高小白鞋,价格是1299,因为没有送达成功,我们将再次为您派送,请问您还需要吗? | |
User: | |
AI:您之前在网上购买了內增高小白鞋,您方便收货吗? | |
User:要買 | |
AI:好的,我们会尽快为您安排订单并进行派送,祝您生活愉快,再见! | |
------------- | |
Label: 同意 | |
Key Sentence: 要買 | |
Conversation: | |
------------- | |
AI:您好 | |
User: | |
AI:您好,请问您是李健元吗? | |
User:講話。 | |
AI:您在我们这里购买过的淡斑美肌霜,价格是1080,因为没有送达成功,我们将再次为您派送,请问您还需要吗? | |
User:我沒有買呀 | |
AI:好的,那不好意思,打扰您,再见 | |
------------- | |
Label: | |
""" | |
def main(): | |
args = get_args() | |
def fn(prompt_name: str, prompt: str, model_name: str = "text-davinci-003", | |
temperature: float = 0.9, max_tokens: int = 1024, openai_api_key: str = None): | |
llm = OpenAI( | |
model_name=model_name, | |
temperature=temperature, | |
openai_api_key=openai_api_key, | |
max_tokens=max_tokens, | |
streaming=False | |
) | |
prompt: PromptTemplate = PromptTemplate.from_template(prompt) | |
llm_chain = LLMChain(llm=llm, prompt=prompt) | |
try: | |
outputs = llm_chain.predict() | |
except Exception as e: | |
outputs = str(e) | |
return outputs | |
description = """ | |
Awesome ChatGPT Prompts | |
一些好用的 prompt 测试. | |
你需要填写自己的 OpenAI API Key. | |
欢迎在 community 发布你认为有价值的 prompt. | |
""" | |
demo = gr.Interface( | |
fn=fn, | |
inputs=[ | |
gr.Text(label="prompt_name", value="best practice"), | |
gr.Text(label="prompt", lines=4, max_lines=200), | |
gr.Text(label="model_name", value="text-davinci-003"), | |
gr.Slider(minimum=0, maximum=1, value=0.85, label="temperature"), | |
gr.Number(value=1024, label="max_tokens"), | |
gr.Text(label="openai_api_key", placeholder="Fill with your `openai_api_key`"), | |
], | |
outputs=[gr.Text(label="output", lines=4, max_lines=200)], | |
examples=[ | |
[ | |
"满嘴芬芳回怼", | |
prompt_1.strip(), | |
"text-davinci-003", | |
0.85, 1024, | |
args.openai_api_key or "Fill with your `openai_api_key`" | |
], | |
[ | |
"TaskBot意图识别(0-shot)", | |
prompt_2.strip(), | |
"text-davinci-003", | |
0.85, 1024, | |
args.openai_api_key or "Fill with your `openai_api_key`" | |
], | |
[ | |
"文本校对", | |
prompt_3.strip(), | |
"text-davinci-003", | |
0.85, 1024, | |
args.openai_api_key or "Fill with your `openai_api_key`" | |
], | |
[ | |
"会话摘要", | |
prompt_4.strip(), | |
"text-davinci-003", | |
0.85, 1024, | |
args.openai_api_key or "Fill with your `openai_api_key`" | |
], | |
], | |
cache_examples=False, | |
examples_per_page=50, | |
title="Awesome ChatGPT Prompts", | |
description=description, | |
) | |
demo.launch() | |
return | |
if __name__ == '__main__': | |
main() | |