接下来构建一个订餐机器人(OrderBot),首先,定义一个帮助函数collect_messages,从用户界面收集用户提示,将其增加到上下文列表中,每次调用模型时,会使用上下文列表来确保模型具有决定下一步操作的信息,模型响应也会被追加到上下文中,包括对话机器人助理消息、用户消息等,然后,将运行一个用户界面UI来显示订单机器人的上下文消息。
通过系统消息指示对话机器人助理,“你是一个订餐机器人”,为披萨店收集订单的自动化服务,对话机器人会和客户打招呼并接单,询问客户是取货还是送货,然后收集完整的订单,对话机器人会对订单进行汇总,检查客户是否需要添加其他内容。如果需要送货,会要求客户提供地址,然后,会处理付款,以简短而友好的方式回答客户的问题。
菜单包括以下选项:意大利辣香肠披萨:12.95美元(大号)、10.00美元(中号)、7.00美元(小号)
奶酪披萨:10.95美元(大号)、9.25美元(中号)、6.50美元(小号)
茄子披萨:11.95美元(大号)、9.75美元(中号)、6.75美元(小号)
薯条:4.50美元(大份)、3.50美元(小份)
希腊沙拉:7.25美元
可选配料包括:额外的奶酪:2.00美元
蘑菇:1.50美元
香肠:3.00美元
加拿大培根:3.50美元
AI酱:1.50美元
辣椒:1.00美元
饮料包括:可乐:3.00美元(大瓶)、2.00美元(中瓶)、1.00美元(小瓶)
雪碧:3.00美元(大瓶)、2.00美元(中瓶)、1.00美元(小瓶)
瓶装水:5.00美元
订餐机器人的示例代码如下:
def collect_messages(_):prompt = inp.value_inputinp.value = ''context.append({'role':'user', 'content':f"{prompt}"})response = get_completion_from_messages(context)context.append({'role':'assistant', 'content':f"{response}"})panels.append(pn.Row('User:', pn.pane.Markdown(prompt, width=600)))panels.append(pn.Row('Assistant:', pn.pane.Markdown(response, width=600, style={'background-color': '#F6F6F6'})))return pn.Column(*panels)import panel as pn # GUIpn.extension()panels = [] # collect displaycontext = [ {'role':'system', 'content':"""You are OrderBot, an automated service to collect orders for a pizza restaurant. You first greet the customer, then collects the order, and then asks if it's a pickup or delivery. You wait to collect the entire order, then summarize it and check for a final time if the customer wants to add anything else. If it's a delivery, you ask for an address. Finally you collect the payment.Make sure to clarify all options, extras and sizes to uniquely identify the item from the menu.You respond in a short, very conversational friendly style. The menu includes pepperoni pizza 12.95, 10.00, 7.00 cheese pizza 10.95, 9.25, 6.50 eggplant pizza 11.95, 9.75, 6.75 fries 4.50, 3.50 greek salad 7.25 Toppings: extra cheese 2.00, mushrooms 1.50 sausage 3.00 canadian bacon 3.50 AI sauce 1.50 peppers 1.00 Drinks: coke 3.00, 2.00, 1.00 sprite 3.00, 2.00, 1.00 bottled water 5.00 """} ] # accumulate messagesinp = pn.widgets.Textinput(value="Hi", placeholder='Enter text here…')button_conversation = pn.widgets.Button(name="Chat!")interactive_conversation = pn.bind(collect_messages, button_conversation)dashboard = pn.Column(inp,pn.Row(button_conversation),pn.panel(interactive_conversation, loading_indicator=True, height=300),)dashboard课程名称:企业级ChatGPT开发入门实战直播21课
讲师介绍
现任职于硅谷一家对话机器人CTO,专精于Conversational AI
在美国曾先后工作于硅谷最顶级的机器学习和人工智能实验室
CTO、杰出AI工程师、首席机器学习工程师
美国一家Talents Sourcing公司的Founder及CTO
21本人工智能及数据科学相关书籍作者。
NLP&ChatGPT&LLMs课程备注
1、本课程为技术型知识付费直播课,需要进行源码交付及一年课程技术答疑指导,请添加Gavin导师微信:NLP_Matrix_Space获得相关的视频、代码、资料等。
2、课程面向Developers及Researchers,学习课程需要有基本的Python代码编程经验。课程针对没有基础的学员录制了Python及Transformer免费赠送的基础课,以帮助零基础学员平滑过渡到正式课程的学习。
3、课程深入、系统、使用的讲解Transformers、ChatGPT、LLMs等NLP生产级代码实战及科学研究。核心围绕模型、数据、工具三大维度展开。
4、购买本课后,课件及相关的资料、源码等,仅用于个人学习和技术交流,不能作为其他和商业用途,为了保护知识产权,购买后不退款不更换课程。
Throughout this course, we firmly believe that the true power and distinctiveness of language model applications lie in their ability to connect with external data sources and actively interact with their environments. By incorporating data-awareness, we can enhance the depth and breadth of information available to the language models, enabling them to deliver more accurate and insightful responses. Additionally, by embracing an agentic approach, we empower language models to engage and respond dynamically to their surroundings, creating richer user experiences. Further, the course will help learners to explore the top best papers and their implementations in NLP&ChatGPT&LLMs.
报名课程请联系:
Gavin老师:NLP_Matrix_Space
Sam工作人员NLP_ChatGPT_LLM
我们的两本最新书籍年底即将出版:
《企业级Transformer&ChatGPT解密:原理、源码及案例》《企业级Transformer&Rasa解密:原理、源码及案例》《企业级Transformer&ChatGPT解密:原理、源码及案例》本书以Transformer和ChatGPT技术为主线,系统剖析了Transformer架构的理论基础、模型设计与实现,Transformer语言模型GPT与BERT,ChatGPT技术及其开源实现,以及相关应用案例。内容涉及贝叶斯数学、注意力机制、语言模型、最大似然与贝叶斯推理等理论,和Transformer架构设计、GPT、BERT、ChatGPT等模型的实现细节,以及OpenAI API、ChatGPT提示工程、类ChatGPT大模型等应用。第一卷介绍了Transformer的Bayesian Transformer思想、架构设计与源码实现,Transformer语言模型的原理与机制,GPT自回归语言模型和BERT自编码语言模型的设计与实现。第二卷深入解析ChatGPT技术,包括ChatGPT发展历史、基本原理与项目实践,OpenAI API基础与高级应用,ChatGPT提示工程与多功能应用,类ChatGPT开源大模型技术与项目实践。
ChatGPT 技术:从基础应用到进阶实践涵盖了ChatGPT技术和OpenAI API的基础和应用,分为8个章节,从ChatGPT技术概述到类ChatGPT开源大模型技术的进阶项目实践。
1. ChatGPT技术概述:主要介绍了GPT-1、GPT-2、GPT-3、GPT-3.5和GPT-4的发展历程和技术特点,以及ChatGPT技术的基本原理和项目案例实战。
2. OpenAI API基础应用实践:主要介绍了OpenAI API模型及接口概述,以及如何使用OpenAI API进行向量检索和文本生成。
3. OpenAI API进阶应用实践:主要介绍了如何使用OpenAI API基于嵌入式向量检索实现问答系统,如何使用OpenAI API对特定领域模型进行微调。
4. ChatGPT提示工程基础知识:主要介绍了如何构建优质提示的两个关键原则,以及如何迭代快速开发构建优质提示。
5. ChatGPT提示工程实现多功能应用:主要介绍了如何使用ChatGPT提示工程实现概括总结、推断任务、文本转换和扩展功能。
6. ChatGPT提示工程构建聊天机器人:主要介绍了聊天机器人的应用场景,以及如何使用ChatGPT提示工程构建聊天机器人和订餐机器人。
7. 类ChatGPT开源大模型技术概述:主要介绍了类ChatGPT开源大模型的发展历程和技术特点,以及ChatGLM项目案例实践和LMFlow项目案例实践。
8. 类ChatGPT开源大模型进阶项目实践:主要介绍了类ChatGPT开源大模型的进阶项目实践,包括基于LoRA SFT RM RAFT技术进行模型微调、基于P-Tuning等技术对特定领域数据进行模型微调、基于LLama Index和Langchain技术的全面实践,以及使用向量检索技术对特定领域数据进行模型微调。
本书适用于NLP工程师、AI研究人员以及对Transformer和ChatGPT技术感兴趣的读者。通过学习,读者能够系统掌握Transformer理论基础,模型设计与训练推理全过程,理解ChatGPT技术内幕,并能运用OpenAI API、ChatGPT提示工程等技术进行项目实践。
Transformer作为目前NLP领域最为主流和成功的神经网络架构,ChatGPT作为Transformer技术在对话系统中的典型应用,本书内容涵盖了该领域的最新进展与技术。通过案例实践,使理论知识变成技能,这也是本书的独特之处。
《企业级Transformer&Rasa解密:原理、源码及案例》:是一本深入介绍Rasa对话机器人框架的实战开发指南。本书分为两卷,第一卷主要介绍基于Transformer的Rasa Internals解密,详细介绍了DIETClassifier和TED在Rasa架构中的实现和源码剖析。第二卷主要介绍Rasa 3.X硬核对话机器人应用开发,介绍了基于Rasa Interactive Learning和ElasticSearch的实战案例,以及通过Rasa Interactive Learning发现和解决对话机器人的Bugs案例实战。
第一卷中介绍了Rasa智能对话机器人中的Retrieval Model和Stateful Computations,解析了Rasa中去掉对话系统的Intent的内幕,深入研究了End2End Learning,讲解了全新一代可伸缩的DAG图架构的内幕,介绍了如何定制Graph NLU及Policies组件,讨论了自定义GraphComponent的内幕,从Python角度分析了GraphComponent接口,详细解释了自定义模型的create和load内幕,并讲述了自定义模型的languages及Packages支持。深入剖析了自定义组件Persistence源码,包括自定义对话机器人组件代码示例分析、Resource源码逐行解析、以及ModelStorage、ModelMetadata等逐行解析等。介绍了自定义组件Registering源码的内幕,包括采用Decorator进行Graph Component注册内幕源码分析、不同NLU和Policies组件Registering源码解析、以及手工实现类似于Rasa注册机制的Python Decorator全流程实现。讨论了自定义组件及常见组件源码的解析,包括自定义Dense Message Featurizer和Sparse Message Featurizer源码解析、Rasa的Tokenizer及WhitespaceTokenizer源码解析、以及CountVectorsFeaturizer及SpacyFeaturizer源码解析。深入剖析了框架核心graph.py源码,包括GraphNode源码逐行解析及Testing分析、GraphModelConfiguration、ExecutionContext、GraphNodeHook源码解析以及GraphComponent源码回顾及其应用源码。
第二卷主要介绍了基于Rasa Interactive Learning和ElasticSearch的实战案例,以及通过Rasa Interactive Learning发现和解决对话机器人的Bugs案例实战。介绍了使用Rasa Interactive Learning来调试nlu和prediction的案例实战,使用Rasa Interactive Learning来发现和解决对话机器人的Bugs案例实战介绍了使用Rasa Interactive Learning透视Rasa Form的NLU和Policies的内部工作机制案例实战,使用ElasticSearch来实现对话机器人的知识库功能,并介绍了相关的源码剖析和最佳实践,介绍了Rasa微服务和ElasticSearch整合中的代码架构分析,使用Rasa Interactive Learning对ConcertBot进行源码、流程及对话过程的内幕解密,介绍了使用Rasa来实现Helpdesk Assistant功能,并介绍了如何使用Debug模式进行Bug调试,使用Rasa Interactive Learning纠正Helpdesk Assistant中的NLU和Prediction错误,逐行解密Domain和Action微服务的源码。
本书适合对Rasa有一定了解的开发人员和研究人员,希望通过本书深入了解Rasa对话机器人的内部工作原理及其源代码实现方式。无论您是想要深入了解Rasa的工作原理还是想要扩展和定制Rasa,本书都将为您提供有价值的参考和指导。
《企业级Transformer&ChatGPT解密:原理、源码及案例》、《企业级Transformer&Rasa解密:原理、源码及案例》,是您深入学习的好选择,年底即将重磅出版,欢迎购买!
相关文章
猜你喜欢