学习笔记:易速鲜花网络人脉工具项目
1. 项目概述
- 背景:易速鲜花电商需要通过微博大V推广品牌。
- 目标:开发工具帮助市场部门找到合适的微博大V并建立联系。
2. 项目实现步骤
- 搜索大V:使用LangChain找到可能对鲜花推广感兴趣的大V,并返回UID。
- 爬取大V信息:根据UID,获取大V的公开信息。
- 生成介绍文章:利用LLM生成基于大V个人信息的介绍型文章。
- 输出解析:使用LangChain输出解析功能,生成格式化数据结构。
- 部署人脉工具:创建App并部署,供市场部门使用。
3. 技术细节与实现
- LangChain组件:链、代理、工具、LLM的文本摘要和生成功能。
- 自定义Tool:因标准工具不满足需求,创建Customized Tool。
- 提示模板:设计用于引导LLM生成所需内容的模板。
- 输出解析:使用Pydantic模型和输出解析器生成结构化数据。
4. 第三步:生成介绍文章
- 文案形式:总结大V特点、兴趣爱好,撰写联络信件草稿。
- 代码实现:重构
findbigV.py
,将文案生成功能封装成generate_letter
函数。
5. 第四步:加入输出解析
- Pydantic模型:定义
TextParsing
模型,描述大V信息的解析结构。 - 输出解析器:创建
PydanticOutputParser
,将文本输出解析为模型实例。
6. 第五步:部署人脉工具
- HTML/CSS:创建前端页面,展示输入表单和结果。
- Flask应用:开发后端逻辑,处理请求并返回JSON响应。
- 程序结构:
findbigV.py
功能封装,app.py
处理Web请求。
7. 项目总结
- 项目完成:整合了LangChain的多个模块,从搜索到部署的全流程。
- 创意与实践:项目展示了LangChain的实际应用,具有启发性。
8. 思考题
- 文案生成:调整提示模板,生成更贴合业务需求的文案。
- 数据爬取:尝试爬取其他网站数据,扩展人脉工具功能。
- 程序健壮性:修改程序,提高其鲁棒性,处理更多边缘情况。
9. 网络问题说明
- 网页解析失败:由于网络原因,某些网页(如CDN资源链接)解析未成功。建议检查链接合法性并适当重试。
以下是关于“易速鲜花”聊天机器人项目的详细学习笔记,包括知识点、逻辑结构和解释:
###易速鲜花聊天机器人项目
1. 项目概述
- 目标:开发一个能够进行长时间对话并访问用户所需信息的聊天机器人。
- 核心特征:记忆能力、检索能力、自然对话风格。
2. 聊天机器人核心组件
- 聊天模型:专用于对话场景的模型,如LangChain支持的聊天模型。
- 提示模板:整合默认消息、用户输入、历史交互和检索上下文。
- 记忆:记住与用户的先前互动,增强对话连贯性。
- 检索器:提供特定领域知识的可选组件。
3. 技术实现步骤
- 基础聊天对话工具:使用LangChain的ConversationChain实现。
- 记忆功能:通过LangChain的记忆功能,记住用户之前的话。
- 检索功能:整合易速鲜花内部文档资料,提供专业回答。
- 数据库查询(可选):允许用户查询订单状态和库存等。
- 部署:在网络上部署聊天机器人供企业内部员工和用户使用。
4. 第一步:开发基础聊天机器人
- 实现:使用ChatOpenAI模型和系统消息设置聊天机器人的角色。
- 交互:创建消息列表,包括系统消息和用户输入,获取机器人响应。
5. 第二步:增加记忆机制
- ConversationBufferMemory:跟踪对话历史,增强机器人记忆能力。
- LLMChain:整合LLM、提示和记忆,形成完整的对话链。
6. 第三步:增加检索机制
- 文档加载:加载易速鲜花内部文档。
- 文本分割:使用RecursiveCharacterTextSplitter分割文档。
- 向量数据库:使用Qdrant创建向量数据库,存储文档向量。
- 检索功能:通过向量数据库检索相关文档,提供基于文档的回答。
7. 聊天机器人的增强功能
- 记忆:使机器人能够回忆过去的交互。
- 检索:提供最新的、特定领域的信息。
- 多面手:回答一般性问题和易速鲜花内部问题。
8. 项目总结
- 核心组件:记忆和检索,使机器人能够提供连贯的对话和领域特定信息。
- LangChain技术:复习了对话模型、提示模板、记忆实现和检索功能。
9. 思考题
- 重构代码:使用ConversationChain中的Memory重构并简化代码。
- 数据库查询能力:整合数据库查询功能,让用户能够查询库存和销售情况。