搜索中...
🔍

未找到相关结果

Akemi

Akemi

Streamlit+langchian搭建可视化PDF大模型分析应用
streamlit是使用python生成的交互式的web应用 requirements文件:https://ws-blog-img.oss-cn-hangzhou.aliyuncs.com/wangsheng/langchain-requirements.txt 需要准备llm的api key,我这里使用load_dotenv()从.env中加载 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656...
Langchain模块Agent组件常规应用
agent迭代器AgentExecutorAgent 迭代器( AgentExecutor)是 LangChain 中实际执行 Agent 决策循环的引擎 即思考 → 行动 → 观察 → 再思考 → … → 结束 特性 Agent自带迭代器 自定义迭代器 开发难度 ✅ 零配置 🟡 需要编程 标准化 ✅ 符合ReAct框架 🟡 任意设计 错误处理 ✅ 内置完善 🟡 需自行实现 工具集成 ✅ 自动适配 🟡 手动集成 循环控制 🟡 固定模式 ✅ 完全定制 状态管理 ✅ 自动维护 🟡 手动管理 性能优化 🟡 一般优化 ✅ 可深度优化 特殊需求...
Langchain模块Agent组件
LangChain Agent 是一个让大型语言模型(LLM)自主决策、选择工具并执行任务的框架。它把 LLM 从一个”纯对话者”变成了一个”能动手的智能助手”。用户问题 → LLM分析 → 选择工具 → 执行工具 → 观察结果 → 继续思考 → … → 最终答案 类型 特点 适用场景 ZERO_SHOT_REACT 无需示例,根据工具描述决策 通用任务,结构清晰 CONVERSATIONAL 记忆对话历史,上下文感知 多轮对话任务 STRUCTURED_CHAT 结构化输出,更可控 复杂多步骤任务 OPENAI_FUNCTIONS 利用OpenAI函数调用 需要...
Langchain模块Memory组件常用用法
个性化对话前缀 多输入memory 实体记忆 对话知识图谱记忆 个性化前缀这个个性化只限于在memory中,如果是希望在对话中有前缀,直接在prompt中规定就行了 123456789101112131415161718192021222324252627282930313233343536373839from langchain_deepseek import ChatDeepSeekfrom langchain.chains import ConversationChainfrom langchain.memory import ConversationBufferMemoryf...
Langchain模块Memory常用组件
会话缓冲记忆ConversationBufferMemory 将预设的聊天记录保存起来,为之后的聊天提供上下文信息,同时也可以将实时聊天信息保存起来 会话缓冲窗口记忆ConversationBufferWindowMemory 记录最近k次的聊天交互信息 会话缓冲记忆ConversationBufferMemory123456789101112131415161718192021222324252627from langchain.memory import ConversationBufferMemoryfrom langchain.chains import Conversa...
Langchain模块Chain组件-多种chain
路由chain路由链是LangChain中用于智能决策和分发的核心机制,它可以根据输入内容自动选择最合适的处理路径。 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970from langchain_core.runnables import RunnablePassthrough, RunnableLambda, RunnableBranchfrom langchain.pro...
Langchain模块Chain组件基本用法
Chain是一种接口,将多个组件(llm、prompt等)串联在一起,以实现更复杂的应用或功能 模块化:将复杂的应用拆解成多个更简单,更易于管理和维护的模块,每个模块都可以独立进行开发和测试 可重用性:创建可以重复使用的组件和功能 可扩展性:可以轻松添加、修改、删除链中的组件,以满足应用的新需求或改变现有功能 API异步调用123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354import asyncioimport timefrom lan...
Langchain模块Callback组件
回调的基本概念: 在llm应用执行的每个阶段,比如日志记录、监控、流处理等 回调处理器是实现了callbackhandler接口的对象,每个可以订阅的事件都有一个方法,当事件被触发时,CallbackManager会在每个处理器上调用相应的方法 在哪些地方定义回调函数: 构造函数时定义:llmchain=(callbacks=[handler]) 发出请求时定义:llm.invoke(callbacks=… 构造函数中设置verbose为true,调用StdOutCallHandler 使用最简单回调123456789101112131415161718...
Langchain模块-DataCollection组件-Retriever检索器
用以查询嵌入到向量数据库中的数据 MultiQueryRetriever请求拆分多索引:将问题拆分出不同的问答 Contextual compression上下文压缩:对每个文件块进行摘要,方便于定位 self-querying元数据过滤器:将请求过滤成请求+过滤器,进行查询 时间加权向量存储检索器:加上时间因素 请求拆分多索引MultiQueryRetriever通过请求拆分多索,生成多维度的查询输入,其本身是一种增强了的检索器,可以被RetrievalQAWithSourcesChain所引用 1234567891011121314151617181920212223242526...
Langchain模块-DataCollection组件-文本嵌入与向量数据库embedding
维度 Chroma FAISS Milvus 类型 嵌入式向量数据库 向量检索库(非数据库) 分布式向量数据库 部署方式 轻量级,Python集成或独立服务 库形式集成,无独立服务 独立的数据库服务,支持集群 持久化 ✅ 支持(本地/云) ❌ 不支持(需额外实现) ✅ 支持(内置) 扩展性 中等,支持简单扩展 低,单机为主 高,分布式架构 生产就绪 适合中小规模 研究/中小应用 企业级大规模 查询功能 基础向量检索+元数据过滤 高性能向量检索 向量+标量混合查询、复杂过滤 社区生态 较新但增长快 成熟,Meta维护 活跃,CNCF项...