avatar
文章
43
标签
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 ...
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框架对于外界输入的获取。 ...
大模型ReAct-基于llamaIndex框架
发表于2025-05-28|更新于2025-06-02|ai
大模型ReAct-基于llamaIndex框架 llamaIndex的react的系统提示词如下: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556react_system_header_str = """\You are designed to help with a variety of tasks, from answering questions \ to providing summaries to other types of analyses.## ToolsYou have access to a wide variety of tools. You are responsible for usingthe tools in any sequence you deem appropriate to complete the task at hand.This may requir ...
12…5
avatar
JimmyDing
种一棵树,最好的时间是十年前,其次是现在
文章
43
标签
11
分类
8
Follow Me
公告
欢迎前来爱开源GoGo
最新文章
Pi agent源码剖析一:启动流程分析
Pi agent源码剖析一:启动流程分析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
大模型ReAct-基于langchain框架
大模型ReAct-基于langchain框架2025-05-28
分类
  • Go6
  • ai20
  • vue2
  • 存储6
  • 工具3
  • 推荐算法1
  • 搜索2
  • 搞笑1
标签
Go GPU 工具 mysql 缓存 ai 推荐算法 cos faiss 搞笑 vue
归档
  • 六月 20261
  • 五月 20261
  • 二月 20262
  • 一月 20262
  • 九月 20251
  • 五月 20254
  • 八月 20241
  • 六月 20242
网站资讯
文章数目 :
43
本站访客数 :
本站总访问量 :
最后更新时间 :
©2020 - 2026 By JimmyDing
框架 Hexo|主题 Butterfly