
学习笔记
塘泥吃虾米
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
LCEL语法下支持Memory
由于当Chain使用Memory模块时,就无法使用LCEL管道符,所以LangChain另外提供了一个工具类RunnableWithMessageHistory,让Chain可以支持History能力。同时在调用Chain的时候,需要额外传入config对象。要使用这个工具类,需要以如下方式创建Histroy对象,原创 2024-07-01 17:38:13 · 278 阅读 · 0 评论 -
基于ConversationChain实现带记忆的对话应用
【代码】基于ConversationChain实现带记忆的对话应用。原创 2024-06-30 20:22:11 · 272 阅读 · 0 评论 -
基于阿里通义千问实现ReAct
目前,国内大模型基本上都还不支持类似openai的自定义函数绑定,即:llm.bindtools方法,也就无法实现自定义ReAct Agent,如果要使用国内大模型,需要考虑自己实现。本文基于国内的阿里通义千问,实现了类似OpenAI 的ReAct Agent效果。以下是开启调试结果后,每次大模型的推理、行动输出。原创 2024-06-30 09:03:07 · 969 阅读 · 0 评论 -
大模型多工具动态选择
注意事项:大模型生成的工具入参arguments结构可能会不稳定,导致出错。需要通过提示词去强化。比如代码中,我强化了“"arguments"键对应的值应该是所选函数的输入,必须是dict格式”这句提示词,之后就稳定了。我们更需要一个能够根据用户提示词,自动选择对应工具的大模型,而不是在一个链里一次只能使用一个工具。这里用代码实现了,在langchian中如何从多个可选工具中,动态的使用工具。原创 2024-06-26 21:15:48 · 356 阅读 · 0 评论 -
基于聚合数据API实现出行顾问
【代码】基于聚合数据API实现出行顾问。原创 2024-06-26 06:37:26 · 264 阅读 · 0 评论 -
基于LCEL实现大模型编写SQL并查询数据库
【代码】基于LCEL实现大模型编写SQL并查询数据库。原创 2024-06-24 23:50:52 · 568 阅读 · 0 评论 -
基于LCEL实现自动编写并执行Python代码
【代码】基于LCEL实现自动编写并执行Python代码。原创 2024-06-24 21:36:39 · 212 阅读 · 0 评论 -
用create_stuff_documents_chain构建一个完整的知识问答模型
【代码】用create_stuff_documents_chain构建一个完整的知识问答模型。原创 2024-06-23 21:20:42 · 783 阅读 · 0 评论 -
LCEL语法管道操作符“|”实现原理
管道符号“|”的含义是“或者”,Python解析器在解析时a | b语句时,如果发现两个对象之间存在“|”符号,会先尝试让对象b调用a的__or__方法。所以a | b 等价于 a.__or__(b)。LangChain通过实现Runable类并重写__or__方法内容,来实现LCEL语法。以下用一段代码来实现原理。原创 2024-06-22 18:36:05 · 488 阅读 · 0 评论 -
LangChain记忆组件Memory用法
大多数大语言模型有对话界面,而对话中一个至关重要的功能就是引用之前在对话中介绍过的信息。通常一个对话系统应该能够直接访问一定窗口范围内的历史消息。而在更复杂的系统中,需要具备一个不断更新的世界模型,以便维护有关实体及其关系的信息。以下用一段代码来实现LangChain来实现一个对话系统,该对话系统实现了记忆能力。原创 2024-06-22 17:03:11 · 331 阅读 · 0 评论 -
LangChain输出解析器Output Parser用法
大语言模型输出的一般是文本格式,但是很多时候,我们可能需要大模型按照我们要求的格式进行格式化输出,比如输出XML、JSON、逗号分隔符的列表等,OutputParser可以帮助我们获取结构化的信息。原创 2024-06-22 17:02:26 · 361 阅读 · 0 评论 -
LangChain 链组件Chain用法
如果大模型只用来做聊天机器人场景是比较简单的,但是如果要让当前的大模型去完成一个复杂的任务,目前的大模型能力是无法达到的。LangChain提出了链(Chain)这个概念,即把所有的组件,包括大模型在内,串成一个链,通过这个链去完成比较复杂的任务。原创 2024-06-22 17:01:46 · 388 阅读 · 0 评论 -
主流大模型的对话模型ChatModel实现
聊天模型是大语言模型(LLM)的一种封装。聊天模型不再局限于提供一个“文本输入,文本输出”的API能力,而是提供一个以“聊天消息”作为输入和输出的接口。通过向聊天模型传递一个或多个消息,可以获取聊天完成的结果,响应也是一个消息。目前Langchain支持的消息类型有AIMessage、HumanMessage、SystemMessage和ChatMessage,其中ChatMessage可以接受一个Role参数,传递任意角色。原创 2024-06-22 17:00:55 · 1323 阅读 · 0 评论 -
LangChain模板Template组件用法
大语言模型以文本作为输入,这段文本被成为提示词(Prompt)。大部分时候,我们和大模型交互,是需要多次、重复的让大模型去完成类似的任务,所以提示词大部分时候是内容相似的、结构是一致的,只是少部分需要修改。那么这个时候,模板就非常有用。原创 2024-06-22 16:59:22 · 376 阅读 · 0 评论 -
Python 目录递归查找,生成文件路径列表
import osdef search_file(path,file_path_list): files = os.listdir(path) for file in files: file_path = os.path.join(path,file) #如果是文件夹,递归调用 if os.path.isdir(file_pat...原创 2019-12-05 11:38:57 · 652 阅读 · 0 评论