avatar
文章
40
标签
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差距很大,则阻塞写 潜在常见问题 ...
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 ...
mcp协议使用
发表于2025-05-13|更新于2025-05-14|ai
一、mcp介绍 mcp结构图如下: 二、安装mcp mcp python sdk:https://github.com/modelcontextprotocol/python-sdk 安装uv包管理工具 12# 全局安装uv包管理工具pip install uv 安装sdk: 12345uv add "mcp[cli]" httpx# 或者pip install "mcp[cli]"# 或者uv pip "mcp[cli]" httpx 三、创建mcp服务 mcp server可以有本地的通过stdio来和client交互的server端,也有远程通过http sse协议和client交互的server端 3.1 创建mcp本地server 创建一个本地server,通过标准输入输出(stdio)和mcp client进行通信 3.1.1 创建项目 12345678910uv init mcpstdioserver # 初始化项目cd mcpstdioserver# 创建并激活虚拟环境uv venvsource .venv ...
vllm使用教程-基于qwen模型
发表于2025-05-09|更新于2026-02-10|ai
环境搭建 创建vllm,最好单独搭建一个vllm的环境 1234conda create -n vllm python=3.12 -yconda activate vllmpip install vllmpip show vllm # 0.8.5.post1 命令行启动vllm qwen3开源包括两款MoE模型:Qwen3-235B-A22B(2350多亿总参数、 220多亿激活参数),以及Qwen3-30B-A3B(300亿总参数、30亿激活参数); 以及六个Dense模型:Qwen3-32B、Qwen3-14B、Qwen3-8B、Qwen3-4B、Qwen3-1.7B和Qwen3-0.6B。 首先尝试在T4显卡(15G显存,80G内存)启动dense稠密向量的qwen3-4b模型,由于T4不支持bf16,所以需要修改为float16格式(--dtype=half) 1vllm serve Qwen/Qwen3-4B --dtype=half 发现跑不起来,显存太少,修改了--gpu-memory-utilization=0.95 --max-model-len=16384依然无法跑 ...
12…4
avatar
JimmyDing
种一棵树,最好的时间是十年前,其次是现在
文章
40
标签
11
分类
8
Follow Me
公告
欢迎前来爱开源GoGo
最新文章
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
大模型ReAct-基于llamaIndex框架
大模型ReAct-基于llamaIndex框架2025-05-28
mcp协议使用
mcp协议使用2025-05-13
分类
  • Go6
  • ai17
  • vue2
  • 存储6
  • 工具3
  • 推荐算法1
  • 搜索2
  • 搞笑1
标签
cos 推荐算法 工具 faiss ai 缓存 Go GPU mysql 搞笑 vue
归档
  • 二月 20262
  • 一月 20262
  • 九月 20251
  • 五月 20254
  • 八月 20241
  • 六月 20242
  • 五月 20242
  • 四月 20246
网站资讯
文章数目 :
40
本站访客数 :
本站总访问量 :
最后更新时间 :
©2020 - 2026 By JimmyDing
框架 Hexo|主题 Butterfly