avatar
文章
44
标签
11
分类
8

首页
文章
标签
分类
图库
爱开源GoGo
首页
文章
标签
分类
图库

爱开源GoGo

Tendis实现
发表于2024-03-14|更新于2026-02-10|存储
Tendis冷热混合存储方案 技术实现原理 采用异步写回方案同步redis中的数据到后端tendisPlus(基于rocksdb)组件。通过订阅redis的aof日志将数据通过kafka异步写到后端tendisPlus 缓存中保存全量key,数据淘汰到tendisPlus仅仅驱逐value,key还在reidis中。当某个key过期时,redis中触发淘汰,会在aof日志中有一条del记录,通过这条记录删除tendisPlus中的值。设置value-eviction-time值为7,表示7天未访问,会被驱逐到tendisPlus中。 读数据 从 Redis 读取数据 。 如果命中,那么就将数据返回给应用程序。 如果redis中key不存在,则返回数据不存在 如果未命中(key存在但数据已落地),阻塞当前客户端, Redis 负责将 Key 从 Tendisplus 中恢复,然后返回给用户。 写数据 写入 Redis 缓存,成功后返回。 后台异步回刷,将数据持久化到后端 Tendisplus。 监听写入速度,和redis落地和redis差距很大,则阻塞写 潜在常见问题 ...
Pi agent源码剖析一:启动流程分析
发表于2026-06-10|更新于2026-06-16|ai
环境搭建 1. 下载pi-agent 1git clone https://github.com/earendil-works/pi.git 2. understanding-anything方便代码理解 安装参考: https://github.com/Lum1104/Understand-Anything 123PS D:\workspace\pi> cd C:\Users\zhiminding\.understand-anything-plugin\packages\dashboardPS C:\Users\zhiminding\.understand-anything-plugin\packages\dashboard> $env:GRAPH_DIR="d:\workspace\pi"PS C:\Users\zhiminding\.understand-anything-plugin\packages\dashboard> npx vite --host 127.0.0.1 3. codegraph阅读代码节省token 安装参考: htt ...
Pi agent源码剖析二:harness实现
发表于2026-06-10|更新于2026-06-25|ai
Pi Agent Harness 源码剖析与理论学习 本文档结合项目官方设计文档(packages/agent/docs/)和源码实现,系统性地讲解 Agent Harness 工程的核心理论与实现方案。 目录 一、Harness 是什么 二、分层架构总览 三、任务循环 (Agent Loop) 四、工具调用 (Tool Calling) 五、上下文管理 (Context Management) 六、状态模型 (State Model) 七、会话持久化 (Session & Memory) 八、执行日志与可观测性 (Observability) 九、失败重试 (Retry & Recovery) 十、Hook 系统 (Hooks & Extensions) 十一、持久化恢复设计 (Durable Harness) 十二、测试与评测 附录:源码文件索引 一、Harness 是什么 1.1 定义 在 Agent 工程中,Harness(直译"线束")是连接 LLM 与外部世界的编排层。它不是 LLM 本身,也不是单个工具,而是协调以下 ...
OpenSpec使用
发表于2026-05-25|更新于2026-06-01|ai
一、Spec 的前世今生 1.1 什么是规范驱动开发(SDD) 规范驱动开发(Spec-Driven Development, SDD)是当前 AI 编程领域备受推崇的开发方法论。其核心理念是:先写规范,再写代码,用规范约束 AI 的每一步行为。 传统 AI 辅助编码的模式是: 1需求 → AI 写代码 → 检查 → 发现问题 → 重来 而 SDD 的模式是: 1需求 → 生成规范文档 → AI 按规范实现 → 按规范验证 1.2 为什么需要 SDD AI 编码助手虽然能快速生成代码,但如果没有规范驱动的工作流来约束,容易带来以下问题: 上下文中毒:无关信息污染上下文,导致输出偏离 注意力漂移:长对话中偏离原始需求 质量不可控:AI 随机发挥,缺少统一约束 技术债累积:快速生成但缺乏设计的代码难以维护 SDD 的核心理念是:先想清楚再动手,用文档约束行为,用验证确保正确。 1.3 SDD 的演进 阶段 特点 早期 SRS 需求规格说明书,编码前明确系统行为 形式化方法 Z notation、VDM 等形式化规范语言 敏捷时代 User Story、BDD 中的 ...
vllm源码剖析三:调度器剖析
发表于2026-02-10|更新于2026-02-11|ai
vLLM v1 调度器深度剖析 目录 调度器概述 Continuous Batching 深度解析 核心数据结构 调度策略与请求队列 调度流程详解 调度器与 Model Runner 的协作 KV Cache 内存管理 抢占机制 特殊场景处理 关键配置参数 源码导读 1. 调度器概述 1.1 什么是调度器? vLLM 的调度器(Scheduler)是整个推理引擎的"大脑",负责决定在每一次前向计算(forward pass)中: 哪些请求应该被处理 每个请求处理多少 token 如何分配 GPU 内存(KV Cache) 1.2 Continuous Batching 核心思想 vLLM 采用 Continuous Batching(连续批处理) 策略,其核心思想是: 12345传统批处理: [Req1 完成] -> [Req2 完成] -> [Req3 完成] ↓ 等待 ↓ ↓ 等待 ↓Continuous Batching: [Req1, Req2, Req3] 同时处理 ...
vllm源码剖析二:整体架构与调用链深度剖析
发表于2026-02-02|更新于2026-02-12|ai
vLLM 核心架构与调用链深度剖析 一、整体架构概览 graph TB subgraph Frontend["前端层 (Frontend)"] API[API Server] AsyncLLM[AsyncLLM] end subgraph Client["客户端层 (Client)"] EngineCoreClient[EngineCoreClient] MPClient[MPClient/AsyncMPClient] end subgraph EngineLayer["引擎核心层 (EngineCore)"] EngineCore[EngineCore] EngineCoreProc[EngineCoreProc] InputProcessor[InputProcessor] OutputProcessor[OutputProcessor] end subgraph Sch ...
vllm源码剖析一:启动流程分析
发表于2026-01-20|更新于2026-02-10|ai
一、启动分析 使用vllm可以通过CLI命令行工具使用,也可以在代码中调用。 CLI启动链路分析 当使用如下命令行启动vllm 1vllm serve Qwen/Qwen3-1.7B --dtype=half 会构造出一个服务来提供请求。具体函数入口可以在pyproject.toml中看到: 12345[project.scripts]vllm = "vllm.entrypoints.cli:main"[tool.pipx]apps = ["vllm"] 1. CLI入口分析 根据toml的命令可知,命令行工具的入口文件为:vllm/entrypoints/cli/main.py,其中主要逻辑是根据请求的参数不同,调用不同模块: 1234567891011121314151617181920# 命令模块列表CMD_MODULES = [ vllm.entrypoints.cli.openai, # chat/complete命令 vllm.entrypoints.cli.serve, # serve命令 vl ...
传统推荐算法-FM
发表于2026-01-12|更新于2026-01-20|推荐算法
一、FM算法 什么是FM:FM(factor Machine,因子分解机)算法是一种基于矩阵分解的机器学习算法,是由Konstanz大学Steffen Rendle(现任职于Google)于2010年最早提出的,旨在解决稀疏数据下的特征组合问题 背景 什么是稀疏性 假设一个广告分类的问题,根据用户和广告位相关的特征,预测用户是否点击了广告。源数据如下: Clicked Country Day Ad_type 1 USA 26/11/15 Movie 0 China 1/7/14 Game 1 China 19/2/15 Game “Clicked?“是label,Country、Day、Ad_type是特征。由于三种特征都是categorical类型的,需要经过独热编码(One-Hot Encoding)转换成数值型特征。 Clicked? Country=USA Country=China Day=26/11/15 Day=1/7/14 Day=19/2/15 Ad_type=Movie Ad_type=Game 1 1 0 1 0 0 ...
dify使用
发表于2025-09-02|更新于2025-09-03|ai
一、dify基础介绍 Dify 是一款开源的大语言模型(LLM)应用开发平台,使开发者可以快速搭建生产级的生成式 AI 应用。Dify 内置了构建 LLM 应用所需的关键技术栈,包括对数百个模型的支持、直观的 Prompt 编排界面、高质量的 RAG 引擎、稳健的 Agent 框架、灵活的工作流,并同时提供了一套易用的界面和 API。相教于使用langchain这种工具库去开发AI应用,Dify 提供了更接近生产需要的完整方案,可以为开发者节省许多重复造轮子的时间,使其可以专注在创新和业务需求上。 二、dify部署 dify本身就是按照微服务架构设计的,将各个模块通过http进行调用。所以可以单机通过docker compose将多个微服务docker组合进行部署,也可以直接在k8s集群中进行部署。以下通过一次推理分析整个流程: 用户访问暴露的api端口(80)进行访问 首先进入api服务,api服务首先拉去工作流信息、用户信息、聊天日志,这些都存在postgreSql里面。然后启动对应工作流。工作流中遍历各个节点 当节点是llm节点。由于llm是通过插件引入的,所以会通过http调 ...
大模型ReAct-基于langchain框架
发表于2025-05-28|更新于2025-06-04|ai
大模型ReAct-基于langchain框架 ReAct智能体出自于paper “ReAct: Synergizing Reasoning and Acting in Language Models” ReAct 是一个将推理和行为与 LLMs 相结合通用的范例。ReAct 提示 LLMs 为任务生成口头推理轨迹和操作。这使得系统执行动态推理来创建、维护和调整操作计划,同时还支持与外部环境(例如,Wikipedia)的交互,以将额外信息合并到推理中。其核心逻辑在于推理+执行,分为如下三个步骤:Thought、Action、Observation。 Thought:由LLM模型生成,要求模型执行之前必须先进行思考。让模型自己规划需要执行什么行为来完成任务 Action:Act是指LLM判断本次需要执行的具体行为。Act一般由两部分组成:行为和对象。用编程的说法就是API名称和对应的入参。LLM模型最大的优势是,可以根据Thought的判断,选择需要使用的API并生成需要填入API的参数。从而保证了ReAct框架在执行层面的可行性。 Observation:LLM框架对于外界输入的获取。 ...
12…5
avatar
JimmyDing
种一棵树,最好的时间是十年前,其次是现在
文章
44
标签
11
分类
8
Follow Me
公告
欢迎前来爱开源GoGo
最新文章
Pi agent源码剖析一:启动流程分析
Pi agent源码剖析一:启动流程分析2026-06-10
Pi agent源码剖析二:harness实现
Pi agent源码剖析二:harness实现2026-06-10
OpenSpec使用
OpenSpec使用2026-05-25
vllm源码剖析三:调度器剖析
vllm源码剖析三:调度器剖析2026-02-10
vllm源码剖析二:整体架构与调用链深度剖析
vllm源码剖析二:整体架构与调用链深度剖析2026-02-02
vllm源码剖析一:启动流程分析
vllm源码剖析一:启动流程分析2026-01-20
传统推荐算法-FM
传统推荐算法-FM2026-01-12
dify使用
dify使用2025-09-02
分类
  • Go6
  • ai21
  • vue2
  • 存储6
  • 工具3
  • 推荐算法1
  • 搜索2
  • 搞笑1
标签
Go 缓存 cos 推荐算法 ai 搞笑 mysql GPU vue faiss 工具
归档
  • 六月 20262
  • 五月 20261
  • 二月 20262
  • 一月 20262
  • 九月 20251
  • 五月 20254
  • 八月 20241
  • 六月 20242
网站资讯
文章数目 :
44
本站访客数 :
本站总访问量 :
最后更新时间 :
©2020 - 2026 By JimmyDing
框架 Hexo|主题 Butterfly