ChatGLM基于LangChain应用开发实践(一)

一、概述

在使用大模型(LLM)做应用开发时,LangChain是一个主流的开发框架,通过它来构建Agent,根据用户查询访问企业私有数据,调用自定义或者第三方工具库,然后再调用LLM,利用其推理能力以自然语言的方式返回查询结果给用户。本文使用ChatGLM系列的最新开源模型chatglm3-6b,通过LangChain来访问基于Notion存储的私有数据,最后让chatglm3-6b返回查询结果。

二、关于模型的准备

通过访问huggingface.co可以获取开源模型chatglm3-6b,在使用前需要安装依赖库:

pip install protobuf transformers==4.30.2 cpm_kernels torch>=2.0 gradio mdtex2html sentencepiece accelerate

可以利用transformers库直接下载模型:

接下来测试一下模型加载后是否能被正常调用:

打印结果如下:

继续输入问题,这次对话调用加入了参数history:

打印结果如下:

复制代码
晚上睡不着时,你可以尝试以下几种方法:

1. 保持冷静:尽量放松,不要焦虑或担心失眠问题。

2. 改变环境:确保你的卧室环境安静、舒适、黑暗。关闭电子设备,降低光线,使用舒适的床垫和枕头。

3. 规律作息:每天尽量在相同的时间入睡和起床,以调整你的生物钟。

4. 放松技巧:尝试一些放松技巧,如深呼吸、冥想、渐进性肌肉松弛等。

5. 避免刺激性活动:晚上避免喝咖啡、茶、可乐等含咖啡因的饮料,避免过于油腻的食物,这些都可能导致失眠。

6. 睡前活动:睡前适度活动,如散步、瑜伽等,有助于放松身心。

7. 睡前限制使用电子设备:过度使用电子设备会影响睡眠质量,建议睡前一小时不再使用电子设备。

8. 睡前故事或阅读:睡前听一些轻柔的音乐或者读一些轻松的书籍,有助于入睡。

如果以上方法不能解决你的失眠问题,建议咨询专业医生或睡眠专家,以获得更好的建议和治疗。

以上测试表明模型调用成功。

三、关于私有数据的准备

为了方便演示,这里使用了从notion网站(https://www.notion.so)导出的一些样例数据来作为私有数据,供大模型框架LangChain来访问。下面展示的是样例数据片段:

如果基于传统项目开发来访问notion的数据,随着数据的增多,这会让访问变得困难,并且效率低下,从另一方面来说,现在的LLM通常是基于公开的通用数据集来进行训练的,如果企业用户提交的查询是跟私有数据相关的,那么直接与LLM交互往往得不到期望的结果,譬如下面提交一个问题让模型回答(用户问题跟私有数据相关):

问题:what's the probation period?

以下是模型给出的回答:

接下来会根据以上提到的notion样例数据,通过使用LangChain构建Agent来访问这些数据,从而让LLM的回答更有针对性,更符合用户期望的查询结果。

相关推荐
火山引擎开发者社区40 分钟前
没有长期记忆,Agent 谈何持续进化?一图看懂火山 Mem0:解锁 Agent 持续学习与进化之路
人工智能
冬奇Lab4 小时前
Workflow 系列(06):安全——跨步骤注入传播与四层防御
人工智能·工作流引擎
冬奇Lab4 小时前
每日一个开源项目(第149篇):RAG-Anything - 把图片、表格、公式当成一等公民的多模态 RAG 框架
人工智能·开源
米小虾4 小时前
AI Agent 安全实战指南:当智能体开始"不听话",开发者该如何应对?
人工智能·安全·agent
IT_陈寒6 小时前
Vite的热更新突然不香了,排查三小时差点砸键盘
前端·人工智能·后端
阿里云大数据AI技术8 小时前
构建高转化海外电商搜索:阿里云OpenSearch行业算法版的全链路智能优化策略实战
人工智能·搜索引擎
Awu12278 小时前
⚡从零开发 Agent CLI(五)实现一个可治理、可扩展的工具系统
前端·人工智能·claude
字节跳动视频云技术团队8 小时前
让 Agent 成为音视频工作台:AI MediaKit CLI + Skill 发布
人工智能·音视频开发
魏祖潇8 小时前
framework 整合实战——DDD/TDD/SDD 三件套在 framework 仓的真实落地
人工智能·后端