#!/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: """ prompt_5 = """ 按顺序从小说中抽取对话, 忽略非对话部分. 例如: ------------ Inputs: 村民中走出一个二十来岁的人汉,说道:“张先生,你可是从北方来吗” 张十五见他身材魁梧,浓眉大眼,便道:“正是。”那大汉道:“小弟作东,请先生去饮上三杯如何” 张十五大喜,说道:“素不相识,怎敢叨扰” 那大汉笑道:“喝上三怀,那便相识了。我姓郭,名叫郭啸天。” Outputs: 郭啸天:张先生,你可是从北方来吗 张十五:正是。 郭啸天:小弟作东,请先生去饮上三杯如何 张十五:素不相识,怎敢叨扰 郭啸天:喝上三怀,那便相识了。我姓郭,名叫郭啸天。 ------------ Tips: 1. 你可能需要根据上下文推测说话人的名字. 2. 请仔细而不要遗漏太多的信息. Inputs: 张翠山沉吟道:“这梅花小镖用左手发射?少林派门下怎地出现了道人,莫非也是乔装的?”那少女微笑道:“道士扮和尚须剃光头,和尚扮道士却容易得多,戴顶道冠便成。”张翠山点了点头。那少女道:“我心知此事不妙,但那瘦子我尚自抵敌不过,那道人似乎更厉害得多,何况他们共有六人?这可没了计较。”张翠山张口欲言,但终于忍住了。那少女道:“我猜你是想问:‘干么不上武当山来跟我们说明?’是不是?我可不能上武当山啊,倘若我自己能出面,又何必委托都大锦走这趟镖呢?我徬徨无计,在道上闷走,恰好撞到你跟都大锦他们说话。后来见你去找寻俞三侠,我想武当七侠正主儿已接上了手,不用我再凑热闹,凭我这点微末本领,也帮不了甚么忙。那时我急于解毒,便即东还,不知俞三侠后来怎样了?”张翠山当下说了俞岱岩受人毒害的情状。那少女长叹一声,睫毛微微颤动,说道:“但愿俞三侠吉人天相,终能治愈,否则……否则……”张翠山听她语气诚恳,心下感激,说道:“多谢姑娘好心。”说着眼眶微湿。那少女摇了摇头,说道:“我回到江南,叫人一看这梅花镖,有人识得是少林派的独门暗器,说道除非是发暗器之人的本门解药,否则毒性难除。临安府除了龙门镖局,还有谁是少林派?于是我夜入镖局,要逼他们给解药,岂知他们不但不给,还埋伏下了人马,我一进门便对我猛下毒手。”张翠山“嗯”了一声,沉吟道:“你说故意安排,教他们认作是我?”那少女脸有腼腆之色,低下了头,轻轻的道:“我见你到衣铺去买了这套衣巾,觉得穿戴起来很是……很是好看,于是我跟着也头了一套。”张翠山道:“这便是了。只是你一出手便连杀数十人,未免过于狠辣,镖局中的人跟你又没怨仇。”那少女沉下脸来,冷笑道:“你要教训我么?我活了一十九岁,倒还没听人教训过呢。张五侠大仁大义,这就请罢。我这般心狠手辣之辈,原没盼望跟你结交。” Outputs: """ prompt_6 = """ 总结以下文本的要点. 例如: ------------ Inputs: 洪七公、周伯通、郭靖、黄蓉四人乘了小船,向西驶往陆地。郭靖坐在船尾扳桨,黄蓉不住向周伯通详问骑鲨游海之事,周伯通兴起,当场就要设法捕捉鲨鱼,与黄蓉大玩一场。 郭靖见师父脸色不对,问道:“你老人家觉得怎样”洪七公不答,气喘连连,声息粗重。他被欧阳锋以“透骨打穴法”点中之后,穴道虽已解开,内伤却又加深了一层。黄蓉喂他服了几颗九花玉露丸,痛楚稍减,气喘仍是甚急。 老顽童不顾别人死活,仍是嚷着要下海捉鱼,黄蓉却已知不妥,向他连使眼色,要他安安静静的,别吵得洪七公心烦。周伯通并不理会,只闹个不休。黄蓉皱眉道:“你要捉鲨鱼,又没饵引得鱼来,吵些甚么” Outputs: - 洪七公等四人乘船西行,洪七公因受内伤加重而气喘不止 - 周伯通要捉鲨鱼玩,被黄蓉阻止以免掀翻小船 ------------ Tips: 1. 总结的要点之间应减少重复. 2. 应尽可能多的总结要点. Inputs: 游坦之乘着众人扰攘之际,和全冠清低声商议了一阵,又朗声道: “我大宋国步艰危,江湖同道却又不能齐心合力,以至时受番帮欺压。因此丐帮主张立一位武林盟主,大伙儿听奉号令,有什么大事发生,便不致乱成一团了。玄慈方丈,你赞不赞成?” 玄慈缓缓地道:“庄帮主的话,倒也言之成理。但老衲有一事不解,却要请教。” 游坦之道:“什么事?”玄慈道:“庄帮主已拜丁先生为师,算是星宿派门人了,是也不是?” 游坦之道:“这个……这是我自己的事,与你无关。” 玄慈道:“星宿派乃西域门派,非我大宋武林同道。我大宋立不立武林盟主,可与星宿派无涉。就算中原武林同道要推举一位盟主,以便统筹事功,阁下是星宿派门人,却也不便参与了。” 众英雄纷纷说道:“不错!” “少林方丈之言甚是。” “你是番邦门派的走狗奴才,怎可妄想做我中原武林的盟主?。” 游坦之无言可答,向丁春秋望望,又向全冠清瞧瞧,盼望他们出言解围。 丁春秋咳嗽一声,说道:“少林方丈言之差矣!老夫乃山东曲阜人氏,生于圣人之邦,星宿派乃老夫一手创建,怎能说是西域番邦的门派?星宿派虽居处西域,那只不过是夫夫暂时隐居之地。你说星宿派是番邦门派,那么孔夫子也是番邦人氏了,可笑啊可笑!说到西域番邦,少林武功源于天竺达摩祖师,连佛教也是西域番邦之物,我看少林派才是西域的门派呢!” 此言一出,玄慈和群雄都感不易抗辩。 Outputs: """ def main(): args = get_args() def fn(prompt_name: str, prompt_description: 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_description", value="description for prompt"), 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)", "在 TaskBot 流程中, 不需要配置意图词等, 只根据各分支机器人的回复来判断当前用户话语应该转向哪个分支. ", 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`" ], [ "小说中对话抽取(参考)", "从小说等收集人物对话, 做人格一致性研究, 参考: https://huggingface.co/hhhwmws\nhttps://github.com/LC1332/Chat-Haruhi-Suzumiya/", prompt_5.strip(), "text-davinci-003", 0.85, 1024, args.openai_api_key or "Fill with your `openai_api_key`" ], [ "文本摘要", "从小说内容摘要", prompt_5.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()