- 博客(22)
- 问答 (1)
- 收藏
- 关注
原创 企业级RAG本地知识库智能问答系统搭建指南(Ollama+LLM+Embedding全流程)
本文介绍了基于Ollama+LLM+Embedding的企业级RAG系统实现方案。系统采用分层架构设计,整合大语言模型(Qwen2/Llama3)、向量数据库(Chroma)和Embedding模型(BAAI/bge-large-en),通过LangChain框架构建完整的检索-生成流程。详细说明了本地部署方法、核心代码实现(文档处理、向量存储、RAG检索)以及系统优化策略(混合检索、分块优化)。系统支持多模型动态切换和监控告警功能,具有容器化部署、混合检索优化等特点,为企业知识管理提供高效解决方案。后续可
2025-07-29 11:50:47
619
原创 向量数据库深度解析:FAISS、Qdrant、Milvus、Pinecone使用教程与实战案例
本文介绍了向量数据库的核心概念、主流技术对比及实践应用。向量数据库专为高维向量数据设计,支持语义理解、实时检索等优势。对比分析了FAISS、Qdrant、Milvus和Pinecone在部署、算法、规模等方面的差异,并提供了FAISS、Qdrant和Milvus的具体代码示例。典型应用包括电商推荐系统和语义搜索,可显著提升业务指标。选型建议:学术研究选FAISS,企业部署用Milvus,快速原型开发推荐Pinecone,语义搜索场景适合Qdrant。
2025-07-29 11:12:50
541
原创 Python三大Web框架:FastAPI vs Flask vs Django 详解与快速入门指南
摘要:本文对比Python三大热门Web框架特性与适用场景。Django适合大型项目,内置完整功能;Flask轻量灵活,适合小型应用;FastAPI性能优越,专为API设计。文章提供各框架基础代码示例:FastAPI的异步API、Flask的简单路由、Django的完整项目搭建。建议根据项目需求选择:企业级用Django,微服务选Flask,高性能API用FastAPI。最后推荐官方文档等学习资源,并指出实际项目中可组合使用不同框架。
2025-07-29 10:45:56
1011
原创 使用 LangChain 构建本地知识库应用
本文介绍了基于LangChain框架和Ollama运行环境的私有知识库构建方案。主要内容包括:1)LangChain作为LLM编程框架的价值,2)Ollama本地化部署大型语言模型的方法,3)企业级文档处理流程(多格式加载、智能分割),4)混合检索策略与领域自适应优化,5)生产环境性能调优与监控体系构建。通过徐州工业职业技术学院的案例,展示了从文档处理到智能问答的全流程实现,并提供了Docker化部署方案,为机构构建安全可控的AI知识库提供了完整解决方案。
2025-07-28 17:39:32
298
原创 LlamaIndex在知识库智能问答系统中的高级应用(附实战代码)
LlamaIndex高级功能解析:构建智能知识库系统 本文深入解析LlamaIndex在复杂应用场景下的高级功能。主要内容包括:1)分层索引构建和混合检索策略,实现精准文档检索;2)多模态数据融合,支持图片、表格和文本的联合处理;3)智能体工作流设计,集成多种工具实现自动化查询;4)生产级优化方案,涵盖向量数据库集成、安全增强和监控维护。通过代码示例展示了如何将这些功能应用于企业知识库、法律文档分析和医疗问答等场景,最终构建出媲美商业解决方案的智能系统。建议从单模块验证开始,逐步搭建完整知识库系统。
2025-07-28 16:55:42
185
原创 使用LlamaIndex将私有数据接入大模型
本文介绍了使用LlamaIndex框架将私有数据接入大模型的实践方案。主要内容包括:1)环境配置与核心实现流程,涵盖文档加载、向量索引构建和智能问答功能;2)进阶优化技巧,如分层索引切割和混合检索策略;3)生产部署注意事项,包括数据安全、性能优化和监控告警。通过Python代码示例展示了从文档处理到查询响应的完整流程,该方案可显著提升问答准确率并降低维护成本,适用于企业级知识管理场景。
2025-07-28 16:29:25
351
原创 LlamaIndex vs LangChain:大模型应用开发,框架选择不再纠结!
让你的LLM轻松“知晓”并高效利用你的专有数据。选它搞定数据!赋予你的LLM复杂推理、决策和操作外部工具的能力。选它编排智能!在需要同时处理复杂工作流和私有数据查询的场景,结合两者是最佳方案:LlamaIndex 管数据,LangChain 管流程和决策。决策小贴士:核心任务是什么?主要是查数据 -> 优先看 LlamaIndex。主要是复杂交互/决策 -> 优先看 LangChain。数据复杂度高吗?需要强大的索引和RAG -> LlamaIndex 是得力助手。需要“智能”工作流吗?
2025-07-28 15:15:10
832
原创 免费的天气预报API
最近公司有个业务需要获取全国各省市区的天气预报数据(包括历史天气)访问该文档地址,注册账号后就会有免费的调用次数。将city_cn.sql脚本直接执行到数据表。以下是我对接api接口的代码,请供参考;
2025-02-17 14:56:19
399
1
原创 垃圾收集器ParNew
今天我们一起来探讨JVM的垃圾收集算法和垃圾收集器垃圾收集算法分代收集理论当前虚拟机的垃圾收集都采用分代收集算法,这种算法没有什么新的思想,只是根据对象存活周期的不同将内存分为几块。一般将java堆分为新生代和老年代,这样我们就可以根据各个年代的特点选择合适的垃圾收集算法。比如在新生代中,每次收集都会有大量对象(近99%)死去,所以可以选择复制算法,只需要付出少量对象的复制成本就可以完成每次垃圾收集。而老年代的对象存活几率是比较高的,而且没有额外的空间对它进行分配担保,所以我们必须选择“标记-清除
2021-11-16 17:16:31
514
原创 JVM对象创建与内存分配机制深度剖析
对象的创建对象创建的主要流程:分配内存:在类加载检查通过后,接下来虚拟机将为新生对象分配内存。对象所需内存的大小在类 加载完成后便可完全确定,为对象分配空间的任务等同于把 一块确定大小的内存从Java堆中划分出来。这个步骤有两个问题:如何划分内存。在并发情况下, 可能出现正在给对象A分配内存,指针还没来得及修改,对象B又同时使用了原来的指针来分配内存的情况。划分内存的方法:指针碰撞”(Bump the Pointer)(默认用指针碰撞)如果Java堆中内存是绝对规整的,所有用过的内
2021-11-12 17:42:44
530
原创 JVM内存模型深度剖析与优化
Java语言的跨平台特性JVM整体结构及内存模型JVM内存参数设置Spring Boot程序的JVM参数设置格式(Tomcat启动直接加在bin目录下catalina.sh文件里):java ‐Xms2048M ‐Xmx2048M ‐Xmn1024M ‐Xss512K ‐XX:MetaspaceSize=256M ‐XX:MaxMetaspaceSize=256M ‐jar microservice‐eurek a‐server.jar关于元空间的JVM参数有两个:-XX:Metaspac
2021-11-12 17:10:33
182
原创 从JDK源码剖析JVM类加载机制
从JDK源码剖析JVM类加载机制这段时间一直很忙,实在是没时间写了,好不容易这段时间得空了,所以与大家分享一下这篇:当我们用java命令运行某个类的main函数启动程序时,首先需要通过类加载器把主类加载到 JVM。public class Math { public static final int initData = 666; public static User user = new User(); public int compute() { //一个方法对应一块栈帧内存区域
2021-11-12 16:47:07
163
原创 springboot整合activeMQ
上一篇,我们已经完成了对消息中间件的理解以及activeMQ的安装,现在我们来使用springboot整合activeMQ。创建springboot生产者工程 (mq-producer)引入maven依赖完整的maven依赖如下: <parent> <groupId>org.springframework.boot</groupId> &...
2019-05-30 16:24:00
483
原创 消息中间件的概述与activeMQ的安装
本文主要描述了对消息中间件的了解以及在centos上安装activeMQ的教程,读者学习activeMQ入门看完本文就可以了。什么是消息中间件?发送者将消息发送给消息服务器,消息服务器将消感存放在若千队列中,在合适的时候再将消息转发给接收者。这种模式下,发送和接收是异步的,发送者无需等待; 二者的生命周期未必相同: 发送消息的时候接收者不一定运行,接收消息的时候发送者也不一定运行;一对...
2019-05-30 14:50:35
223
原创 基于Docker安装Jenkins环境
本文主要讲述了在docker的基础上安装Jenkins环境,本人亲测有效,大家在安装的过程中有任何都可以留言评论。**前提:**阅读本博客之前,建议大家之前有接触过docker,熟悉docker一些常用的命令,并已经在linux系统上安装了docker。进入主题:jenkins安装步骤:使用docker 安装jenkins (在linux系统客户端上执行以下命令)docker run...
2019-05-28 16:28:42
532
1
原创 谈hibernate,jpa与spring data jpa三者之间的关系
前提其实很多框架都是对另一个框架的封装,我们在学习类似的框架的时候,难免会进入误区,所以我们就应该对其进行总结归纳,对比。本文就是对hibernate,jpa,spring data jpa三者之间进行文字对比,以及对其三者分别进行CRUD操作。文字说明HibernateHibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建...
2019-05-01 11:44:38
13742
7
原创 springboot搭建账单管理系统
阅读本博客之前,简历大家对springboot基础有一定的了解,如果感兴趣的话,可以看一下我之前写的一篇博客,里面讲述了springboot的介绍与优点以及几种数据访问操作的方法。建议大家去看一下。话不多说,现在我们就开始来使用springboot框架来快速搭建账单管理系统,让大家体会到springboot框架的高效、便捷等优势。项目源码和数据库脚本我已经上传到githup上面了,大家可以去g...
2019-04-29 14:31:45
3774
1
原创 springboot的介绍与数据访问操作的几种方式
springboot介绍springboot的设计是为了使您能够尽可能快地启动和运行。它使用 “习惯优于配置” (项目中存在大量的配置,而 Spring Boot 内置一个习惯性的配置,让你无须手动进行配置)的理念让你的项目快速运行起来。使用 Spring Boot 很容易创建一个独立运行(运行jar,内嵌 Servlet 容器)、准生产强力的基于 Spring 框架的项目,使用 Sprin...
2019-04-29 11:36:23
1333
原创 Ribbon客户端负载均衡
前面我们了解了服务调用Rest和服务注册中心Eureka。现在我们来了解微服务架构springcloud技术栈之Ribbon负载均衡器。什么是负载均衡?LB,即负载均衡(Load Balance),负载均衡是微服务架构中经常使用的一种技术。 负载均衡是我们处理高并发、缓解网络压力和进行服务端扩容的重要手段之一,简单的说就是将用户的请求平摊的分配到多个服务上,从而实现系统的高可用性集群。负载...
2019-04-27 19:55:38
578
原创 微服务技术栈之Eureka-服务的注册与发现(包括单机版与集群版)
前面描述了服务之间的调用Rest,读者可以点击该链接Rest查看问题:系统会根据业务划分成很多的微服务,微服务的信息该如何管理呢?springcloud中提供服务注册中心来管理微服务信息为什么要使用注册中心?微服务数量众多,要进行远程调用就需要知道服务端的ip地址和端口,注册中心帮助我们管理这些服务的ip和端口。微服务会实时上报自己的状态,注册中心统一管理这些微服务的状态,将存在...
2019-04-27 16:44:39
332
原创 使用Rest构建分布式微服务架构实战项目
看该博客之前,建立大家有maven,springboot基础,以及微服务架构概念;如果没有微服务架构思想的话可以看下我发表的一篇博客。链接如下:微服务架构描述以下使用的编辑器是IDEA开发环境要求:jdk1.8(springboot推荐jdk1.8及以上)maven 3.x(maven3.2以上版本)sringboot:springboot2.0.7springcloud使用当前最...
2019-04-27 14:04:53
563
原创 谈谈微服务架构的诞生历程与理解
对于微服务,马丁福勒在2014年发表了一篇关于微服务的博客,感兴趣的读者可以去看看。 [博客](https://martinfowler.com/microservices/) 微服务是一种架构风格,是以开发一组小型服务的方式来作为一个独立的应用系统,即每个服务都运行在自己的进程中,服务之间采用轻量级的HTTP通信机制(通常是采用HTTP的RESTFUL API)进行通信。每一个服务都是根据...
2019-04-27 10:30:52
1922
含图片的applet小程序
2017-12-07
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅