- 博客(87)
- 收藏
- 关注

原创 Flask使用Celery与多进程管理:优雅处理长时间任务与子进程终止技巧(multiprocessing)(subprocess)
在许多任务处理系统中,我们需要使用异步任务队列来处理繁重的计算或长时间运行的任务,如模型训练。Celery是一个广泛使用的分布式任务队列,而在某些任务中,尤其是涉及到调用独立脚本的场景中,我们需要混合使用和subprocess模块来启动和管理这些任务进程。然而,这种组合有时会带来一些挑战,如进程冲突和子进程无法正确终止的问题。本文将讨论如何使用Celery、Multiprocessing和Subprocess来处理这些问题,并在需要时正确关闭子进程,实现完美的进程管理与切换。
2024-12-06 15:48:04
1666
3

原创 Dify 知识库操作源码解析
接着判断索引技术模型 接着构造 Dataset 入库,这里的 Dataset 就是知识库的信息总览,包含了该知识库的 embedding 模型信息、检索模型等信息。1.构造 Document 入库,这里的 Document 是知识库中的单个文档(我们创建知识库的时候可以上传多个文档),也就是一个 Dataset 实际上包含了多个 Document,Document 的信息就包含了文档信息以及数据处理相关的参数。位置:api/controllers/console/datasets/datasets.py。
2024-11-07 16:58:54
3450
原创 LangGraph实现人机交互:基于中断机制的智能流程控制
本文深入解析LangGraph框架的中断机制实现智能人机交互的方法。文章首先介绍LangGraph的核心概念,包括状态图、内存检查点和中断机制。通过代码示例详细展示如何构建状态图、设置中断节点以及实现用户交互流程,强调状态持久化和流式执行的重要性。同时探讨了审批流程、数据确认等实际应用场景,并提供多线程支持、错误处理等高级特性与最佳实践。LangGraph的中断机制为构建灵活可控的AI工作流提供了强大支持,特别适合需要人工干预的智能应用场景。
2025-06-18 18:45:25
236
原创 LangGraph核心模块:使用 MemorySaver 进行持久化管理
本文详细介绍了如何使用LangGraph框架的MemorySaver实现AI对话应用的持久化管理。首先阐述了MemorySaver的基本概念及其在保持会话状态中的作用,随后逐步展示了项目构建过程:从环境配置、状态结构定义、工具函数创建,到语言模型初始化和节点逻辑设计。重点讲解了如何构建状态图并应用MemorySaver进行会话状态保存,通过测试验证了其记忆功能的有效性。文章还分析了MemorySaver的工作原理,与其他持久化方案进行了比较,并指出它适合原型开发和简单应用场景。最后提出进阶应用建议,为构建连
2025-06-17 18:19:34
600
原创 LangGraph核心组件详解--图、节点、边
本文介绍了LangGraph——一个专为LLM应用设计的循环工作流框架。LangGraph通过状态图、节点和边三大核心组件,突破了传统线性处理模式的限制,实现了动态决策、条件分支和循环迭代能力。文章详细解析了如何创建图结构、定义计算节点以及设置不同类型的边(包括普通边和条件边),并通过代码示例展示了这些组件的协同工作原理。LangGraph特别适用于复杂对话系统、智能代理和迭代优化任务等场景,为开发者提供了构建更智能、更灵活LLM应用的强大工具。该框架的循环能力和条件分支功能使其成为高级AI应用开发的重要选
2025-06-17 15:31:06
616
原创 LangGraph高级教程:构建规划执行型智能体
这篇文章摘要介绍了如何使用LangGraph框架构建规划执行型AI智能体: 系统架构由规划器、执行器和重新规划器组成,能够自主生成执行计划并动态调整 技术实现包括: 环境准备与依赖导入 基础智能体设置 状态数据模型定义 规划器和重新规划器的构建 工作流图的搭建 系统通过多步骤推理解决复杂问题,包括: 初始计划生成 步骤执行 根据结果动态调整计划 最终结果输出 该系统适用于需要多步推理的复杂任务处理,如文中示例的奥运冠军家乡查询问题。
2025-06-12 17:12:46
784
原创 LangGraph入门教程:构建循环状态管理的LLM应用
本文介绍了LangGraph库的基本概念和使用方法,通过构建一个天气查询应用展示其核心功能。LangGraph作为LangChain的高级扩展,提供了循环状态管理能力,支持复杂工作流程构建。教程详细讲解了如何定义工具、设置节点和边、实现条件分支决策以及持久化会话状态。相比传统线性工作流,LangGraph的优势在于动态流程控制、模块化设计和上下文记忆能力。该示例为开发者展示了构建智能交互式LLM应用的基础框架,为进一步开发复杂AI系统奠定了基础。
2025-06-12 16:43:36
880
原创 RAG技术解析:实现高精度大语言模型知识增强
RAG技术为大语言模型注入了"外部记忆"能力,使其能够基于最新和专有知识提供准确回答,有效克服了大模型"幻觉"问题。相比传统的微调方法,RAG具有实现成本低、部署简单、知识可实时更新等优势,特别适合企业级应用场景。随着向量数据库、嵌入模型和提示工程技术的不断进步,RAG系统的性能还将持续提升,为各领域的智能问答和知识服务带来更大价值。
2025-06-04 14:50:27
1160
原创 基于LangChain构建高效RAG问答系统:向量检索与LLM集成实战
本文详细介绍了使用LangChain框架构建RAG问答系统的全流程。首先配置向量检索环境,包括Redis向量数据库和DashScope嵌入模型;然后设计提示模板整合检索结果与用户问题;接着调用通义千问模型生成基于上下文的回答;最后通过LangChain链式处理实现端到端问答流程。该系统有效结合了向量检索的准确性和大语言模型的生成能力,适用于企业知识问答等场景,避免了模型幻觉问题,同时具备良好的可扩展性和灵活性。
2025-06-04 14:48:31
1112
原创 LangChain实战:文档加载、分割与向量存储详解
本文详细介绍了使用LangChain框架处理文档的完整流程:首先通过TextLoader或DirectoryLoader加载文档,然后使用CharacterTextSplitter进行文本分割(支持自定义分割参数),最后利用DashScopeEmbeddings模型将文本向量化并存储到RedisVectorStore。整个过程包含环境准备、数据加载、文本分割和向量存储四个关键步骤,为构建文档问答系统等AI应用奠定了技术基础。文中提供了代码示例和实践要点,包括批量文件处理、分割优化和向量数据库配置等关键环节的
2025-06-03 18:56:12
358
原创 LangChain Agent实践:构建智能推理和工具调用系统
本文介绍了如何使用LangChain构建智能Agent系统来实现推理和工具调用功能。主要内容包括:1) 环境配置与模型设置;2) 两种工具函数定义方法(StructuredTool和@tool装饰器);3) Agent的初始化和工作流程解析;4) 关键技术要点如Agent类型选择、工具注册和调试模式;5) 最佳实践建议如工具设计、错误处理和复杂查询;6) 实际应用场景和注意事项。文章通过代码示例详细展示了Agent从思考、行动到生成结果的完整过程,为开发者提供了构建智能系统的实用指南。
2025-05-29 19:00:00
942
原创 LangChain工具函数实践:让AI能力连接生活!
本文介绍了LangChain工具函数的使用方法与实践技巧。主要内容包括:通过@tool装饰器和StructuredTool创建天气查询、日期获取等工具函数;将工具绑定到AI模型并处理用户查询的过程;最佳实践中工具命名、错误处理和组合使用的建议;以及工具函数在信息查询、数据处理等场景的应用。文章还强调了安全性、性能和可维护性等注意事项,帮助开发者有效扩展AI模型能力。
2025-05-29 14:00:00
481
原创 LangChain + Redis:实现持久化的聊天历史记录管理
本文介绍了使用LangChain结合Redis实现聊天历史记录持久化管理的技术方案。主要内容包括:1) 环境准备和依赖安装;2) 两种基础实现方式 - 直接使用RedisChatMessageHistory和使用RunnableWithMessageHistory自动记录;3) 关键技术要点解析如Redis配置、会话管理、消息存储和自动化管理;4) 典型应用场景及方案优势;5) 最佳实践和注意事项。该方案能够有效管理聊天历史记录,支持上下文理解、多轮对话及高并发场景,为构建智能对话系统提供了可靠基础。
2025-05-28 14:34:47
792
原创 LangChain快速入门:使用LangChain构建高效的并行语言处理链
本文介绍了使用LangChain构建并行语言处理链的方法,实现同时将文本翻译为多种语言的功能。通过ChatPromptTemplate创建中/日语提示模板,结合ChatOpenAI模型和StrOutputParser解析器构建处理链,利用RunnableMap实现并行处理,最后用RunnableLambda合并结果。该系统具有模块化设计、链式处理、并行执行等优势,适用于多语言翻译、跨语言处理等场景。关键点包括组件复用、流程可视化及API密钥管理,为构建复杂语言处理系统提供了基础框架。
2025-05-28 14:29:08
431
原创 LangChain快速入门:多模型调用实践整合OpenRouter、Deepseek等API接口
本文介绍了使用LangChain框架调用多种大语言模型API的方法。主要内容包括:通过ChatOpenAI调用OpenRouter服务,使用langchain_deepseek包调用Deepseek模型,以及利用社区版接入其他模型如通义千问。文章提供了代码示例展示如何配置API密钥、创建系统消息和用户消息,以及处理模型输出。同时强调了注意事项,如API密钥管理、接口差异和费用控制。LangChain为开发者提供了统一接口来灵活切换不同模型服务,简化了AI应用开发流程。
2025-05-26 15:30:01
571
原创 使用 Playwright 进行 Python 爬虫
使用 Playwright 进行 Python 爬虫:深入掌握 Locator 和其他属性
2025-03-31 17:12:39
1466
原创 使用Python进行股票预测
这就是一个非常简单的使用时间序列分析和滤波器技术来预测股票价格的过程。当然,现实中的市场比这复杂得多,但这对初学者来说是个不错的入门项目。📊如果你有任何疑问或者建议,欢迎留言,一起交流。祝大家都能成为股票预测的高手,离自己的小目标更进一步!💸💰。
2025-03-20 16:10:10
1237
原创 windows、Linux 设置 SSH 密钥并连接到 GitHub
嘿,大家好!今天我们来聊聊如何创建和配置 SSH 密钥,以便与 GitHub 建立安全连接。这是一个对新人友好的教程,所以毫无压力,一步一步来!🔑✨。
2025-02-25 14:46:52
1865
原创 Flask使用JWT认证
嘿,朋友们!今天我们来聊一些在开发世界中非常酷的事情,那就是 Json Web Token,简称 JWT。这种小巧的规范使得在组织之间传递信息变得如此简单,就像把你的秘密记在一张纸上然后递给朋友一样,只不过这次用的是超安全的方法哦!🔒。
2025-02-14 18:52:33
1371
原创 # 解析Excel文件:处理Excel xlsx file not supported错误 [特殊字符]
# 解析Excel文件:处理Excel xlsx file not supported错误 🧩
2025-02-11 18:45:41
1124
原创 闲来无事复习下基础算法——递归的魅力
大家好!在算法的世界中,递归就像一个让人又爱又恨的“高逼格”神器。今天,我们用 C 和 Python 带你领略递归的奇妙魅力。🌟。
2025-01-25 18:08:04
989
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人