自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

zg_hover的专栏

Get buy living or get busy dying!

  • 博客(448)
  • 资源 (6)
  • 收藏
  • 关注

原创 构建高效智能体系统:从简单到复杂,找到最适合你的解决方案

在实际业务场景中构建智能体,最成功的实现往往不是使用复杂的框架或专用库,而是通过简单、可组合的模式来实现的。本文总结了我们在客户合作和自身开发过程中获得的经验,并为开发者提供实用的建议,帮助他们构建有效的智能体系统。

2025-06-21 09:58:13 425

原创 Vibe Coding 很爽?小心你的代码变成‘技术债’!

想象一下,像写作文一样来写软件,这可能吗?这会是一种什么样的体验?这就是最近讨论的一种新的编码方式,称之为“vibe coding”。你完全沉浸于氛围,拥抱指数级增长的产出,甚至忘记代码的存在。

2025-06-15 10:16:08 751

原创 Cursor如何快速索引代码库

在很多代码助手软件中,代码库索引的构建的流程其实都大体相似。有些在客户端完成代码索引的构建,有些通过离线任务在后端服务中完成(用户体验会好一些)。和文本索引库(RAG知识库)的构建不同,代码索引库的构建要复杂很多,不仅要对文本进行切割,还需要考虑代码结构中不同元素的代码结构,同时还需要考虑各个元素之间的关系。另外,由于嵌入模型对token的限制,切割后的代码片段不能大于这个最大的限制。所以,既要考虑代码的语法完整性和代码之间的关系,还要考虑代码片段不能太长。

2025-06-15 09:42:58 633

原创 Cursor实现原理初探总结

Cursor是最受欢迎的AI代码编辑器之一。最近newsletter.pragmaticengineer.com上发表了一篇和Cursor工程访谈的记录文章。该文章访谈了Cursor的开发者,并询问了很多Cursor的具体实现原理。这里对这篇文章的核心内容进行了总结。

2025-06-14 06:48:15 983

原创 Langgraph实战-自省式RAG: Self-RAG

传统 LLM 仅依赖内部参数化知识生成回答,容易产生事实性错误(hallucination)。即使结合检索增强生成(RAG),也存在两个问题:(1)盲目检索:无论是否需要检索,都固定检索一定数量的文档,可能引入无关信息。(2)机械整合:直接拼接检索到的内容,可能降低生成结果的流畅性或实用性。现有 RAG 也存在很多的不足,例如:无法动态判断何时需要检索、检索内容是否相关,导致生成质量不稳定。

2025-06-08 20:14:02 1058

原创 Langgraph实战--自定义embeding

在Langgraph中我想使用第三方的embeding接口来实现文本的embeding。但目前langchain只提供了两个类,一个是AzureOpenAIEmbeddings,一个是:OpenAIEmbeddings。通过ChatOpenAI无法使用第三方的接口,例如:硅基流平台的接口。只能自己封装一个类,继承Embeding接口,从而实现整合第三方平台Embending API的能力。

2025-06-07 21:23:43 367

原创 Langgraph实战--在Agent中加入人工反馈

通过对AI输出中加入人类的反馈已经,能够让AI更好的输出符合预期的内容。同时,通过人工的审核,可以更好的保证输出内容的安全性和准确性。

2025-06-06 19:38:34 284

原创 大吞吐量的推理引擎:Tokasaurus

Tokasaurus一款针对吞吐量密集型工作负载进行了优化的全新 LLM 推断引擎。对于小型模型,Tokasaurus 可利用极低的 CPU 开销和动态 Hydragen 分组来利用共享前缀。

2025-06-06 08:21:22 970

原创 Github Copilot新特性:Copilot Spaces-成为某个主题的专家

Copilot的Spaces功能提供了一个能够把各种材料集中起来的知识库。通过这些材料让copilot能够更加深入的理解代码,并能够更加准确和专业地回答用户提示出的各种问题。另外,Spaces能够保持和代码仓库实时同步,让Copilot能够及时获取到最新的知识。另外,Spaces分享的功能也让团队之间的知识分享更加简单。

2025-06-05 21:02:11 977

原创 LLM多平台统一调用系统-LiteLLM概述

在当今快速发展的AI领域,大语言模型(LLM)已成为技术创新的核心驱动力。然而,随着市场上涌现出越来越多的LLM提供商(如OpenAI、Anthropic、Google Gemini、AWS Bedrock等),开发者面临着一个日益复杂的问题:每个平台都有自己独特的API接口、认证方式和响应格式,这使得在不同模型间切换变得异常困难且维护成本高昂。LiteLLM应运而生——这是一个开源工具,旨在通过统一的OpenAI格式接口,简化对多种LLM服务的调用与管理。本文将全面介绍LiteLLM的核心功能、使用场景及

2025-05-25 20:12:24 541

原创 LLM基础-什么是大模型推理(LLM Inferencing)

和传统的机器学习模型类似,大模型也可以分为:模型训练和模型推理两个过程。模型训练就是给定的数据和算法训练出一个模型(一堆文件,包括:模型权重、配置等),然后就可以使用该模型来进行预测或分类等操作。模型推理(Model inference)是使用已训练的机器学习模型根据新的输入数据生成预测的过程。

2025-05-25 17:57:50 581

原创 Langgraph实战-多Agent-主副Agent协同

如果单个Agent需要专门从事多个领域的工作或管理许多工具,它可能会很吃力。为了解决这个问题,你可以将Agent分解成更小的、独立的Agent,并将它们组合成一个多Agent系统。在多Agent系统中,Agent之间需要相互通信。它们通过 “交接”(handoffs)进行通信。“交接 ”是一种描述将控制权交给哪个Agent以及向该Agent发送有效载荷的基本要素。

2025-05-21 07:30:17 425

原创 DoomArena:AI 智能体安全测试的新框架

在人工智能(AI)智能体(Agent)技术快速发展的今天,越来越多的企业和研究机构开始将AI智能体应用于自动化任务中,例如网页浏览、工具调用和客户服务等。然而,随着智能体的广泛应用,其安全性问题也日益凸显。恶意攻击者可能通过多种方式利用智能体的漏洞,例如数据泄露、权限提升和未经授权的金融交易等。为了应对这些挑战,ServiceNow Research和华盛顿大学的研究团队开发了**DoomArena**——一个模块化、可配置、即插即用的AI智能体安全测试框架。

2025-05-07 07:58:02 770

原创 dify实现分析-agent-Agent的类设计

本文分析了Dify的Agent设计框架。分析类Dify Agent相关的各个类的实现和关系。并对各个类的功能进行类分析。

2025-05-06 08:44:07 948

原创 MCP实战-本地MCP Server + Client实战

本文开发一个MCP的Client和Server。然后通过本地模式来运行,并获取到server的结果。

2025-04-27 17:33:01 196

翻译 适用于企业智能体的智能体网格(翻译)

这种新范式需要一个“智能体网格”,即一个平台,无论这些智能体、LLM 或工具部署在何处,都可以在所有智能体交互中实现安全性、可观察性、发现和治理。本文阐述了这一愿景,以及我们 Solo.io 如何准备提供此基础设施。

2025-04-27 08:46:49 39

原创 LLM基础-什么是Tokenizer

在自然语言处理(NLP)中,Tokenizer(分词器)是将文本转化为模型可处理单元(Token)的核心组件。它的拆分逻辑直接影响模型的性能、效率和泛化能力。本文介绍Tokenizer的文本拆分机制

2025-04-27 07:46:31 556

原创 MCP实战-本地MCP Server+Cursor实践

本文介绍了如何编写一个最简单的本地MCP Server,并通过Cursor来使用该MCP Server。

2025-04-24 19:09:42 539

原创 LLM基础-什么是嵌入(Embeddings)

在自然语言处理(NLP)领域,Token Embeddings(标记嵌入)扮演着至关重要的角色。它不仅是语言模型的基础,更是连接人类语言与机器理解的桥梁。本文将深入探讨 Token Embeddings 的原理、生成过程、应用场景,以及它在现代语言模型中的重要性。

2025-04-23 19:23:41 803

原创 Langgraph实战-Agent-使用ReAct进行情感分析

在这个例子中创建了一个情感分析 Agent,它使用 LLM(大型语言模型)来处理客户反馈,并集成自定义情感分析工具,将反馈分为正面、中性或负面。根据情感分析结果, Agent使用 ReAct(推理、行动、观察)框架生成适当的回应。 Agent对客户反馈进行推理,调用情感分析工具,并作出回应。

2025-04-23 08:35:20 491

原创 Langgraph实战-Agent-ReAct(Reason+Act)概述

ReAct 架构将推理与动作相结合,使Agent能够通过生成想法并基于这些想法执行动作。这种决策透明度使Agent能够更负责地执行任务,因为它会记录每一步的推理过程。

2025-04-22 07:32:30 1059

原创 LLM基础-什么是Token?

Token 是大语言模型(LLM, Large Language Model)中最基本的输入单元,它是语言被模型“理解”的方式。不同于人类可以直接看懂一段自然语言文本,LLM 只能处理数字,而这些数字就是由 token 转换而来的。

2025-04-20 13:27:18 485

原创 本地离线安装Ollama

官方提供了一个下载和执行的脚本,但是由于网络原因,该脚本实在太慢了,只能手动下载安装包。此时,虽然安装包已经下载了,但不要自己解压安装,否则会出现很多未知的错误。最好是用官方提供的脚本来安装。

2025-04-20 13:18:13 517

原创 LangGraph实战-在agent中使用短期记忆(Short-Term memory)

通过使用MemorySaver,我们可以在会话线程中存储对话的状态。在后台,LangGraph 每一步都会保存检查点(checkpoints)--对话状态的快照。这些检查点与模拟会话的线程 ID 相连。只要线程 ID(thread ID) 保持不变,Agent就能记住过去的交互。

2025-03-23 09:17:32 866

原创 FastGPT原理分析-数据集创建第二步:处理任务的执行

本文介绍了文件上传后的任务触发方式。可以看到,是通过监控mongodb数据表dataset_trainings的插入操作来触发数据处理任务。有两种数据处理方式:(1)QA问答方式数据处理;(2)嵌入向量处理方式。后面会介绍这两种方式的具体实现逻辑。

2025-03-23 09:06:01 528

原创 LangGraph实战-Graph构建的基本概念

顾名思义,LangGraph是围绕Graphs(图)展开的,图是连接任务的网络,可用来构建AI智能体的Workflow(工作流)。这些工作流程依赖于四个主要组件:* State(状态):表示应用程序当前快照的共享数据结构。它可以是任何 Python 类型,但通常是 TypedDict 或 Pydantic BaseModel。* Nodes(节点):编码代理逻辑的 Python 函数。它们接收当前状态作为输入,执行一些计算或额外功能,并返回更新后的状态。* Edges(边):根据当前状态决定下一步执

2025-03-21 08:42:47 725

翻译 MCP(MODEL CONTEXT PROTOCOL)概述

Anthropic 将 MCP 定义为将客户端连接到中间件服务器,该服务器连接其他应用程序接口,并公开工具、资源和提示。公开意味着向用户显示现有的功能或名称。模型上下文协议,目前是开源的,这意味着任何人都可以构建自己的 MCP 服务器,或使用我们将要讨论的现有 MCP 服务器之一。模型上下文协议使应用程序能够以一致的方式为 LLM 提供上下文,将上下文提供与实际 LLM 交互隔离开来。

2025-03-18 07:18:00 131

原创 FastGPT原理分析-数据集创建第一步

本文介绍了FastGpt创建数据集的总体流程,并详细分析了第一步的实现步骤和实现原理。可以看到,这一步只是把数据放到了Mongodb的训练队列的表中,那么,当数据插入到Mongodb后,该如何处理这些数据?而处理这些数据的任务又是如何触发的呢?这些实现的原理和逻辑,在下一篇文章中进行分析。

2025-03-14 08:21:06 944

原创 Manus开源版本地部署和初步探索

初步尝试了一下OpenManus,感觉上基本的多Agent框架已经有了,但工具只有3-4个,功能上还存在一些小的问题。个人认为类似Manus这样的多Agent系统,最大的优势就是利用产品化思维,把各种复杂的流程设计与调用都进行了封装,这样留给用户的是一个非常容易使用的界面接口。这样小白用户使用起来也非常的方便,可以享受AI带来的遍历。

2025-03-09 10:37:48 896

原创 dify实现分析-dify的rag实现分析总结

至此,dify关于rag的实现逻辑就基本上分析完了,本文对dify的rag实现进行总结。另外,由于之前的文章顺序比较随意,所以,这里会把之前的文案顺序进行一个梳理,并给出阅读的顺序目录。后面会根据需要对这部分内容进行增补。

2025-03-02 10:34:41 1574

原创 dify实现分析-rag-文档切割的实现

本文介绍了dify中文本分割的几种方式。并对这几种方式的实现进行了分析和比较。文本分割是,RAG框架实现中比较关键的一环,分割质量的好坏直接影响RAG回答的效果。dify中考虑到了文本的长度和语义的连贯性,会对小的分块进行合并,而且又会保证了文本有一定的重叠,保证了语义的连贯性。另外,在其他的RAG框架中也可以使用tiktoken包来对文本块进行token化,然后再对token进行分割。这种方式相对比较简介,在后续文章中会继续分析这种实现方式的原理。

2025-03-01 08:43:25 2348

原创 dify实现分析-rag-rerank的query和文档权重相似度综合得分的计算

当使用权重分数计算来对文档分块进行rerank时,不仅会按文章:[《dify实现分析-rag-rerank中的关键词提取相似度计算》](https://blog.csdn.net/zg_hover/article/details/145868550?spm=1001.2014.3001.5501)的方法计算关键词的TF-IDF余弦相似度,还会计算嵌入向量,计算问题和每个文本嵌入向量的相似度。然后,把这两者的相似度进行综合计算最后的得分,用这个得分来作为rerank选择最合适文档的依据。

2025-02-27 07:29:48 457

原创 dify实现分析-rag-rerank中的关键词提取相似度计算

本文分析了dify关键词提取相似度计算的实现逻辑。dify通过计算每个文档内容得tf-idf,以及计算问题文本得tf-idf,再通过余弦相似度来计算两者的相似度。从而得到问题和文档内容的相似程度分数。

2025-02-26 08:37:36 1388

原创 BM25算法基本使用以及在RAG中的应用

BM25算法被多种RAG开源框架和向量库的向量查询中提到或使用到。本文介绍BM25算法的基本原理,并通过一个可运行的例子来说明如何使用BM25算法。BM25(Best Match 25)是一种用于信息检索的概率模型,常用于搜索引擎和问答系统中。在RAG(Retrieval-Augmented Generation)框架中,BM25用于从大规模文档库中检索与查询最相关的文档。BM25基于词频(TF)和逆文档频率(IDF)计算文档与查询的相关性,结合了文档长度归一化,能够有效处理不同长度的文档。

2025-02-23 21:08:30 1451

原创 dify实现分析-rag-内容检索rerank的两种实现

本文介绍了dify的两种rerank方式的实现。目前dify中支持2种rerank方式,一种通过rerank模型来实现,一种是通过计算分词和向量与query的相似度来实现。另外,dify支持多种rerank模型,可以根据需要进行选择。

2025-02-23 20:55:10 3529

原创 dify实现分析-rag-关键词索引的实现

关键词索引方式不需要其他额外的存储组件就可以完成索引的构建,成本相对比较低,比较经济实惠。但该方式是通过分词和关键词匹配方式来构建的文本块查询,比起通过向量和语义匹配的方式,有一定的局限性,选择那种方式,需要根据具体的场景来确定。

2025-02-19 09:11:26 1466

原创 dify实现分析-rag-文档内容提取

在文章《[dify实现原理分析-上传文件创建知识库总体流程](https://blog.csdn.net/zg_hover/article/details/144954733?spm=1001.2014.3001.5501)》中已经介绍了,文件上传后索引构建的总体流程,本文介绍其中的“Extract: 提取文档内容:这里会按段落或整页来获取文档内容”步骤的实现。

2025-02-17 20:37:57 4372 2

原创 dify实现分析-rag-文件上传后的处理

前面的文章:已经说明了文档上传的总体步骤。当上传一个或多个文档后,dify会启动索引的构建任务来处理文档内容,并构建索引。本文介绍文档索引构建的实现逻辑。

2025-02-17 08:40:35 2518

原创 AI程序员(aider)+ollama+DeepSeek-R1安装配置和使用

aider其实是ai coder的缩写,可以说是一个ai programmer,可以根据需求编写代码,可以分析代码,重构代码等。比一般的代码助手更加智能。目前还处于比较初级的版本,但已经具备一定的可用性。本文介绍aider的本地部署和使用,通过ollama的部署和使用可以让aider使用本地部署的大模型。比如:qwen或deepseek等。ollama的安装和模型的拉取,可以参考我前面的文章,这里不再赘述。

2025-02-16 11:41:49 1288

原创 RAG核心机制和原理概述-3

在应用实践中,RAG模型虽然有着信息完整性、推理能力和跨领域适应性等显著优势,但也面临着数据质量、计算资源消耗和知识库更新等挑战。为进一步提升RAG的性能,提出了针对数据采集、内容分块、检索策略优化以及回答生成的全面改进措施,如引入知识图谱、优化用户反馈机制、实施高效去重算法等,以增强模型的适用性和效率。

2025-02-11 20:07:25 1093

neo4j调优手册v1.0.pdf

neo4j性能优化

2021-08-04

write_solid_code

编写风格好的代码,本书可以 让你学到如何颈好的写出风格,和稳健的程序代码。

2008-11-06

泰坦里克事故乘客训练和测试数据

泰坦尼克事故的乘客信息,训练数据和测试数据

2017-07-01

avafind 破解版

avafind 可用版本。

2016-10-06

unix network programing

unix network programing steven 的经典书籍 学linux/unix网络编程必备书 网络上有chm版本的,我把它搞成了pdf版,方便大家打印

2009-03-06

linux编程和内核的调试技巧

调试技巧 linux下程序的调试技巧,包括内核的调试,很有用的一本书哦!

2008-10-10

空空如也

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

TA关注的人

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