- 博客(24)
- 收藏
- 关注
原创 【Langchain多Agent实践】一个有推销功能的旅游聊天机器人
体验地址:之前,我们介绍如何打算一款简单的旅游聊天机器人,而且之前我们介绍了SalesGPT,我们看能不能把这两个东西结合起来,让我们的旅游聊天机器人具有推销产品的功能。我们先来看看效果:首先,你可以和机器人闲聊关于旅游的事儿(如果你问的问题和旅游无关的话,会提示你只回答旅游问题);其次,当你连续询问有关同一个地点时(比如北京),机器人会检查自己的本地知识库,看看产品库里有没有相关的旅游产品,如果有的话就推荐给客户,如果没有就输出一个空的字符串,用户是没有感知的,我们来看一下是如何实现的。
2024-02-24 13:46:09
3257
原创 【Langchain Agent研究】SalesGPT项目介绍(五)
这节课我们尝试使用工具,也就是之前我们介绍过的sales_agent_executor和用setup_knowledge_base()方法构造的knowledge_base
2024-02-16 10:34:17
2076
1
原创 【Langchain Agent研究】SalesGPT项目介绍(四)
我自己写了一个test方法来把这个项目跑起来,然后我把运行过程拆开,方便我们用debug来看一下代码运行过程中的中间变量。在介绍我们自己的test方法的过程中,我会顺便介绍SalesGPT其他几个重要的方法 step(), human_step(),_call(),determine_conversation_stage(),基本上掌握了这些方法就能够运行整个项目了。
2024-02-15 09:41:23
2143
3
原创 【Langchain Agent研究】SalesGPT项目介绍(三)
上节课,我们介绍了salesGPT项目的初步的整体结构,poetry脚手架工具和里面的run.py。在run.py这个运行文件里,引用的最主要的类就是SalesGPT类,今天我们就来看一下这个SalesGPT类,这两节课程应该是整个项目最复杂、也是最有技术含量的部分了。
2024-02-13 17:08:16
3208
2
原创 【Langchain Agent研究】SalesGPT项目介绍(二)
上节课,我们介绍了SalesGPT他的业务流程和技术架构,这节课,我们来关注一下他的项目整体结构、poetry工具和一些工程项目相关的设计。
2024-02-12 11:00:21
2849
原创 【Langchain Agent研究】SalesGPT项目介绍(一)
这个项目想做的事情并不复杂,就是利用大模型技术打造一个可以和用户交流、向用户推销产品的机器人。这个机器人把销售过程分为如下步骤,下面是这些步骤和样例内容,如下图所示:Introduction: 您好,我是来自XYZ公司的ChatGPT。我们是一家专注于提供创新解决方案的公司。Qualification: 您好,我想确认一下您是否是负责公司决策的相关人员?Value Proposition: 我们的产品/服务可以帮助您提高效率,降低成本,并提升您的业务竞争力。
2024-02-07 15:27:20
3762
7
原创 【Langchain+Streamlit】旅游聊天机器人
上节课,我们介绍了一个用streamlit和langchain打造的问答机器人,但是这个机器人有一个问题就是它只能一问一答,而且这个机器人是没有记忆的,你问他连续的问题他就傻帽了,所以,今天我们介绍一下如何打造一个类似chatGPT界面,有上下文感知、可以和你连续聊天的机器人,当然,我们也限定这个机器人只能聊旅游相关的问题。。
2024-02-06 10:44:05
2639
原创 【Langchain+Streamlit】打造一个旅游问答AI
利用Langchain+Streamlit打造一个交互简单的旅游问答AI机器人,如果你有openai账号,可以按照如下的网址直接体验,如果你没有的话可以站内私信博主要一下临时key体验一下:产品使用传送门——这里有演示效果和代码讲解的视频传送门 ——github传送门 ——下面是一些使用效果截图,如果你问的是地理和旅游问题,他会给出很好的答案:如果你问的问题和旅游无关,他将不予回答:这么酷的旅游问答AI机器人,只用了不到100行代码,让我们来一起愉快地看代码吧!
2024-02-03 19:58:53
2428
2
原创 千万不要手贱删CentOS自带的Python
shit,心里顿时凉凉的。没办法下载其他包包括python了,所以还得花时间去下载python的源码然后调整部署等,非常麻烦,请各位朋友注意千万不要踩坑。yum依赖pyhton!
2024-02-03 08:41:19
532
原创 【2024最全最细LangChain教程-13】Agent智能体(二)
但是我发现了一个问题就是,如果你再问他一个问题,who are you ,Agent就困惑了,他不知道需不需要去使用工具,结果进入了一个死循环,这是Agent的一个问题。这个agent在运行的时候,也会有不知道何时使用工具的问题。
2024-02-01 17:17:45
3651
1
原创 【2024最全最细LangChain教程-12】Agent智能体(一)
有很多教程把Agent称为“代理”,我觉得这个翻译太没意思了,一来和Proxy很容易混淆,二来一点都不酷。之所以把Agent翻译成智能体,是因为Agent可以(在LLM推理分析的帮助下)可以自己识别、选择和使用工具,这个就是智能体的表现。人之所以能走上进化的道路,一来是发明了语言,二来是学会了使用工具。就这两点来看,把目前的Agent称为智能体一点也不为过。
2024-01-31 11:00:40
5953
3
原创 【2024最全最细Langchain教程-11】Langchain回调模块
回调(callback)是一个python中常用的技术,在langchain中回调作为一个主要模块主要应用在运行过程管理、查看日志、计算token等场景。
2024-01-30 15:32:57
1229
原创 【2024最全最细Langchain教程-10】Langchain记忆模块
上节课我们介绍了如何利用langchain去加载互联网页面内容(中文信息)、向量化和利用大语言模型进行查询,这节课我们讲一下Langchain的记忆模块。我们利用langchain构造最多的就是聊天机器人,而要进行聊天的业务功能,就必须使得大语言模型能够获得上下文,这样对话才能继续。
2024-01-29 15:51:29
2339
2
原创 【2024最全最细Lanchain教程-9】Langchain互联网查询
上一节课我们介绍了数据库查询的方法,我们可以通过自然语言、借助langchain的数据库查询链实现SQL的自动生成、执行和回答。除了数据库,互联网也是我们丰富的数据来源。本节课介绍如何将互联网网页的信息进行抓取和查询。
2024-01-28 20:03:28
3001
原创 【2024最全最细Lanchain教程-8】Langchain数据库查询链
answerfinal_chain.invoke({"question": "user表里有多少个admin用户?"})final_chain里面的RunnablePassthrough方法我们之前在【2024最全最细Lanchain教程-7】Langchain数据增强之词嵌入、存储和检索-优快云博客里遇到过,他的作用是接收和传递参数。
2024-01-28 14:39:53
5533
5
原创 【2024最全最细Lanchain教程-7】Langchain数据增强之词嵌入、存储和检索
上一节课我们已经完成了数据的加载和转换,下面我们来看数据的词嵌入和存储是如何做的;我们来看一个完整的数据增强业务过程,尤其注意检索器retriever的构造和使用方法
2024-01-27 18:59:14
2953
原创 【2024最全最细Langchain教程-6 】Langchain数据增强之加载、转换
数据增强是指“利用大模型以外的数据来增强应用的数据获取和提供能力”。数据增强之所以存在的一个根本原因在于——大模型自身无法包含所有数据。不管是ChatGPT或者其他大模型,他们都是预训练模型,这就意味着他们总有一个截止日期,不可能包含昨天或者今天互联网上产生的最新数据。而且在一些场景下,比如TOB业务中,企业会有自己的私有数据,甚至模型部署也是本地化的,而集成企业内部数据是一个非常重要的工作,这些场景和需求都需要我们的应用具备使用大模型之外数据的能力,这种能力就被称为数据增强。
2024-01-27 16:41:27
2163
原创 【2024最全最细Langchain教程-5 】Langchain模型I/O之输出解析器
我们使用的聊天包装器输出的是一个AIMessage类型的消息体,而我们在组建chain链的时候,往往需要输出str或者其他格式的输出,因此这里会引入输出解析器的概念,它的作用把langchain的输出进行格式转化
2024-01-27 13:58:30
1774
原创 【2024最全最细Langchain教程-4 】Langchain模型I/O之提示Prompt(二)
【代码】【2024最全最细Langchain教程-4 】Langchain模型I/O之提示Prompt(二)
2024-01-27 11:30:52
1197
原创 Jupyter使用AsyncChromiumLoader方法异常情况的介绍和分析
1. Jupyter是一个基于浏览器运行的开发环境,他在调用AsyncChromiumLoader方法去启用另外一个浏览器(Chromium)时,可能存在某种冲突,这种冲突导致chromium的异步方法无法加载。如果有大神能指出这种冲突的底层原因就好了,我目前无力找到这个问题的根源。可以获得百度的页面信息。2. Pycharm开发环境不急于浏览器,因此不存在冲突因此可以运行。
2024-01-25 16:09:37
536
原创 【2024最全最细Langchain教程-3 】Langchain模型I/O之提示Prompt(一)
在上一节课中,我们开始使用 response = llm.invoke("") 这个命令开始进行大模型的调用,但是用户的输入可能很复杂、还可能带参数,所以我们要学会使用模板来进行输入内容的组织,因此我们就需要使用Prompt(模板 or 提示)。langchain官网是这样解释prompt的: "提示" 指的是模型的输入。这个输入通常不是硬编码的,而是通常由多个组件构成的。我们来看一个最简单的模板。
2024-01-24 17:33:26
1386
原创 【2024最全最细Langchain教程-2 】Langchain模型I/O之模型包装器
如何使用langchain的LLM模型包装器和聊天模型包装器进行openai调用
2024-01-24 15:40:09
1426
1
原创 【2024最全最细Langchain教程-1 】调用openai实现人工智能时代的hello_world
1. 安装和引入openai库2. 创建OpenAi对象3. 调用openai的内置方法,输入消息和模型选择4. 没有梯子国内也可实现openai访问5. 使用免费模型的方法
2024-01-24 14:09:09
4341
4
原创 使用Jupyter进行openai调用请注意卡死问题,Openai账户的钱很容易就跑没了
结果有一天我突然发现我的账号一下子把5美元的费用都跑完了,给我心疼坏了,又得去找代充给充钱,很麻烦,我当时就怀疑是不是我账号被盗用了,发现不太可能;后面我回忆了一下,就是我在跑jupyter任务的时候,发现我跑一个模型的时候老是提示同步错误(我没有截图都下次碰到我要截个图),当时没有当一回儿事儿就过去了。但是现在想起来,很可能是jupyter的一些问题导致卡死和重复调用的问题(我本身没有写任何循环、也没有用异步),所以基本确定是jupyter本身的问题。
2024-01-23 14:49:33
630
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人