add
This commit is contained in:
@@ -40,7 +40,7 @@
|
|||||||
|
|
||||||
### AaaS
|
### AaaS
|
||||||
|
|
||||||
#### 技术栈
|
##### 技术栈
|
||||||
|
|
||||||
| 类型 | 条目 |
|
| 类型 | 条目 |
|
||||||
|:-----|:-----|
|
|:-----|:-----|
|
||||||
@@ -49,20 +49,20 @@
|
|||||||
| 模型 | 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 |
|
| 模型 | 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 |
|
| 存储 | MySQL 8.0+、Milvus 2.6+、Redis 8.0+、MinIO |
|
||||||
|
|
||||||
#### 工作内容
|
##### 工作内容
|
||||||
|
|
||||||
| 项目 | 职责 |
|
| 项目 | 职责 |
|
||||||
|:-----|:-----|
|
|:-----|:-----|
|
||||||
| 接入LLM | 基于 spring-ai、agentscope-java 通过 NewAPI 暴露的 OpenAI API(v1) 端点接入聊天、嵌入模型。|
|
| 接入LLM | 基于 spring-ai、agentscope-java 通过 NewAPI 暴露的 OpenAI API(v1) 端点接入聊天、嵌入模型。|
|
||||||
| 向量存储服务 | 在 K8s 和 Helm 部署 Milvus 集群(3个数据节点、3个查询节点)通过 spring-ai 的社区 starter 接入向量存储服务。|
|
| 向量存储 | 在 K8s 和 Helm 部署 Milvus 集群(3个数据节点、3个查询节点)通过 spring-ai 的社区 starter 接入向量存储服务。|
|
||||||
| 网络搜索服务 | 在 Docker 部署 searxng 网页抓取工具,并通过其 REST API 接入,作为 AI Agent 免费使用的 web_search_tool。|
|
| 网络搜索 | 在 Docker 部署 searxng 网页抓取工具,并通过其 REST API 接入,作为 AI Agent 免费使用的 web_search_tool。|
|
||||||
| 部署、接入长期记忆 | 在 Docker 部署 Hindsight、agentscope-ReMe 并通过 REST API 接入,为 AI Agent 提供用户级别的长期记忆能力。|
|
| 长期记忆 | 在 Docker 部署 Hindsight、agentscope-ReMe 并通过 REST API 接入,为 AI Agent 提供用户级别的长期记忆能力。|
|
||||||
| 多智能体 | 支持 Workflow、Agent As Tool 两种范式编排,也支持 A2A 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 引导,**将文件读写、运行脚本等敏感操作卸载到沙箱执行,提高安全性。**|
|
| 沙箱 | 通过 Docker 部署 1 个 all-in-one 容器,内置 Java、Node、Python 三个语言环境,通过 MCP 协议暴露为 MCP Server,**提供 shell、file_read、file_write、file_search 等工具**。为 AI Agent 绑定该 MCP 再通过 Prompt 引导,**将文件读写、运行脚本等敏感操作卸载到沙箱执行,提高安全性。**|
|
||||||
|
|
||||||
### 数字人
|
### 数字人
|
||||||
|
|
||||||
#### 技术栈
|
##### 技术栈
|
||||||
|
|
||||||
| 类型 | 条目 |
|
| 类型 | 条目 |
|
||||||
|:-----|:-----|
|
|:-----|:-----|
|
||||||
@@ -71,7 +71,7 @@
|
|||||||
| 模型 | 阿里百炼、Ollama、GPUStack、Qwen2.5-14b-GGUF、Qwen3-8B-GGUF、bge-m3、bce-reranker-base-v1、FunASR、ChatTTS |
|
| 模型 | 阿里百炼、Ollama、GPUStack、Qwen2.5-14b-GGUF、Qwen3-8B-GGUF、bge-m3、bce-reranker-base-v1、FunASR、ChatTTS |
|
||||||
| 存储 | MySQL 8.0+、Redis 8.0+ |
|
| 存储 | MySQL 8.0+、Redis 8.0+ |
|
||||||
|
|
||||||
#### 工作内容
|
##### 工作内容
|
||||||
|
|
||||||
| 项目 | 职责 |
|
| 项目 | 职责 |
|
||||||
|:-----|:-----|
|
|:-----|:-----|
|
||||||
@@ -80,35 +80,71 @@
|
|||||||
| 知识库 | 使用 Docker 部署 RAGFlow,通过其 REST API 作为知识库检索服务接入到数字人背后的 AI Agent 应用。|
|
| 知识库 | 使用 Docker 部署 RAGFlow,通过其 REST API 作为知识库检索服务接入到数字人背后的 AI Agent 应用。|
|
||||||
| 语音模型 | 部署 FunASR、ChatTTS 语音识别、合成模型,通过其 REST API、WebSocket 端点接入使用。|
|
| 语音模型 | 部署 FunASR、ChatTTS 语音识别、合成模型,通过其 REST API、WebSocket 端点接入使用。|
|
||||||
|
|
||||||
## 整车集成开发平台
|
### 整车集成开发平台
|
||||||
|
|
||||||
- 技术栈:Java 8、MySQL、Redis、Kafka、Spring Boot、Spring Cloud、Feign、Sharding Proxy
|
##### 技术栈
|
||||||
- 职责:
|
|
||||||
- 日常迭代需求评审、编写技术方案文档、排查并修复测试&生产环境中暴露的问题。
|
|
||||||
- 通过消息中间件替代线程池处理异步任务,解决在没有优雅停机的场景下,线程池中的任务队列较大,任务堆积的情况下,应用重启/宕机造成的异步任务丢失的问题。
|
|
||||||
- 引入**Sharding Proxy**分表存储大表数据,因实际业务场景仅通过唯一键进行查询,所以直接根据唯一键哈希取模分表存取。仅保留近一年的数据,一年的数据量增长约1亿+,分了10张表,历史数据 gzip 压缩并归档至OSS。
|
|
||||||
- 设计并开发**问题管理**子系统,对接到企业微信OA平台、公司内部工作流服务。
|
|
||||||
|
|
||||||
## 蜂羽()
|
| 类型 | 条目 |
|
||||||
|
|:-----|:-----|
|
||||||
|
| JDK | Oracle JDK8(8u202)|
|
||||||
|
| 框架 | spring-boot-2.x、spring-cloud |
|
||||||
|
| 存储 | MySQL 5.7+、Redis 6.0+、sharding-proxy、MinIO |
|
||||||
|
| 通信 | OpenFeign、Kafka |
|
||||||
|
|
||||||
### 核心技术栈
|
##### 工作内容
|
||||||
|
|
||||||
|
| 项目 | 职责 |
|
||||||
|
|:-----|:-----|
|
||||||
|
| 异步任务优化 | 使用消息中间件取代线程池处理异步任务,避免线程池任务堆积造成任务丢失。创建异步任务时落表,同时发送1条消息。通过定时任务补偿(5s一次)避免消息发送失败造成任务悬挂,若重试达到上限仍然失败,通过企微群聊机器人告警,人工干预并确认风险。|
|
||||||
|
| 企微机器人 | 将企微机器人相关能力打包成一个 starter 便于业务服务接入。|
|
||||||
|
| 分表 | 引入**Sharding Proxy**分表存储大表数据,根据实际业务场景仅通过唯一键进行查询,选择了唯一键哈希取模分表存取。仅保留近一年的数据,一年的数据增长约 1 亿左右,分了 10 张表。历史数据 gzip 压缩并归档至OSS,不再提供查询。|
|
||||||
|
| 业务系统开发| 设计并开发**问题管理**子系统,对接到企业微信OA平台、公司内部工作流服务。|
|
||||||
|
|
||||||
- 技术栈:Java 8、MySQL、Redis、RocketMQ、Seata、Spring Boot、Spring Cloud、Skywalking、OTel、Spring Boot Actuator、Prometheus、Grafana
|
### 蜂羽
|
||||||
- 日常迭代需求评审、编写技术方案文档、服务巡检、跟踪并修复生产环境中的问题、不定期组织技术分享会。
|
|
||||||
- **架构升级,Spring MVC -> Spring Cloud**:第一版项目源码来自外包公司,随着团队成员增加、系统请求量攀升,单体架构的运维成本开始抬升,也不能满足更高效的团队协作。与领导协商后决定花3个月的时间,一边继续业务迭代,一边重构成 Spring Cloud 微服务架构,最终拆成了8个微服务,并完成了前后端分离。
|
|
||||||
- **微服务网关**:使用 zuul 1.x、Nacos 实现请求路由、负载均衡,每个服务的负载均衡算法插件化,适应灵活多变的业务需求。
|
|
||||||
- **统一登录/认证服务**:短信验证码、账号密码注册/登录,为网关提供鉴权服务,每个微服务的权限验证机制,仍然插件化。
|
|
||||||
- **身份认证服务**:对接上上签、E签宝开放平台的人脸识别、实名信息验证、企业信息验证等能力,对接2个供应商是防止其中1个供应商因系统升级或不可抗力因素造成服务中断,支持故障自动切换或强制切换。将多个外部平台 API 收敛成一套内部 API,提供一个 starter 方便业务域的微服务快速接入相关能力。
|
|
||||||
- **分布式事务**:随着微服务之间跨服务调用,不可避免的出现了多个服务之间事务一致性的问题,引入 Seata(AT模式)提供分布式事务强一致性的能力。但是 AT 模式的并发度太低,在请求量较大且无法限流的情况下(比如订单支付)同时采用 RocketMQ 的柔性事务方案,提高吞吐量。
|
|
||||||
- **监控、告警系统**:随着架构变得复杂,排查问题越来越费时间,所以研究了一下 Skywalking、OTel、Spring Boot Actuator、Prometheus、Grafana 相关中间件,监测每个HTTP端点的请求量、最长耗时、内存与CPU占用、通过 Skywalking 的一系列探针,观测每个HTTP端点的耗时情况,包括跨服务调用、JDBC等耗时。除了收集数据,还做了达到阈值自动告警的能力,例如:当某个HTTP请求耗时超过5s,通过钉钉群聊机器人发送一条消息并@负责人,每个微服务都会登记负责人、至少2个人,方便相关研发团队及时响应并优化问题。
|
|
||||||
- **下载中心**:系统用户经常在月底导出 Excel 报表满足对账等需求,服务器内存是有限的,直接限流的话用户体现很差,所以做了一个集中管理的下载中心。业务服务把导出的 HTTP 请求端点添加到下载中心,下载中心会分配一个唯一标识。前端在导出 excel 的功能,不直接请求业务系统,而是携带唯一标识、相关参数请求至下载中心。下载中心会创建一个下载任务,并通过线程池异步处理,处理完以后更新任务状态,把 excel 上传到 oss 生成一个有效期7天的下载链接。线程池的队列就是最大吞吐量,用户提交下载任务后,只是等待时间变长一点,最终一定会下载成功,也保障了业务服务的健康。
|
|
||||||
|
|
||||||
## SmartCC外呼中心()
|
##### 技术栈
|
||||||
|
|
||||||
- 技术栈:Java 7、Activity、Oracle、Redis、Spring MVC、Rabbit MQ、WebSocket
|
| 类型 | 条目 |
|
||||||
- 职责:编写技术文档,基于 Redis、Rabbit MQ、WebSocket 设计 WebIM 在线客服系统。集成 Activity 工作流引擎,对接 CTI 和软电话,实现 Web 端拨打电话。针对作息与访客的聊天记录和电话录音,进行打分和评论的人工质检系统。
|
|:-----|:-----|
|
||||||
|
| JDK | Oracle JDK8(8u202)|
|
||||||
|
| 框架 | spring-boot-2.x、spring-cloud |
|
||||||
|
| 存储 | MySQL 5.7+、Redis 6.0+、MinIO |
|
||||||
|
| 通信 | OpenFeign、RocketMQ |
|
||||||
|
| 事务 | Seata(AT)、RocketMQ(事务消息)|
|
||||||
|
| 观测 | Spring Boot Actuator、Micrometer、Skywalking、Grafana、Prometheus |
|
||||||
|
|
||||||
# 教育经历
|
##### 工作内容
|
||||||
|
|
||||||
|
| 项目 | 职责 |
|
||||||
|
|:-----|:-----|
|
||||||
|
| 架构升级 | 因迭代节奏频繁、单体架构愈发臃肿,**为避免牵一发动全身也为了前后端分离,提高团队协作效率。**从 MVC 升级到 spring-boot 再拆成 spring-cloud 微服务,耗时 3 个月最终平稳上线。|
|
||||||
|
| 微服务网关 | 实现微服务请求路由、负载均衡,**使用插件化的思想,支持每个微服务自定义负载均衡策略,默认轮询。**|
|
||||||
|
| 消息中心 | 聚合多渠道消息触达平台,收敛 1 套 API 供业务服务集成,包括:**短信、外呼电话、隐私号、APP通知,微信订阅号通知、邮箱、钉钉群机器人**。
|
||||||
|
| 身份认证服务 | 聚合多渠道**人脸识别、实名信息验证、企业信息验证**等能力,收敛 1 套 API 供业务服务集成。|
|
||||||
|
| 登录/认证 | 开发**账号密码、短信验证码、微信授权登录**等注册、登录功能,并为其他业务服务提供用户账号鉴权能力。|
|
||||||
|
| 监控/告警 | 随着架构变得复杂,排查问题越来越费时间。通过监测 HTTP 端点的**请求量、耗时、内存、CPU 等开销,以及 JDBC、Redis 的耗时。当触发某个阈值主动通过钉钉群机器人告警,方便开发人员及时排查原因并优化。|
|
||||||
|
| 异步下载中心 | 系统用户经常在月底导出 Excel 报表满足对账等需求,为避免集中导出打垮服务器,做了一个集中管理的下载中心。前端直接请求下载中心,下载中心创建 1 个下载任务。下载中心通过线程池排队下载,8个线程、队列长度=32。根据任务信息从业务服务分批提取数据,然后生成 excel 文件再上传到 oss 生成一个有效期7天的下载链接,发送APP通知用户下载完毕。|
|
||||||
|
|
||||||
|
### SmartCC外呼中心
|
||||||
|
|
||||||
|
##### 技术栈
|
||||||
|
|
||||||
|
| 类型 | 条目 |
|
||||||
|
|:-----|:-----|
|
||||||
|
| JDK | JDK 1.7|
|
||||||
|
| 框架 | Spring MVC、Activity |
|
||||||
|
| 存储 | Oracle、Redis 3.x |
|
||||||
|
| 通信 | Rabbit MQ、WebSocket |
|
||||||
|
|
||||||
|
##### 工作内容
|
||||||
|
|
||||||
|
| 项目 | 职责 |
|
||||||
|
|:-----|:-----|
|
||||||
|
| WebIM | 基于 Redis、Rabbit MQ、WebSocket 设计并开发**在线客服系统。**|
|
||||||
|
| 工作流 | 集成 Activity 工作流引擎。|
|
||||||
|
| 呼入/呼出 | 对接 CTI、IVR、软电话SDK,实现 Web 端接打电话。|
|
||||||
|
| 质检服务 | 针对作息与访客的聊天记录和电话录音,进行打分和评论的人工质检系统。|
|
||||||
|
|
||||||
|
## 教育经历
|
||||||
|
|
||||||
合肥经济技术职业学院(2014~2017)
|
合肥经济技术职业学院(2014~2017)
|
||||||
Reference in New Issue
Block a user