diff --git a/Resume.md b/Resume.md index 42f77e3..986acdf 100644 --- a/Resume.md +++ b/Resume.md @@ -4,7 +4,7 @@ |:-----|:-----|:-----| | 刘爽/男/1997 | 177****4137 | - | -# 技能清单 +## 技能清单 | 技能点 | 程度 | 描述 | |:-----|:-----|:-----| @@ -18,7 +18,7 @@ | 推理引擎 | 熟悉 | vLLM、llama.cpp、Ollama、GPUStack、Xinference | | AI Agent | 熟练 | Spring AI、AgentScope、AutoGen、CrewAI、LangChain、LangGraph、Milvus、RAG、MCP、Skill、Sandbox | -# 工作经历 +## 工作经历 | 公司名称 | 职位 |入职日期 | 离职日期 | 所在地 | |:-----|:-----|:-----|:-----|:-----| @@ -28,24 +28,71 @@ | 江苏普飞科特信息科技有限公司 | 开发组长 | 2019/07 | 2023/05 | 成都 | | 上海柏维信息技术有限公司 | Java 开发 | 2017/05 | 2019/06 | 上海 | -# 项目经验 +## 项目经验 -## AI Engine(2025/09 ~ 至今) +| 项目名称 | 维护周期 | 项目介绍 | +|:-----|:-----|:-----| +| AaaS | 2025/09 ~ 至今 | 一个平台级项目,取自**Agent As a Service**缩写。旨在集中管理**MCP、知识库、LLM网关、AI Agent**,便于各业务部门通过API接入,目标是嵌入到各业务部门的工作流程中,以提高效率。| +| 数字人 | 2025/04 ~ 2025/07 | 一个硬软件结合的产品,适合酒店服务台、商场导航屏等场景,语音交互并完成特定任务。| +| 整车集成开发平台 | 2023/07 ~ 2025/03 | 为极氪汽车国内、瑞典的造型色彩团队服务,旨在提供一个整车开发全生命周期的管理系统。| +| 蜂羽 | 2019/07 ~ 2023/05 | 一个为货主、司机服务的网络货运交易平台,并提供合同、开票、白条、保险等增值服务。| +| SmartCC外呼系统 | 2017/05 ~ 2019/06 | 一个传统的外呼软件 | -- 技术栈:Java 21、MySQL、Spring Cloud、Nacos、RocketMQ、Spring AI、Spring AI Alibaba、AgentScope、Milvus、NewAPI、Qwen 2.5、Qwen 3.5、gpt-oss-120b、bge-m3、bge-reranker-v2-m3 -- 职责:通过 New API 统一管理本地化部署的 LLM,项目中通过 New API 提供的 OpenAI API 兼容端点接入。在 k8s 集群中使用 Helm 部署 Milvus,项目中使用 Spring AI 提供的 VectorStore 接入向量存储服务,涵盖密集、稀疏、混合、全文(基于BM25)检索。本地化部署 searxng 服务,为 AI Agent 提供 WebSearch 能力。基于 Workflow 和 Agent AS Tool 两种方案编排 AI Agent 与 Multi Agent。基于 Ubuntu24.04 镜像构建涵盖 Python、Node.js、Java 三种语言代码执行环境的容器,暴露 MCP Server 与 HTTP 端点,方便 AI Agent 以 Tool 的方式接入,安全、便捷的执行 Skills 中的脚本。协助其他同事解决调试过程中遇到的各种问题,以及代码层面与架构层面的优化工作。 +### AaaS -## AI 数字人(2025/04 ~ 2025/07) +#### 技术栈 -- 技术栈:Java 21、MySQL、Spring AI、Ollama、百炼大模型 -- 职责:采购显卡、及其它配件并组装 GPU 服务器,安装操作系统和 Docker。配置 Nvidia 显卡驱动、Nvidia Container Toolkit、为 Docker 添加 GPU 运行环境。使用 Ollama 部署 Qwen3-8B、Qwen2.5-14b 模型,使用 GPUStack 部署 bge-m3、bce-reranker-base-v1 模型。使用 Docker 部署 Fun ASR、ChatTTS 模型。部署 ES 作为向量数据库使用,在项目中用 Spring AI 整合 LLM 和 ES,实现一个私域知识库聊天问答服务。协助安卓开发小伙伴做数字人技术方案选型,并解决相关问题。 +| 类型 | 条目 | +|:-----|:-----| +| JDK | Bellsoft OpenJDK 21| +| 框架 | spring-boot-3.x、spring-cloud-alibaba、spring-ai、spring-ai-alibaba、agentscope-java | +| 模型 | NewAPI(网关)、Qwen-2.5(128K)、Qwen-3.5-122B-A10B-FP8(430K)、Qwen-3.6-35B-A3B(128K)、gpt-oss-120b(128K)、bge-m3、bge-reranker-v2-m3 | +| 存储 | MySQL 8.0+、Milvus 2.6+、Redis 8.0+、MinIO | -## VIDP(2023/07 ~ 2025/03) +#### 工作内容 + +| 项目 | 职责 | +|:-----|:-----| +| 接入LLM | 基于 spring-ai、agentscope-java 通过 NewAPI 暴露的 OpenAI API(v1) 端点接入聊天、嵌入模型。| +| 向量存储服务 | 在 K8s 和 Helm 部署 Milvus 集群(3个数据节点、3个查询节点)通过 spring-ai 的社区 starter 接入向量存储服务。| +| 网络搜索服务 | 在 Docker 部署 searxng 网页抓取工具,并通过其 REST API 接入,作为 AI Agent 免费使用的 web_search_tool。| +| 部署、接入长期记忆 | 在 Docker 部署 Hindsight、agentscope-ReMe 并通过 REST API 接入,为 AI Agent 提供用户级别的长期记忆能力。| +| 多智能体 | 支持 Workflow、Agent As Tool 两种范式编排,也支持 A2A Agent。| +| 代码执行沙箱 | 通过 Docker 部署 1 个 all-in-one 容器,内置 Java、Node、Python 三个语言环境,通过 MCP 协议暴露为 MCP Server,**提供 shell、file_read、file_write、file_search 等工具**。为 AI Agent 绑定该 MCP 再通过 Prompt 引导,**将文件读写、运行脚本等敏感操作卸载到沙箱执行,提高安全性。**| + +### 数字人 + +#### 技术栈 + +| 类型 | 条目 | +|:-----|:-----| +| JDK | Zulu OpenJDK 21| +| 框架 | spring-boot-3.x、spring-ai、RAGFlow | +| 模型 | 阿里百炼、Ollama、GPUStack、Qwen2.5-14b-GGUF、Qwen3-8B-GGUF、bge-m3、bce-reranker-base-v1、FunASR、ChatTTS | +| 存储 | MySQL 8.0+、Redis 8.0+ | + +#### 工作内容 + +| 项目 | 职责 | +|:-----|:-----| +| 模型部署 | 采购GPU服务器,安装配置 Docker、Nvidia Container Toolkit 等运行时环境。通过 Ollama、GPUStack、Xinference 本地部署聊天、嵌入模型。| +| 接入LLM | 基于 spring-ai 通过 Ollama、GPUStack 暴露的 OpenAI API(v1)端点接入聊天、嵌入模型。| +| 知识库 | 使用 Docker 部署 RAGFlow,通过其 REST API 作为知识库检索服务接入到数字人背后的 AI Agent 应用。| +| 语音模型 | 部署 FunASR、ChatTTS 语音识别、合成模型,通过其 REST API、WebSocket 端点接入使用。| + +## 整车集成开发平台 - 技术栈:Java 8、MySQL、Redis、Kafka、Spring Boot、Spring Cloud、Feign、Sharding Proxy -- 职责:日常迭代需求评审、编写技术方案文档、排查并修复测试&生产环境中暴露的问题,通过消息中间件替代线程池处理异步任务,解决在没有优雅停机的场景下,线程池中的任务队列较大,任务堆积的情况下,应用重启/宕机造成的异步任务丢失的问题。引入 Sharding Proxy 分表存储大表数据,因实际业务场景仅通过唯一键进行查询,所以直接根据唯一键哈希取模分表存取。仅保留近一年的数据,一年的数据量增长约1亿+,分了10张表,历史数据 gzip 压缩并归档至OSS。 +- 职责: + - 日常迭代需求评审、编写技术方案文档、排查并修复测试&生产环境中暴露的问题。 + - 通过消息中间件替代线程池处理异步任务,解决在没有优雅停机的场景下,线程池中的任务队列较大,任务堆积的情况下,应用重启/宕机造成的异步任务丢失的问题。 + - 引入**Sharding Proxy**分表存储大表数据,因实际业务场景仅通过唯一键进行查询,所以直接根据唯一键哈希取模分表存取。仅保留近一年的数据,一年的数据量增长约1亿+,分了10张表,历史数据 gzip 压缩并归档至OSS。 + - 设计并开发**问题管理**子系统,对接到企业微信OA平台、公司内部工作流服务。 + +## 蜂羽() + +### 核心技术栈 -## 蜂羽(2019/07 ~ 2023/05) - 技术栈:Java 8、MySQL、Redis、RocketMQ、Seata、Spring Boot、Spring Cloud、Skywalking、OTel、Spring Boot Actuator、Prometheus、Grafana - 日常迭代需求评审、编写技术方案文档、服务巡检、跟踪并修复生产环境中的问题、不定期组织技术分享会。 @@ -57,7 +104,7 @@ - **监控、告警系统**:随着架构变得复杂,排查问题越来越费时间,所以研究了一下 Skywalking、OTel、Spring Boot Actuator、Prometheus、Grafana 相关中间件,监测每个HTTP端点的请求量、最长耗时、内存与CPU占用、通过 Skywalking 的一系列探针,观测每个HTTP端点的耗时情况,包括跨服务调用、JDBC等耗时。除了收集数据,还做了达到阈值自动告警的能力,例如:当某个HTTP请求耗时超过5s,通过钉钉群聊机器人发送一条消息并@负责人,每个微服务都会登记负责人、至少2个人,方便相关研发团队及时响应并优化问题。 - **下载中心**:系统用户经常在月底导出 Excel 报表满足对账等需求,服务器内存是有限的,直接限流的话用户体现很差,所以做了一个集中管理的下载中心。业务服务把导出的 HTTP 请求端点添加到下载中心,下载中心会分配一个唯一标识。前端在导出 excel 的功能,不直接请求业务系统,而是携带唯一标识、相关参数请求至下载中心。下载中心会创建一个下载任务,并通过线程池异步处理,处理完以后更新任务状态,把 excel 上传到 oss 生成一个有效期7天的下载链接。线程池的队列就是最大吞吐量,用户提交下载任务后,只是等待时间变长一点,最终一定会下载成功,也保障了业务服务的健康。 -## SmartCC外呼中心(2017/05 ~ 2019/06) +## SmartCC外呼中心() - 技术栈:Java 7、Activity、Oracle、Redis、Spring MVC、Rabbit MQ、WebSocket - 职责:编写技术文档,基于 Redis、Rabbit MQ、WebSocket 设计 WebIM 在线客服系统。集成 Activity 工作流引擎,对接 CTI 和软电话,实现 Web 端拨打电话。针对作息与访客的聊天记录和电话录音,进行打分和评论的人工质检系统。