ChatGPT分享-如何开发一个LLM应用

1​背景​

ChatGPT引起巨大的业界震撼,各行各业都在讨论大语言模型、通用人工智能。AI经历了五十多年的发展,现在正处于产业结构水平化发展的关键时期。这一变化源于NLP领域范式的转变,从“预训练+微调”向“预训练、提示、预测”模式演进。在这一新模式下,下游任务适应预训练模型,使得一个大型模型能适用于多个任务。这一变化为AI产业的水平化分工奠定了基础,大型语言模型成为基础设施,Prompt Engineering公司层出不穷,专注于连接用户和模型。AI产业的分工初步形成,包括底层基础设施(云服务商)、大型模型、Prompt Engineering平台和终端应用。随着AI产业变革,开发者可以充分利用大型语言模型(LLM)和Prompt Engineering来开发创新应用。

2Prompt-Ops下的应用

目前要开发一个基于LLM的应用,我们面临最大的工程上的问题是什么?

大语言模型不能联网,无法获取最新的信息大语言模型没有我们私有的数据,无法回答垂直方向的问题大语言模型的开放API(text-davinci-003)没有像ChatGPT那样优秀的上下文能力大语言模型无法驱动其他工具。

2.1   Langchain等工程框架解决了这些工程上的问题

以Langchain为例简单来说:LangChain是 LLM 底层能力的封装,是一种 Prompt Engineering或者说是Prompt-Ops。

它可以接入各种不同LLM的服务,抽象了各种大语言模型的调用它可以创建各种PromptTemplate,实现定制化的Prompt模版它可以创建链来组合调用PromptTemplate它可以通调用各种工具,实现GPT-3目前不擅长的事情,比如搜索/数学/链接私有数据库/Python代码它可以使用代理, 驱动LLM 来确定采取哪些行动以及采取何种顺序。动作可以是使用工具并观察其输出,也可以是返回给用户。它可以通过它的Memory模块,来实现对话历史的建模。

2.2    一些Langchain的开发例子

2.2.1   结合搜索的GPT

图片

图片

这是一个用ChatGPT和LangChain开发的Demo对比的例子,输入的都是“谁是周杰伦的老婆?她当前的年龄乘以0.23是多少?”。可以看出ChatGPT或者GPT-3.5因为没有搜索能力,回答的结果是错误的。右边用LangChain结合OpenAI的GPT-3.5的API则输出了正确的结果,他会逐步去搜索获得正确信息,得出正确结果,而且中间的过程是框架自动处理的,我除了输入问题没有其他操作。

2.2.2   将自然语言转为Python代码并自行纠错

这是一个非常令人震惊的例子,在这个流程中,它自己发现函数未定义的报错并自行纠正。

图片

☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜

图片

2.2.3   使用GPT-3 + Statmuse + Langchain查询NBA数据

Fuzzy API composition: querying NBA stats with GPT-3 + Statmuse + Langchain

使用Langchain与体育数据搜索网站相结合,提问复杂的数据问题并得到准确的回复。例如:“波士顿凯尔特人队在这个 2022-2023 赛季的 NBA 赛季场均防守得分是多少?与他们上赛季的平均水平相比,百分比变化如何?”

图片

2.2.4   连接Python REPL打开浏览器播放音乐

一个蛮科幻的场景,我用Langchain接入了Python REPL工具,输入“给我放一首歌”,它导入了webBrowser包,调用代码打开了浏览器,给我播放了一首 《never gonna give you up》

def pythonTool():bash = BashProcess()python_repl_util = Tool("Python REPL",PythonREPL().run,"""A Python shell. Use this to execute python commands. Input should be a valid python command.If you expect output it should be printed out.""",)command_tool = Tool(name="bash",descriptinotallow="""A Bash shell. Use this to execute Bash commands. Input should be a valid Bash command.If you expect output it should be printed out.""",func=bash.run,)# math_tool = _get_llm_math(llm)# search_tool = _get_serpapi()tools = [python_repl_util, command_tool]agent = initialize_agent(tools, llm, agent="zero-shot-react-description", verbose=True)agent.run("给我播放一首音乐")

图片

2.2.5   连接私有数据

连接私有数据对第三方企业做LLM应用来说非常重要。下面举几个例子

LangchainJs的文档,结合了Langchain:AI-powered search for LangchainJS Documentation,你可以直接问文档内容、技术细节。

图片

数据库产品 Supabase也做了同样的事情,将自己的文档与ChatGPT相连接,使得开发者可以很方便的询问/查找自己遇到的技术问题。https://supabase.com/docs

图片

政府信息问答的一个例子:Co-pilot for government

法律公文和政策条款一般都非常复杂繁琐,这个demo中将旧金山政府的信息用Langchain与GPT结合,做到询问其中细节能获得准确回复的效果。

图片

> Entering new AgentExecutor chain...I need to find out the size limit for a storage shed without a permit and then search for sheds that are smaller than that size.Action: SF Building Codes QA SystemAction Input: "What is the size limit for a storage shed without a permit in San Francisco?"Observation: The size limit for a storage shed without a permit in San Francisco is 100 square feet (9.29 m2).Thought:Now that I know the size limit, I can search for sheds that are smaller than 100 square feet.Action: GoogleAction Input: "Storage sheds smaller than 100 square feet"Observation: Results 1 - 24 of 279 ...Thought:I need to filter the Google search results to only show sheds that are smaller than 100 square feet and suitable for backyard storage.Action: GoogleAction Input: "Backyard storage sheds smaller than 100 square feet"Thought:I have found several options for backyard storage sheds that are smaller than 100 square feet and do not require a permit. Final Answer: The size limit for a storage shed without a permit in San Francisco is 100 square feet. There are many options for backyard storage sheds that are smaller than 100 square feet and do not require a permit, including small sheds under 36 square feet and medium sheds between 37 and 100 square feet.

2.3   结合私有数据问答

LLM应用与私有数据交互非常重要,我看到无数人在问一些ChatGPT无法回答的问题了:问认不认识谁、问自己公司业务细节、问各种可能不包含在预训练数据集里的东西。这些都已用Langchain和LlaMaIndex来解决。试想一下,将私有数据与LLM相结合,将改变数据原有的访问方式,通过问答能很自然地获取到自己需要的信息,这是比当前的搜索/打标分类都要高效的数据交互方式。

2.3.1   如何构建一个基于私有数据的LLM问答系统

图片

向量数据库现在看起来是构建LLM App中很关键的一个组件。首先 LLM 的预训练和微调过程不可能包含我们所期待的私有数据,因此如何将LLM关联到私有数据成为一个很关键的需求。而且LLM的“接口”-自然语言通常不是像Key-Value的映射那样精确地。而且在这一阶段我们希望LLM去理解我们的知识库,而不是简单的在其中搜索相同的字符串,我们希望询问关于我们知识库的细节,并给出一定理解后的答案(以及来源),这样匹配向量这样的搜索方式是一个非常合适且关键的解决方案。还有一个关键点是,LLM在每次调用是按token计费(即文本量),并且目前的接口的上下文有着4096 tokens的限制。,因此面对庞大的数据,我们也不可能将所有的数据一次性传给LLM。因此才有了第一张图那个流程图的结构。本地预先将我们私有的数据转成向量存在Qdrant里,用户问答时,将用户的问题转为向量,然后去Qdrant里进行搜索(相似性匹配)得到Top K个结果,然后将这些结果(注意这里的结果已经是自然语言了)传给LLM进行总结输出。

2.3.2   结合私有数据问答的抽象流程

这里使用Langchain社区博客的流程图为例

图片

私有数据分割成小于LLM上下文的分块,创建向量后存入向量数据库

图片

将问题计算向量后在向量数据库进行相似性搜索,算出相关性较高的top k个结果后拼接prompt送往LLM获得答案。

Gridster.js多列网格式拖动布局插件 Gridster.js多列网格式拖动布局插件

网页中拖动 DIV 是很常见的操作,今天就分享给大家一个 jQuery 多列网格拖动布局插件,和其它的插件不太一样的地方在于你处理拖放的元素支持不同大小,并且支持多列的网格布局,它们会自动的根据位置自己排序和调整。非常适合你开发具有创意的应用。这个插件可以帮助你将任何的 HTML 元素转换为网格组件

Gridster.js多列网格式拖动布局插件 74 查看详情 Gridster.js多列网格式拖动布局插件

2.3.3   重要组件

OpenAI Ada模型:text-embedding-ada-002模型可以快速编码一个1536维的向量,我们可以使用这个向量来计算文本之间的相似性。Langchain / LLamaIndex:Langchain包含多种文本拆分器与文档连接器,方便将文件进行拆分并且在向量数据库中索引;LlamaIndex 可以从向量存储加载数据,类似于任何其他数据连接器。然后可以在 LlamaIndex 数据结构中使用此数据。向量数据库,选型比较多:Chroma / FAISS / Milvus / PGVector / Qdrant / Pinecone等等。

2.3.4   OpenAI私有部署与成本的问题

再来聊聊最近那个OpenAI私有部署的新闻,如果用Langchain来做链接,面对庞大的私有数据,用一个embedding模型(OpenAI的ada)计算输入问题向量,用Qdrant等向量数据库来管理私有数据的向量和向量搜索,用Langchain来做中间的链接虽然可以解决问题,但是token的消耗却是不容忽视的成本问题。私有部署+微调可能能解决大部分前面提到的问题。可能是有钱大公司用Model instance和fine-tuning,小公司独立开发者用Langchain等框架。更未来OpenAI的LLM服务能力外溢,可能不需要Prompt了,甚至把Langchain的功能都能包括了,LLM应用的开发接入也许只需要一个接口调用。

2.4    2023年的LLM应用技术栈

2023 用来简单搭建 AI Demo 的最新技术栈:

托管: Vercel前端: Next.js后端: Vercel with flask数据库: SupabaseAI 模型: OpenAI / Replicate / Hugging FaceLLM框架层: LangChain / LLaMaIndex向量存储/搜索: Pinecone / FAISS

2.5   Prompt-Ops 目前最大的问题

一些关于 Langchain 这类Prompt-Ops这类工具的反对观点:stream.thesephist.com主要问题是在这类工具/框架,将自然语言作为代码和LLM的连接,使用非确定性语言本身作为控制流,有点疯狂。而且本身评估模型输出效果现在是个很麻烦的事,没有很好的解决方案,很多都是维护一个巨大的电子表格,靠人去评估。(也有用LLM评估LLM的方案,还比较早期)所以要投入生产,真实面对用户而不是作为twitter演示可能还有很多工作要做。

详细说说测试环节面临的巨大挑战。假如你的产品有一套研发阶段效果很好的prompt,交给测试后,可能测试上百条上千条就能看出问题了。由于效果无法保证,真正推出给c端用户会面临很大的挑战。而且没有用微调服务或者model instance的话,如果OpenAI更新了模型,你的生产环境的prompt可能需要全部重新测试一下效果。你的prompt也需要和代码一样按版本来管理,不管有没有prompt变更,每个版本上线前都需要进行回归测试。没有好的自动化评估方案的话,大量的case都需要测试人工来看会耗费非常多的人力。

结合私有数据的LLM应用目前开发起来在工程上已经有很多不错的方案了,很容易跑出效果不错的demo,但还是需要非常谨慎对待这样一种应用。毕竟我们不只是要做一个在社交媒体或者Leader面前演示的项目。提供给用户输入的是一个对话框,自然语言宽泛到即使你测试上万条结果也可能出现意想不到的结果,毕竟像new bing和chatGPT这样的产品也会被Prompt Injection。面对这种不确定性,工程上如何去避免,测试如何去覆盖都是一个成熟产品待解决或者说还有很多工作可以做的问题。

但我觉得也不必完全否定这类Prompt-Ops工具/框架,毕竟现阶段确实能做出很多不错的demo来验证想法。

3未来可能的一些产品形态

聊聊ChatGPT API开放后LLM应用可能的形态。

对话聊天,是最直观的应用方式,在API上做好对话历史的管理。虚拟角色聊天,在基础对话聊天上,对API的prefix_message上做一些角色定义的prompt,可以实现类似Character.ai的效果。更深入可能是作为游戏角色、虚拟人、XR助手等。类似Notion的文本辅助撰写工具,目前Notion、FlowUs都做了类似的应用。未来各家社区的发布器集成也是一个趋势,减低用户发布门槛,提升发布质量。数据总结性工具,实现Chat-Your-Data,提供文档的输入给用户,让用户可以与自己提供的数据聊天,本质只涉及到互联网公开的数据与用户私有的数据。大企业的Chat-Your-Data,各家大公司在原有业务基础上,结合大企业的私有数据,提供更优质的服务。比如结合用户点评的大众点评,能够用“想去放neo-soul和R&B音乐的酒吧”,比如我们的商详页,能够总结所有用户对这个商品的评价,并且可以让用户对这个商品的资料进行问答。与政务、医疗、教育等领域结合,融合线上机构官网、线下大屏,提供更好的市民服务。与其他工具比如IFTTT或者各种私有协议相结合,实现LLM可以访问更多的工具和系统,举个例子:iot场景,Office Copilot。

LLM应用实际是一种新的人机交互方式,能够让用户用自然语言与我们目前的系统沟通,很多应用甚至可以简化到只有一个聊天窗口。

4总结

目前来说由于通用大模型训练/部署的高成本来说,产业水平化分工的条件基本成熟,世界上并不需要很多个大模型,做LLM的应用将会是中小型企业和个人开发者的必然选择。新形态的编程/工程范式需要工程师去及时学习理解。目前的开源技术栈已经能满足大部分产品的需求,可以尝试快速实践demo来验证想法。

参考资料:

https://blog.langchain.dev/tutorial-chatgpt-over-your-data/

Tutorial: ChatGPT Over Your Data

https://qdrant.tech/articles/langchain-integration/

Question Answering with LangChain and Qdrant without boilerplate

https://mp.weixin.qq.com/s/VZ6n4qlDx4bh41YvD1HqgQ

Atom Capital:深入探讨ChatGPT带来的产业变革

以上就是ChatGPT分享-如何开发一个LLM应用的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/838913.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年11月27日 11:42:19
下一篇 2025年11月27日 11:46:26

相关推荐

  • HiDream-I1— 智象未来开源的文生图模型

    hidream-i1:一款强大的开源图像生成模型 HiDream-I1是由HiDream.ai团队开发的17亿参数开源图像生成模型,采用MIT许可证,在图像质量和对提示词的理解方面表现卓越。它支持多种风格,包括写实、卡通和艺术风格,广泛应用于艺术创作、商业设计、科研教育以及娱乐媒体等领域。 HiDr…

    2025年12月5日
    000
  • 图书应用程序无法在iPhone上运行:如何修复

    无法在“图书”应用中阅读自己喜欢的图书?与 ios 上的其他原生应用程序一样,“图书”应用程序也可能面临一些问题。如果“图书”应用无法正常工作,则应从强制关闭“图书”应用开始。如果这个简单方法不能解决应用程序,请按照其余步骤操作应该可以解决问题。 修复 1 – 强制关闭“图书”应用 从 iPhone…

    2025年12月5日 手机教程
    000
  • ScholarCopilot— 滑铁卢与卡内基梅隆大学联合推出的AI学术写作助手

    ☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜ 沁言学术 你的论文写作AI助理,永久免费文献管理工具,认准沁言学术 30 查看详情 ScholarCopilot是什么 scholarcopilot 是加拿大滑铁卢大学与卡内基梅隆大学的研究团队…

    2025年12月5日 科技
    000
  • 2025年全球AI应用top20最新榜单出炉

    生成式AI与多模态应用的代表包括:1. OpenAI GPT-5通过图灵测试,支持跨模态推理,API调用量达10万亿次/月;2. DeepSeek-R1用户破百万,推理成本低,支持中文理解;3. Google Gemini Ultra与谷歌生态深度整合,市占率40%;4. MidJourney V5…

    2025年12月4日
    000
  • Linux实现自动挂载autofs的方法详解

    ☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜ 目录 实现自动挂载-autofs autofs工具简单使用 autofs配置详细说明 自动挂载资源有两种格式 优化Linux系统性能 安装Tuned 选择调整配置文件 检查系统推荐的调整配置文件…

    2025年12月4日
    000
  • OpenAI o4-mini— OpenAI推出的小型推理模型

    openai o4-mini 是由openai推出的一款小型推理模型,专为快速且经济高效的推理任务而设计。该模型在数学、编程和视觉任务上表现卓越,在aime 2024和2025基准测试中表现出色,是最佳模型之一。openai o4-mini 支持高容量和高吞吐量的推理任务,适用于快速处理大量问题。它…

    2025年12月4日
    000
  • OpenAI拟30亿美元收购AI编程工具Windsurf

    据知情人士透露,openai正在商谈以约30亿美元的价格收购人工智能辅助编码工具windsurf(原名codeium)。此项交易将成为openai迄今为止最大的一笔收购案,尽管具体细节尚未敲定,谈判仍有可能会改变或终止。 报道指出,Windsurf正在与Kleiner Perkins和General…

    2025年12月4日
    000
  • 苹果回应马斯克指控:App Store 公平且无偏见

    感谢网友 風見暉一、对的时间点 提供的线索! 8 月 13 日,苹果公司针对埃隆・马斯克(Elon Musk)此前关于 App Store 在人工智能应用推广中偏袒 OpenAI 的 ChatGPT 的说法作出回应,强调其应用商店平台始终保持中立与公平。 苹果向彭博社记者马克・古尔曼(Mark Gu…

    2025年12月3日
    100
  • 快速生成ai图片的工具排行榜单top10汇总

    以下是快速生成AI图片的工具排行榜单前三名:1. DALL·E 3:由OpenAI开发,支持复杂指令和多轮对话修改,集成于ChatGPT Plus或通过Bing Image Creator免费使用。2. Midjourney:基于Discord,艺术风格多样,生成质量高,需订阅使用。3. Stabl…

    2025年12月3日 科技
    100
  • RL 是推理神器?清华上交大最新研究指出:RL 让大模型更会“套公式”、却不会真推理

    清华和上交的最新论文中,上演了一场“学术打假”的戏码。文中研究者们对当前“纯 rl 有利于提升模型推理能力”的主流观点提出了相反的意见。 通过一系列实验,他们证明引入强化学习的模型在某些任务中的表现,竟然不如未使用强化学习的模型。 论文批判性地探讨了 RLVR 在提升 LLM 推理能力方面的作用,尤…

    2025年12月3日 科技
    100
  • Agent 要被吃进大模型了

    今天凌晨,奥特曼突然发文宣布推出自家最新的 o 系列模型:满血版 o3 和 o4-mini,同时表示这两款模型都可以自由调用 chatgpt 里的各种工具,包括但不限于图像生成、图像分析、文件解释、网络搜索、python。 总的来说,就是比前一代的性能更强而且价格更低。 ☞☞☞AI 智能聊天, 问答…

    2025年12月3日 科技
    000
  • APP接入AI大模型:实现智能化!

    ai大模型凭借其卓越的理解、生成与推理能力,正在重塑软件应用的形态。将ai大模型能力融入现有或新开发的app中(即app接入ai大模型),已成为开发者增强产品竞争力、为用户打造前所未有的智能体验的关键手段。这不仅是一次技术迭代,更是推动应用向智能化转型的核心战略。 为何APP接入AI大模型已成为不可…

    2025年12月3日
    000
  • AI如何连接数据库执行SQL_利用AI工具连接并运行SQL教程

    AI连接数据库执行SQL是通过自然语言理解将用户需求转化为可执行的SQL语句,实现人机协作的数据查询方式。首先选择支持数据库类型的AI工具,配置安全连接并提供数据库Schema以提升准确性;接着输入自然语言问题,AI生成SQL后需经人工审查优化,再执行获取结果。该技术降低了非技术人员使用数据的门槛,…

    2025年12月3日 数据库
    000
  • 首届魔搭开发者大会举办,重磅发布开发者激励计划

    雷峰网讯 6 月 30 日,首届魔搭开发者大会在北京盛大召开。自 2022 年 11 月成立以来,经过两年多的快速发展,社区已聚集超过 500 家贡献机构,托管开源模型数量突破 7 万个,增长达 200 多倍;用户规模从 2023 年 4 月的 100 万迅速扩展至目前的 1600 万,增幅约 16…

    2025年12月2日
    000
  • 怎样用免费工具做年终PPT_免费年终总结PPT的制作方法

    使用AI工具可免费快速制作专业年终总结PPT。首先通过Autoppt输入主题一键生成多套方案;其次利用博思AIPPT或笔灵PPT导入已有文档自动转为幻灯片;再从OfficePlus等网站下载免费模板手动填充内容;最后熟悉VBA者可用ChatGPT生成代码自动化创建8页基础结构,提升效率。 如果您需要…

    2025年12月2日
    000
  • edge浏览器怎么关闭侧边栏的Copilot_Edge隐藏必应聊天图标方法

    1、可通过Edge设置关闭侧边栏Copilot:进入设置→辅助功能和杂项→管理侧边栏内容→关闭Copilot开关。2、修改浏览器启动参数:在快捷方式目标末尾添加–disable-features=MSACopilotService。3、使用组策略编辑器:启用“配置侧边栏”策略并将Copi…

    2025年12月2日 电脑教程
    000
  • 夸克网盘资源精品合集_夸克网盘入口快速下载链接直达

    夸克网盘资源精品合集_夸克网盘入口快速下载链接直达?这是不少网友都关注的,接下来由PHP小编为大家带来夸克网盘资源精品合集_夸克网盘入口快速下载链接直达,感兴趣的网友一起随小编来瞧瞧吧! 夸克网盘资源精品合集入口 1、夸克网盘资源精品合集可通过其官方应用或网页端直接访问,官方地址为:https://…

    2025年12月2日 软件教程
    000
  • 如何使用 CSS Flexbox 实现图片和文本的响应式布局?

    CSS Flexbox 响应式布局:图片与文本的完美结合 构建自适应网页布局,应对不同屏幕尺寸至关重要。本文将演示如何利用 CSS Flexbox 实现一个常见的布局需求:左侧固定尺寸图片,右侧自适应文本内容。 在宽屏设备上,文本占据剩余空间;而在窄屏设备(例如手机)上,图片则显示在文本上方。 挑战…

    2025年12月2日 web前端
    000
  • Grok和ChatGPT有什么不同 Grok核心功能与区别对比【分析】

    Grok依托X平台实时数据,擅长热点追踪与分步推理,支持“Deep Search”等专业模式,但仅限Premium+用户使用;ChatGPT知识库固定但功能全面,通过插件实现联网,图像生成更精准,提供免费至付费多层级服务,生态开放且接入便捷。 ☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免…

    2025年12月2日 科技
    000
  • ChatGPT对话内容怎么分享给别人 ChatGPT生成分享链接设置方法【教程】

    可通过复制内容、截图、导出文件或使用笔记工具实现ChatGPT对话分享。1、复制对话文本粘贴至邮件或文档共享;2、用Command+Shift+4截取对话区域并发送图片;3、将对话保存为.txt或.docx文件上传至iCloud、Google Drive等云存储,生成“仅查看”权限的链接;4、将内容…

    2025年12月2日 科技
    000

发表回复

登录后才能评论
关注微信