自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(63)
  • 收藏
  • 关注

原创 目前主流OCR/语义理解/ASR

注:以上排名综合了2024年多篇横向评测,测试环境均采用各工具默认预训练模型。实际效果可能因具体图片质量、语言类型和部署环境有所差异。需要更高精度可考虑基于业务数据微调模型(推荐PaddleOCR或RapidOCR)。注:以上排名基于开源社区实测数据和Papers With Code榜单,具体表现可能因硬件环境和任务类型有所差异。基于多篇专业评测的结果,以下是目前免费开源OCR工具的推荐排名(侧重中文场景)注:以上排名综合开源社区评测数据(如Gigaspeech基准测试)

2025-04-03 14:45:27 491

原创 Langgraph 论文生成最佳实践

layout_prompt = ChatPromptTemplate([("system" , """您作为学术架构师,具备跨学科论文指导经验,擅长将研究构思转化为严谨的学术框架。请根据研究要素构建具有方法论指导价值的论文架构""") ,("human" , """# 论文大纲及章节规划生成指令## 输入参数说明• 论文标题:"{title}"• 描述信息:"{description}"## 核心任务生成具备可扩展性的论文框架体系,包含:1. 逻辑严谨的6章节大纲(一级目录)

2025-04-02 18:22:50 196

原创 langchain embedding 自定义模型(bge)实现

该实现方案在保持 LangChain 兼容性的同时,提供了灵活的自定义能力,可以方便地替换不同的 Transformer 模型,适应各种业务场景需求。

2025-04-02 13:54:10 429

原创 embedding和rerank模型对比

【代码】embedding和rerank模型对比。

2025-04-01 15:21:15 610

原创 embedding 不同库和维度选型对比

性能差距:专用库在查询速度(快 10~50 倍)、吞吐量(高 20~100 倍)、扩展性(支持千倍数据量)上显著领先;功能差距:专用库提供混合检索、动态更新等高级功能,扩展库依赖手动实现;成本差距:专用库需额外运维成本,扩展库依赖现有数据库,初期成本更低。决策关键点:数据规模、延迟要求、功能复杂度。

2025-04-01 15:18:43 675

原创 PROMPT 速查

【代码】PROMPT 速查。

2025-04-01 13:21:48 187

原创 Langgraph 构建简单论文生成

len1。

2025-03-26 09:52:19 401

原创 LangGraph 简介

定位:LangGraph是LangChain的扩展库,专注于构建带有状态循环和多参与者协作的应用(如复杂代理系统、自治工作流)。它弥补了LangChain在处理动态流程控制和长时状态跟踪的不足。典型场景多步骤决策(如AI根据反馈循环调整回答)多AI协作系统(如多个专家模型接力处理任务)需持久化中间状态的对话系统。

2025-03-26 09:42:43 916

原创 Langchain RAG介绍和最佳实践

定义:检索增强生成(Retrieval-Augmented Generation)系统通过结合信息检索与生成模型,解决纯生成模型的幻觉问题。企业级价值知识实时更新(无需重新训练模型)精准控制数据来源审计追踪能力。

2025-03-25 17:05:45 681

原创 Langchain Agent

简单 Agent -> 记忆增强型 -> 企业级 Agent Service-> 分布式架构 -> 领域定制化 Agent 集群建议采用渐进式演进策略,初期聚焦核心业务流,逐步扩展监控、安全、性能等企业级特性。最新 LangChain 0.1.0+ 版本已提供更完善的类型检查和异步支持,建议优先采用新 API 架构。

2025-03-25 14:37:27 622

原创 Langchain 多模态输入和格式化输出

结构化数据输出、API交互、数据库存储。1.2 Base64形式(推荐小文件)2.2 Base64形式(推荐短音频)1.2 Base64形式(推荐小文件)2.2 Base64形式(推荐短音频):类型安全、自动验证、支持复杂嵌套结构。:配置文件生成、DevOps工具链集成。:企业遗留系统对接、特定标签格式要求。:灵活JSON输出、快速原型开发。:无需预定义结构、适合动态字段。:标签结构清晰、支持命名空间。

2025-03-25 13:32:54 938

原创 Langchain家庭助手Agent

通过上述设计,我们实现了一个具备感知、行动和思考能力的家庭管家 Agent。为了根据用户习惯做出调整,可以记录用户的操作历史并分析模式。假设主人口头指令通过语音转文字工具转换为文本,我们可以直接调用。思考模块可以根据用户习惯和环境信息提供建议。将上述硬件接口封装为 LangChain 的。

2025-03-24 18:33:01 352

原创 Langchain 自定义工具和内置工具

首先,确保你已经安装了所需的库:2. 创建 SQL 查询工具我们将创建一个自定义的 SQL 查询工具,该工具可以执行 SQL 查询并返回结果。这里我们使用 SQLite 数据库作为示例。2.2 初始化工具3. 创建自然语言到 SQL 的转换工具我们将使用一个简单的自然语言处理库(如 )来将自然语言文本转换为 SQL 查询。3.2 定义转换工具类3.3 初始化转换工具4. 创建 LangChain 环境我们将创建一个 LangChain 环境,并将两个工具添加到其中。我们将使用 的

2025-03-24 17:21:17 746

原创 Langchain 历史消息和会话管理

作用:动态生成历史摘要原理:定期调用LLM压缩历史{"input": f"讨论要点"input" : f"讨论要点 {"output" : f"详细内容 {})) # 输出类似: {'history': '系统总结了5个讨论要点及其内容...'}"},{"output": f"详细内容"input" : f"讨论要点 {"output" : f"详细内容 {})) # 输出类似: {'history': '系统总结了5个讨论要点及其内容...'}"}

2025-03-24 16:20:45 593

原创 LangServe 介绍和使用

LangServe 是 LangChain 的官方服务化框架,包含以下核心模块:步骤2:初始化项目步骤3:添加自定义链步骤4:编写链逻辑步骤5:配置服务端路由核心配置文件解析环境变量配置(.env)依赖管理(requirements.txt)启动与测试服务启动服务访问端点API文档:http://localhost:8000/docsPlayground:http://localhost:8000/explain/playgroundOpenAPI规范:http

2025-03-24 15:28:07 732

原创 Langchain 工作流编排

特性作用技术实现LCEL声明式组合/类型安全/优化执行操作符重载+类型系统Runnable统一接口/异步支持/组合能力接口协议+适配器模式Stream低延迟输出/内存优化生成器+异步迭代器Events实时监控/调试/中间结果捕获观察者模式+回调系统灵活组合:任意模块的自由拼接高效执行:自动批处理/流式/并行全链路可控:事件系统提供深度可观测性。

2025-03-24 14:17:39 353

原创 Langchain 提示词(Prompt)

用于在提示词模板中插入消息列表,适用于处理多条消息或复杂对话结构。短期记忆:用于存储最近几轮对话的信息,保持对话的一致性和连贯性。长期记忆:用于存储较长时间内的对话信息或特定的知识库,适用于需要访问大量历史信息或知识的应用。:专门用于处理示例提示词,提供了自动选择和插入示例的功能。手动构建示例:通过手动构建示例并插入到提示词模板中,提供了更多的灵活性。动态示例选择:根据输入的长度或其他条件动态选择示例,使提示词更加灵活和适应性强。

2025-03-21 15:27:47 918

原创 Langchain 介绍

使用频率:较低langchain:这是最核心的部分,几乎所有的 LangChain 应用都会使用到它。它是构建应用程序的基础。langgraph:适用于需要处理图结构数据的应用,使用频率相对较低,但对于特定领域(如知识图谱)非常重要。langsmith:提供了一套开发和部署工具,对于希望提高开发效率和简化部署流程的团队来说非常有价值。

2025-03-21 15:06:25 1028

原创 Docker 速通(总结)

创建一个新的自定义网络。: 列出所有网络。: 查看网络的详细信息。: 将容器连接到自定义网络。: 将容器从自定义网络断开。Docker 命令:用于管理镜像和容器的基本命令。存储:通过目录挂载和卷映射实现数据持久化。网络:自定义网络使容器间通信更灵活。Compose:简化多容器应用的管理和部署。Dockerfile:定义如何构建镜像的脚本。分层存储机制:提高构建效率和资源利用率。希望这些总结对你有所帮助!如果你有任何问题,请随时提问。

2025-03-19 16:25:26 801

原创 Docker DockerFile和Django最佳实践

为了方便管理和部署,可以使用。

2025-03-19 16:05:53 563

原创 Docker Compose

文件是 Docker Compose 的核心配置文件,用于定义应用程序的服务、网络和卷。

2025-03-19 15:25:34 754

原创 Docker 最佳实践(MySQL)

确保你的系统已经安装了Docker。如果没有安装,可以参考官方文档进行安装:创建一个自定义的Docker网络,以便容器之间可以相互通信:3. 启动MySQL容器启动一个MySQL容器,并将其连接到自定义网络。我们将配置端口映射、数据卷挂载和环境变量。默认情况下,MySQL使用3306端口。我们将主机的3306端口映射到容器的3306端口。为了持久化数据,我们将使用Docker卷来保存MySQL的数据文件。你可以选择将数据存储在主机上的某个目录中。设置必要的环境变量,如数据库密码、数据库名称等。最佳实践

2025-03-19 14:07:32 984

原创 Docker 内部通信(网络)

首先,创建一个自定义的Docker网络。这可以通过命令完成。例如,我们可以创建一个名为接下来,启动Docker容器并将它们连接到这个新创建的网络。同时,为每个容器分配一个别名(即主机名),这样其他容器就可以通过这个别名来访问它了。# 启动第一个容器# 启动第二个容器为了实现更复杂的域名解析,可以使用自定义DNS服务器。这里我们使用dnsmasq作为DNS服务器。编辑Docker的配置文件,添加自定义DNS服务器的IP地址(通常是127.0.0.1在web1中测试是否可以通过自定义域名访问web2。

2025-03-19 11:48:08 816

原创 Docker 存储

卷映射首先会从容器内部中所有文件映射到宿主机的位置, 通过制定卷的名字, 统一放在了。即可实现目录映射, 实现原理会在宿主机器创建一个空文件夹。, 删除目录不会删除卷。

2025-03-19 11:12:13 413

原创 Docker 命令

并将首页改为自己的页面, 发布并且其他人可以用。对国内的禁制访问, 提供下面几个镜像库。

2025-03-10 11:51:29 792

原创 Docker介绍和安装

是用户与 Docker 系统交互的入口,负责发送指令。是实际执行这些指令的地方,运行 Docker Daemon 并管理容器、镜像等资源。Registry是镜像的存储和分发中心,负责提供镜像供 Docker Host 下载和使用。Docker:轻量、高效、灵活,适合微服务、CI/CD 和云原生场景。传统虚拟化:强隔离、跨平台,适合运行异构系统或对安全性要求高的场景。两者各有优劣,可根据需求选择或结合使用。

2025-03-10 11:11:19 1041

原创 五种IO模型- 阻塞IO、非阻塞IO、多路复用IO、信号驱动IO以及异步IO

在操作系统中处理输入/输出(IO)操作的过程中,存在多种方式,包括阻塞IO、非阻塞IO、多路复用IO、信号驱动IO以及异步IO。这些方式在操作系统实现和应用程序编写时有着不同的适用场景和性能特征。接下来,我将逐一介绍它们的实现原理、优缺点以及应用场景,同时给出Java和Python的实验示例。

2024-12-24 10:53:41 1016

原创 IO多路复用

是一种同步I/O模型,它可以让单个进程能够监视多个文件描述符(如套接字),一旦某个文件描述符就绪(可读、可写或有异常条件待处理),该进程就可以无阻塞地操作这些文件描述符。这样,一个线程可以管理多个连接,提高了程序的效率和资源利用率。在Java中,可以使用NIO(New Input/Output)库来实现类似epoll的功能。模块来实现类似epoll的功能。这两个示例都是简单的TCP服务器,能够处理多个客户端连接。上述两个示例分别展示了如何使用Java的NIO库和Python的。在Python中,可以使用。

2024-12-24 10:04:37 783

原创 JUC并发工具类场景详解

是 Java 并发编程中的一种可重入的互斥锁,它位于包下。与传统的关键字相比,提供了更灵活的锁操作,支持公平锁和非公平锁、可中断的锁获取尝试、超时的锁获取尝试等特性。

2024-12-20 16:03:37 345

原创 Java中线并发安全

饿汉模式:适合于单例实例不需要延迟初始化的场景,线程安全,实现简单,但可能会造成内存浪费。懒汉模式:适合于单例实例需要延迟初始化的场景,但每次获取实例时都需要同步,影响性能。双重检查锁定:结合了懒汉模式和线程安全的优点,性能较好,但代码相对复杂。选择哪种方式取决于具体的应用场景和需求。如果对性能要求不高且不介意早期初始化,可以选择饿汉模式;如果需要延迟初始化且对性能有一定要求,可以选择双重检查锁定。

2024-12-20 13:11:09 959

原创 Java中原子性和CAS

这种情况下,如果一个操作不是原子性的(即不可分割的),那么在执行过程中可能会被其他线程中断,从而导致数据的不一致性。通过这些原子类,可以在多线程环境中实现高效的、无锁的并发控制,避免了传统锁带来的性能开销和复杂性。的值应该是2,但实际上却是1,这就是原子性问题的一个典型例子。:提供了一个原子的引用类,适用于需要线程安全的引用类型操作。:提供了一个原子的整数类,可以用于实现线程安全的整数操作。:提供了一个原子的长整数类,适用于需要更大范围的整数操作。:提供了一个原子的布尔值类,适用于需要线程安全的布尔操作。

2024-12-19 16:53:17 808

原创 Python中的强/弱/循环引用

强引用增加对象的引用计数,对象的生命周期依赖于强引用的存在。弱引用不增加对象的引用计数,主要用于避免循环引用导致的内存泄漏。循环引用可能导致内存泄漏,但Python的垃圾回收器会周期性地检测并处理这种情况。对象的生命周期从创建开始,到引用计数降为0时结束,被垃圾回收器回收。理解这些概念有助于更好地管理Python程序中的内存,避免内存泄漏等问题。

2024-12-19 16:05:33 439

原创 JVM内存泄漏之ThreadLocal详解

提供了一种线程局部变量的机制,使得每个线程都有自己的变量副本,互不干扰。在多线程编程中,共享变量的使用通常需要考虑线程安全问题。在分布式系统中,事务管理需要确保每个线程的操作都是独立的。可以为每个线程分配一个独立的数据库连接,避免了线程间的竞争。可以为每个线程分配一个独立的事务上下文,确保事务的隔离性。在多线程环境下,每个线程都需要一个独立的数据库连接。在Web应用中,每个用户的请求可能由不同的线程处理。可以为每个线程提供一个独立的缓存,避免了缓存数据的竞争。在某些场景下,每个线程可能需要一个独立的缓存。

2024-12-18 15:27:34 403

原创 MySQL中in和exists的使用场景

在MySQL中,IN和EXISTS是用于子查询的两种常见方法,它们在不同的场景下有不同的表现和适用性。下面我将详细介绍这两种方法的使用场景、优劣,并通过实验来说明问题。

2024-12-18 10:21:39 414

原创 MySQL JOIN算法实现和选择

它的基本思想是使用一个外层循环遍历第一个关系中的每一行,然后在内层循环中遍历第二个关系中的每一行,以检查它们是否满足连接条件。MySQL的查询优化器会根据表的统计信息、索引的存在情况、查询的具体条件等因素来选择最合适的JOIN算法。在MySQL中,使用索引进行JOIN操作的底层实现主要涉及几种不同的算法,具体取决于查询优化器的选择和表的结构。具体的实现方式取决于查询优化器的选择和表的结构。但是,通过使用数据块的方式,减少了对外层表的 I/O 操作次数,提升了查询效率,特别是在处理大数据集时效果更明显。

2024-12-18 09:50:48 573

原创 常见的数据结构和应用场景

数据结构是计算机科学中的基础概念,用于组织和存储数据,以便能够高效地访问和修改。

2024-12-17 14:32:44 971

原创 Java中 volatile 关键字的使用和存在背景

在Java中,多线程环境下更新共享变量时可能会出现脏读(Dirty Read)的问题,这是因为多个线程在并发访问和修改同一个变量时,可能会导致数据不一致。具体来说,当一个线程正在修改一个变量时,另一个线程可能读取到这个变量的中间状态,而不是最终的状态。

2024-12-17 14:18:40 299

原创 Java里的进程和线程

Java程序从main()方法开始执行, 当运行时候即使没有编码手动开启其他线程系统也会自动开启线程, 一般来说有下面几个Ctrl-BreakdumpdumpJVMfinalizeReference。

2024-12-12 14:32:03 349

原创 并发/线程和进程

进程就是用来加载指令,管理内存管理IO的,当程序被运行,从磁盘加载程序代码到内存,此时就开启了一个进程,进程可以视为一个程序的实例,大部分程序可以启动多个实例进程,比如浏览器记事本等,有的程序却只能启动一个比如网易云音乐,程序是死的,进程是活的动态的进程可以分为系统进程和用户进程站在操作系统的角度,

2024-12-11 23:15:02 935

原创 SQL索引最佳实践原则

没走索引原因:mysql内部优化器会根据检索比例、表大小等多个因素整体评估是否使用索引。比如这个例子,可能是由于单次数据量查询过大导致优化器最终选择不走索引。< 小于、 > 大于、 = 这些,mysql内部优化器会根据检索比例、表大小等多个因素整体评估是否使用索引。如果索引了多列,要遵守最左前缀法则。指的是查询从索引的最左前列开始并且不跳过索引中的列。问题:解决like’%字符串%'索引不被使用的方法?优化方法:可以将大的范围拆分成多个小范围。是否使用索引,详见范围查询优化。

2024-12-07 22:28:41 832

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除