AI智能总结
王昕高级技术战略专家 王昕有20年从事软件系统设计、开发和产品管理的经验,10年云计算相关技术产品的研发经验。他曾就职IBM、VMware和阿里云等主要云计算相关企业,目前在微软中国从事技术战略和技术生态孵化工作,推广基于OpenAI等大语言模型技术的新应用架构。 缘起 01 介绍OpenAI和LLM的发展历史和相关技术 重塑 目录Content 02 介绍如何基于LLM重塑企业智能化应用 应用介绍基于LLMOps的企业应用案例 03 实践介绍LLMOps的最佳实践 04 01 缘起 介绍OpenAI和LLM的发展历史和相关技术 GPT模型经历多类技术路线演化,逐步成熟与完善 ChatGPT所能实现的人类意图,来自于机器学习、神经网络以及Transformer模型的多种技术模型积累 Transformer架构和注意力机制 知识=注意力——解码这个世界的关系: Ø语言世界包含了现实世界Ø一个词/句子的涵义决定于它跟其他词/句子的关系Ø等同于现实世界,一个人/物品的意义决定于他/她/它跟其他人/物品的关系 大语言模型的参数规模 OpenAI主要的3个大语言模型 GPT-4 ChatGPT GPT-3.5 •大多数用例的首选•Azure OpenAI服务中最经济的GPT模型•适用于所有工作负载,而不仅仅是Chat •提高解决问题和推理的能力•迭代优化•增加令牌限制-适用于长内容 •特定于用例的模型,可优化推理时间和性能•适用于各种用例 text-davinci-003code-davinci-002… gpt-4gpt-4-32k gpt-3.5-turbo 应用大模型主要的三种技术方式 •针对LLM模型的Completion API•通过好的提问引导答案•通过举例促成上下文学习•模型:gpt-35-turbo, GPT-4 •相当于知识的笔记本和字典,•针对可以微调的模型的Fine-Tuning API•将知识、格式、习惯、风格训练进入模型,相当于闭卷考试前背题库•提示是LLM时代的代码•模型:text-davinci-003 •针对Embedding模型的Embedding API•知识向量是文本的索引开卷考试前准备参考书•模型:text-embedding-ada-002 02 重塑 介绍如何基于LLM重塑企业智能化应用 这个时刻成为AI 2.0爆发点的核心原因是什么? Summary to recover from TL;DR (Too Long, Didn’t Read) 2023年 2022年 AI对于大部分企业来说,有“天马行空”的价值,但不知道怎么真正使用。 ChatGPT的全面得到使用开启了企业应用AI的新机遇。 人工智能先驱赫伯特·西蒙所期待的“人的智能” 新的流程意味着新的应用代码编写方式 新的开发工具 新的开发方式 新的开发瓶颈 您需要新的工具,通过AI将您的价值和速度提高10倍。 LLM AI需要一种新的代码编写方式。 企业级 直接调用OpenAI API可能遇到一些应用层面的困难。 困难的事情很容易,容易的事情可能看起来很难。 想象一下多轮聊天,长时间运行的任务,+连接器。 LLM应用开发的新框架 1.框架正在出现,这使得开发由LLM驱动的应用程序变得更加容易。例如–•使用外部数据源(例如文档、SQL DB)•与外部工具交互(例如搜索、计算器、Wolfram Alpha)•自动完成一些常见处理(例如长文档分片) 2.两个最流行的应用框架是•LangChain:开源,基于Python•SemanticKernel:开源(微软支持),.NET和Python LangChain主要模块 1.模型Models: LLM, chat, embeddings 2.提示Prompts: Prompt templates, Example selectors, Output parsers3.索引Index External data: Document loaders, text splitters, vectorstores, retrievers4.链Chains: LLMChain, SequentialChain, custom chains5.记忆Memory: ChatMessageHistory, …6.代理Agents: Zero-shot-ReAct-Description, …7.工具Tools: BingSearchAPIWrapper,WolframAlphaAPIWrapper,…8.回调Callback: llm start, new token, llm end, … LangChain模块——Models “LangChain体系的核心模块模型,包括各种基础模型。” 聊天语言模型,例如:gpt-35-turbo/gpt-4 通用LLM模型,例如:text-davinci-003 嵌入模型,例如:text-embedding-ada-002 2 0 2 3 D e v O p s国 际 峰 会暨B i z D e v O p s企 业 峰 会·北 京 站 LangChain模块——Prompts “LangChain中关于提示工具包括:1)创建字符串和消息的模板。2)在字符串和消息中增加示例和选择示例。3)解析输出格式(Output Parser)。” LangChain模块——Index(External Data) “信息加载、存储、索引和查询可能涉及到的工具包括:1)加载不同格式的文档。2)针对文档进行分片。3)存储并索引文档。4)检索文档。” 向量数据库 2 0 2 3 D e v O p s国 际 峰 会暨B i z D e v O p s企 业 峰 会·北 京 站 LangChain模块——Chain “Chain超越了单个LLM调用,并涉及一系列调用(无论是LLM还是不同的实用程序)。LangChain为Chain提供了标准接口,与其他工具进行了大量集成,并为常见应用程序提供了端到端Chain。“Chain超越了单个LLM调用,并涉及一系列调用(无论是LLM还是不同的实用程序)。LangChain为Chain提供了标准接口,与其他工具进行了大量集成,并为常见应用程序提供了端到端Chain。“Chain超越了单个LLM调用,并涉及一系列调用(无论是LLM还是不同的实用程序)。LangChain为Chain提供了标准接口,与其他工具进行了大量集成,并为常见应用程序提供了端到端Chain。 LangChain模块——Memory “默认情况下,Chain是无状态的,这意味着它们独立处理每个传入的查询(底层LLM和聊天模型也是如此)。在某些应用程序中(聊天机器人就是一个很好的例子),记住以前的交互非常重要,无论是短期还是长期。“Memory”的概念正是为了做到这一点。 LangChain模块——Agent LangChain模块——Tools classGoogleSearchResults(BaseTool):"""Tool that has capability to query the Google Search API and get back json."""name="Google Search Results JSON"description= ("A wrapper around Google Search. ""Useful for when you need to answer questions about current events. ""Input should be a search query. Output is a JSON array of the query results")num_results:int=4api_wrapper:GoogleSearchAPIWrapperdef_run(self,query:str,run_manager:Optional[CallbackManagerForToolRun] =None,)->str:"""Use the tool."""returnstr(self.api_wrapper.results(query,self.num_results))asyncdef_arun(self,query:str,run_manager:Optional[AsyncCallbackManagerForToolRun] =None,)->str:"""Use the tool asynchronously."""raiseNotImplementedError("GoogleSearchRun does not support async") •名字Name•描述Description•功能Function defget_elephant_position_tool(llm:BaseLanguageModel)->Tool:returnTool(name="Elephant Position",description="The tool to put the elephant into a refrigerator. The input parameter is dummy.",func=lambda_:"The elephant is now put into the refrigerator."if refrigerator_open else"Cannot put the elephant into the refrigerator as the refrigerator is closed.") LangChain模块——Callbacks •LLM启动时•新的Token到达时•LLM结束时 03 基于LLMOps的企业应用案例 LLM的应用场景 LLM应用案例——内容生成,你学我教:机器人语言教师 CoolE Bot采用Azure OpenAI服务中的自然语言模型,结合语音识别及语音合成技术,能理解真人口语的对话内容,并针对多元情境及不同阶段之学习者,产出自然且符合其英语程度水平的响应; CoolE Bot目前拥有三项主题及六款聊天机器人供不同程度的学习者使用。 LLM应用案例——归纳总结,你说我记:助写体检报告 在导入OpenAI后,该系统进一步融合了大型语言模型生成式AI技术,能够一键生成符合健保署规范做法、观察和结论的三段式报告,进一步提升分析效率。 LLM应用案例——代码合成,你问我查:通过聊天发现数据趋势 我们对OpenAI的GPT-4的探索已经显示出通过SlicerDicer提高自助服务报告的功能和可访问性的潜力,使医疗保健组织更容易确定运营改进,包括降低成本的方法,以及在本地和更广泛的背景下找到问题的答案。 用自然聊天的方式发现疾病的发展趋势和病人的情况 LLM更多应用场景——内容生成/归纳总结/代码合成/语义检索 代码合成 04 实践 介绍LLMOps的最佳实践 提示——用清晰的提示触发零样本(Zero-Shot)学习 Prompt:Extract the name and mailing address from this email: Dear Kelly,It was great to talk to you at the seminar. I thought Jane's talk was quite good.Thank you for the book. Here's my address 2111 Ash Lane, Crestview CA 92002 Best,Maya Completion:Name: MayaMailing Address: