# langchain-laochen **Repository Path**: lvzhenchao/langchain-laochen ## Basic Information - **Project Name**: langchain-laochen - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-10-25 - **Last Updated**: 2025-11-02 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # langchain-laochen ## 1、框架介绍 - 开源框架,核心概念包括:组件、链、模型输入输出、数据链接、内存和代理 ### 1-1、开发的应用类型 - 聊天机器人 - 个人助理 - 文档分析和摘要 - 内容创作 - 代码分析和生成 - 工作流自动化 - 自定义搜索引擎 - 教育和学习辅助 - 数据分析和报告 - 语言翻译 - 情感分析 - 知识库和问答系统 ## 2、class-1快速入门 ### 2-1、chain的基本结构-提示-模型-输出解析器 - 最基本的和常见的的用例是将模版和模型链接在一起 #### 2-1-1、管道符 - chain = prompt | model | output_parser - 等于下方操作 ``` prompt = ChatPromptTemplate.from_template("请根据下面的主题写一篇小红书营销的短文:{topic}") 1、prompt_value = prompt.invoke({"topic": "康师傅绿茶"}) 2、message = model.invoke(prompt_value) 3、out = output_parser.invoke(message) ``` ### 2-2、智谱AI - 安装:pip install --upgrade zhipuai ### 2-2-1、封装代码到langchain框架 - 原因:langchain架构变动 ## 3、提示词 - 提示词是用户提供的一组指令或输入,用于指导模型的响应,帮助模型理解上下文并生成相关的基于语言的输出 ### 3-1、类型 - 提示词模版 - 对话形式模版 #### 3-1-1、历史保留 - chat_template.append(response) ### 3-2、提示词案例选择器 - 长度选择器 - 相似度选择器 - 重叠选择器 #### 3-2-1、长度选择器 - 含义:根据长度选择要使用的示例,目的担心构建的提示会超过上下文窗口的长度时,非常有用 #### 3-2-2、相似度选择器 - 含义:根据输入最相似的示例组合来选择示例,同时还针对多样性进行优化 - 包:sentence-transformers、faiss-cpu #### 3-2-3、提示词选择器 - 含义:根据ngram重叠得分,根据与输入最相似的示例来选择示例并对其进行排序;重叠分数是0.0到0.1之前的浮点数 ### 3-3、思路匹配 #### 3-3-1、faiss - 含义:开源的机器学习库,主要用于高效的大规模向量搜索和聚类 - 优势:为高维向量空间中的数据提供了快速的近似最近邻算法,对于推荐系统、信息检索、图像分析等应用非常重要 #### 3-3-2、ChromaDB - 含义:开源的、基于Python的数据库,专门用于存储和查询时间序列数据 - 作用:适用于需要大规模时间序列数据的场景,目的是为了提高时间序列数据的查询速度和存储效率,同时保持灵活性和扩展性 ### 3-4、对话提示工程 - 含义:最基本的小样本提示技术是使用固定提示示例;这样就可以选择一条链条,对其进行评估,避免担心生产中的额外移动部件 ### 3-5、提示词模版 - 含义:不同类型的消息模版【AI消息、系统消息、人工消息】 - 类型:【AIMessagePromptTemplate、SystemMessagePromptTemplate和HumanMessagePromptTemplate】 - 注意:如果聊天模型支持使用任意角色获取聊天消息,则使用ChatMessagePromptTemplate,它允许用户指定角色名称 #### 3-5-1、部分带字符串 - 含义:只需要部分提示模版 #### 3-5-2、部分函数 ### 3-6、提示词管道符 - 含义:将多个提示组合在一起【PipelinePrompt】 - 组成部分:最终提示、管道提示【元组列表:字符串名称和提示模版组成】 ## 4、大模型输出解析 ### 4-1、缓存加速应用响应 - 含义:提供了可供的缓存层 - 原因1:多次请求相同的完成,减少对模型的调用来节省资金 - 原因2:加速应用 ### 4-2、特殊解析器 - CSV输出 - 时间输出 - 枚举输出 ### 4-3、json输出器 -