AI
文章平均质量分 88
王小工
java研发工程师、架构师、云计算、大数据、云原生、AI应用
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
vLLM(vLLM.ai)K8S生产环境部署Qwen大模型
生产级vLLM推理服务架构摘要 本文详细介绍了基于Kubernetes的生产级vLLM推理服务架构方案。系统采用分层设计,包含WAF/CDN安全层、API网关层和Kubernetes集群内的vLLM推理服务。关键特性包括: GPU资源隔离:专用GPU节点池配合taint/toleration机制 安全架构:Istio实现服务间mTLS,Kong网关提供JWT认证和限流 弹性伸缩:基于KServe和HPA实现自动扩缩容,支持GPU利用率指标 模型部署:Docker镜像封装量化模型,支持不可变部署 全链路监控:原创 2025-12-10 08:31:56 · 934 阅读 · 0 评论 -
vLLM(vLLM.ai)生产环境部署大模型
vLLM是一款高性能大语言模型推理框架,提供单机API、多机分布式和K8s容器化三种生产部署方案。部署前需确保环境满足CUDA 11.8+/12.1+、Python 3.8~3.11、NVIDIA显卡等要求。核心部署模式包括:1)单机API服务,支持多卡并行;2)多机分布式部署,适用于70B+大模型;3)K8s容器化方案,便于生产环境管理。所有方案均兼容OpenAI API接口,支持量化模型优化显存占用,并提供详细的环境验证、模型准备和性能调优指南。原创 2025-12-10 08:18:49 · 921 阅读 · 0 评论 -
开源大模型生产环境部署方案(二) 基于Qwen
本文介绍了Qwen开源大模型在阿里云ModelScope生态下的生产环境部署方案。该方案采用Kubernetes集群和KServe推理服务,支持从Qwen-1.8B到Qwen-Max全系列模型的部署,重点优化了AWQ量化、vLLM推理适配和中文RAG流程。部署架构包含WAF防护、API网关、向量数据库和监控系统,针对Qwen模型的trust_remote_code、MoE支持和中文分词等特性进行了专门适配。方案已在金融、政务等高合规场景落地,提供完整的模型下载、容器化部署、资源调度和安全治理指南。原创 2025-12-05 10:26:30 · 1079 阅读 · 0 评论 -
开源大模型生产环境部署方案(一)
本文提出了一套开源大模型生产环境部署方案,涵盖从需求分析到运维保障的全流程。方案针对不同业务场景需求(如智能问答、内容生成等)提供模型选型建议,详细说明硬件资源配置和软件环境搭建要求。采用分层分布式架构设计,包括接入层、服务层、存储层和监控运维层,确保系统的高可用性和可扩展性。部署流程包含模型预处理、容器化打包、K8s集群部署等关键步骤,并提供了API接口封装示例。最后提出高可用保障和性能优化措施,确保系统稳定运行。该方案适用于Llama、Qwen等主流开源大模型的企业级部署需求。原创 2025-12-05 10:04:55 · 743 阅读 · 0 评论 -
【AI】PgVector向量数据库详细部署安装应用
pgvector 是 PostgreSQL 的官方向量扩展,支持稠密向量存储和相似度搜索,适用于中小规模 RAG 应用。部署方式包括 Docker、云托管和源码编译,支持 IVFFlat 和 HNSW 索引优化查询性能。Python 可通过 psycopg、LangChain 或 Django 集成,生产环境需调整 work_mem 等参数。优势在于零新系统引入和 SQL 生态融合,但超大规模性能不如专用向量库。原创 2025-12-03 09:43:18 · 1084 阅读 · 0 评论 -
【AI】Weaviate向量数据库详细部署安装应用
📌 Weaviate 部署与集成指南摘要 核心功能: 混合搜索(向量+关键词) 语义图谱关系 模块化AI流程 动态schema和多租户支持 部署方案: 单机Docker(开发首选) 支持OpenAI API或本地Embedding 提供详细docker-compose配置 Kubernetes集群(生产环境) Helm Chart部署 支持高可用和自动扩缩容 安全特性: 多种认证方式(API Key/OIDC) 企业版支持RBAC和云备份 Python集成: 提供原生SDK操作示例 包含集合创建、数据插入原创 2025-12-03 09:33:40 · 1056 阅读 · 0 评论 -
【AI】Qdrant 向量数据库详细部署安装应用
Qdrant向量数据库部署与应用指南 摘要:本文详细介绍了Qdrant向量数据库的部署方案与应用方法。Qdrant采用Rust编写,支持RESTful API和gRPC协议,具备HNSW索引、元数据过滤、量化压缩等特性。部署方式包括:1)Docker单机部署(推荐开发使用);2)二进制安装;3)集群化部署(支持Raft共识)。安全方面强调必须配置API Key认证,并提供快照备份方案。应用集成部分展示了Python SDK的基本操作和LangChain的RAG集成示例。文章还涵盖了监控配置(Promethe原创 2025-12-03 09:23:52 · 1194 阅读 · 0 评论 -
AI RAG 向量数据库深度对比
本文对比了主流向量数据库在AI RAG场景下的性能与特性。从开源性、托管服务、混合搜索、延迟等维度分析了Pinecone、Weaviate、Qdrant、Milvus、Chroma和pgvector的优劣。结果显示:Pinecone适合快速上线的托管需求,Qdrant性能最优,Milvus适合超大规模,Weaviate支持混合搜索,pgvector是已有PostgreSQL用户的最佳选择,Chroma则适合原型开发。建议根据具体场景需求选择,如低延迟选Qdrant,已有PG用pgvector,混合搜索用We原创 2025-12-03 08:43:11 · 1304 阅读 · 0 评论 -
【Spring AI MCP】Spring AI MCP学习目录
MCP(Model Context Protocol)是AI工程领域新兴的开放协议标准,旨在规范大语言模型与外部工具、知识库等能力的交互方式。该协议由多家AI平台共同推动,包含客户端、服务端、安全机制等完整技术架构。Spring AI框架对MCP提供了全面支持,包括流式HTTP通信、无状态交互、注解开发等特性,并通过系列技术文章详细解析了协议实现细节,涵盖从基础原理到安全认证等关键内容。原创 2025-11-26 08:01:37 · 363 阅读 · 0 评论 -
【Spring AI MCP】十三、SpringAI MCP 特殊参数(Special Parameters)
MCP注解支持多种特殊参数类型,包括McpMeta、@McpProgressToken和McpSyncRequestContext等,这些参数由框架自动注入且不参与JSON模式生成。McpMeta用于访问请求元数据,@McpProgressToken用于追踪长时间运行操作进度,McpSyncRequestContext提供统一的请求上下文访问,支持日志记录、进度通知等功能。这些特殊参数类型为开发者提供了更灵活的请求处理能力,适用于工具、资源和提示词等多种场景。原创 2025-11-26 07:55:48 · 548 阅读 · 0 评论 -
【Spring AI MCP】十二、SpringAI MCP 服务端注解
Spring AI MCP注解模块为Java开发者提供了基于注解的MCP协议实现方案,包含服务器端和客户端两大部分。服务器端提供@McpTool、@McpResource、@McpPrompt和@McpComplete注解,简化了MCP功能开发;客户端则通过@McpLogging等注解处理各类通知。模块支持同步/异步请求上下文、特殊参数注入等高级特性,显著减少了样板代码,提高了开发效率。通过声明式编程模型,开发者可以更专注于业务逻辑而非底层协议实现。原创 2025-11-26 07:55:27 · 805 阅读 · 0 评论 -
【Spring AI MCP】十一、SpringAI MCP 客户端注解
Spring AI MCP注解模块为Java开发者提供了基于注解的声明式编程模型,简化MCP服务器和客户端的开发。该模块包含服务器端和客户端两大核心部分:服务器端提供@McpTool、@McpResource等注解实现工具注册和资源访问;客户端通过@McpLogging、@McpSampling等注解处理服务器通知。支持同步和异步处理方式,提供McpSyncRequestContext等特殊参数类型统一访问请求上下文,显著减少样板代码,提高开发效率。开发者可通过简洁的注解方式快速构建MCP应用,同时保持代码原创 2025-11-26 07:54:36 · 1024 阅读 · 0 评论 -
【Spring AI MCP】十、SpringAI MCP 安全(Security)
Spring AI MCP安全模块为开发者提供了基于OAuth 2.0和API密钥的安全解决方案,保护MCP服务器和客户端的通信安全。该社区驱动项目包含三大核心组件:服务器安全、客户端安全和授权服务器,支持细粒度的访问控制。开发者可以配置OAuth 2.0资源服务器,通过注解实现方法级安全控制,并从安全上下文中获取认证信息。该模块目前仅兼容Spring AI 1.1.x版本,属于社区项目,尚未获得官方认可。原创 2025-11-25 16:17:30 · 769 阅读 · 0 评论 -
【Spring AI MCP】九、 MCP 安全(Security)
MCP协议为LLM调用外部能力提供安全边界,采用能力(Capability)而非传统权限模型进行访问控制,确保LLM仅作为"建议者"而服务端作为"决策者"。其安全机制包括:1)工具注册即授权,能力与身份绑定;2)进程级隔离或语言级沙箱执行环境;3)三重授权检查(存在性、模式合规性、上下文策略);4)输入输出过滤与审计日志。核心原则是所有安全判断必须在可信的服务端完成,不依赖LLM输出,通过分层防御对抗提示注入、工具链污染等攻击。原创 2025-11-25 15:48:24 · 1153 阅读 · 0 评论 -
【Spring AI MCP】八、SpringAI MCP 服务端 Stateless Streamable-HTTP
摘要:本文介绍了无状态流式HTTP MCP服务器的设计与实现。该服务器采用请求间不维护会话状态的设计,适用于微服务架构和云原生环境。文章详细说明了基于Spring MVC和WebFlux的两种实现方式,包括依赖配置、核心属性设置以及四种主要能力(工具、资源、提示和补全)的实现方法。服务器支持通过注解声明式开发,提供同步/异步处理模式,并包含完整的配置参数说明。典型应用场景展示该方案能有效简化部署流程,提升系统扩展性。原创 2025-11-25 15:18:10 · 914 阅读 · 0 评论 -
【Spring AI MCP】七、SpringAI MCP 服务端 Streamable-HTTP
摘要 Spring AI引入了流式HTTP传输的MCP服务器实现,支持WebMVC和WebFlux两种方式。该服务器通过HTTP POST/GET请求处理多客户端连接,可动态通知工具、资源或提示变更。核心功能包括四种可独立配置的能力(工具、资源、提示、补全),支持变更通知和同步/异步规范自动转换。服务器提供注解式声明处理程序,可通过属性灵活配置各项参数,包括端点路径、保活间隔等。典型应用场景包括向语言模型暴露可调用工具、标准化资源访问和提示模板管理,支持通过Spring Bean自动生成各类规范。原创 2025-11-25 15:01:03 · 1050 阅读 · 0 评论 -
【Spring AI MCP】六、SpringAI MCP 服务端 STDIO & SSE
摘要: Spring AI的MCP服务器支持STDIO和SSE两种传输机制,提供多种启动器选择。STDIO方式适合命令行工具,无需Web依赖;SSE WebMVC基于Spring MVC实现HTTP传输;SSE WebFlux则采用反应式编程模型。服务器支持工具调用、资源访问和提示操作三大核心功能,具备变更通知、自动类型转换等特性。配置方面支持自定义端点路径、超时设置等参数,并通过注解简化开发。工具、资源和提示均可通过Spring Bean自动注册,支持同步/异步处理,为AI应用开发提供了灵活的服务器端解决原创 2025-11-25 14:25:28 · 896 阅读 · 0 评论 -
【Spring AI MCP】五、SpringAI MCP 服务端
Spring AI MCP服务器启动器为Spring Boot应用提供标准化的AI能力集成方案。该启动器支持多种协议类型(STDIO/SSE/Streamable-HTTP/Stateless)和传输机制,可自动配置MCP服务器组件,包括工具、资源和提示等核心功能。通过注解驱动开发模式(@McpTool/@McpResource等),开发者能快速定义AI交互接口,系统会自动扫描并注册相关bean。MCP服务器支持同步和异步两种操作模式,具备工具调用、RAG注入、多轮对话管理等核心能力,并能自动兼容不同协议版原创 2025-11-25 11:37:08 · 985 阅读 · 0 评论 -
【Spring AI MCP】四、MCP 服务端
MCP服务端是连接大语言模型与外部能力的智能调度中枢,负责解析MCP请求、协调工具调用与模型推理,并返回标准化响应。其核心功能包括解析MCP请求、路由到基础LLM、执行工具调用、注入检索结果(RAG)、管理多轮对话状态等。架构设计涵盖工具注册中心、向量数据库、多模态处理器和LLM路由器等模块。工作流程包括接收请求、转发LLM、处理响应、执行工具并回传结果。通过Python示例展示了工具注册与执行引擎的实现,以及基于FastAPI的服务端主逻辑。此外,还支持RAG集成和多模态处理等高级功能,实现智能化的请求调原创 2025-11-25 10:38:02 · 1172 阅读 · 0 评论 -
【Spring AI MCP】三、MCP 客户端
Spring AI MCP客户端启动器为Spring Boot应用提供模型上下文协议(MCP)的自动配置,支持多种传输协议和客户端类型。核心功能包括多实例管理、工具集成、自动序列化/反序列化、降级兼容等。提供标准(基于JDK HttpClient)和WebFlux两种启动器,支持STDIO/HTTP/SSE等多种传输方式。配置灵活,可通过YML文件定义服务器连接参数,包括命令执行、环境变量、URL端点等。该组件能与主流AI框架集成,自动处理工具调用流程,实现自然语言与函数执行的闭环交互。适用于需要复杂上下文原创 2025-11-25 10:21:45 · 445 阅读 · 0 评论 -
【Spring AI MCP】二、MCP 客户端
MCP客户端是遵循Model Context Protocol规范的应用程序/SDK,用于统一调用支持MCP的AI服务。它能自动处理工具调用、检索和多模态等功能,核心功能包括构建MCP请求、序列化/反序列化、工具调用响应处理和兼容传统模式。工作流程涉及构建请求、调用AI服务、执行本地工具并返回结果。目前生态包含社区实现和框架集成,如Python示例和Spring AI的Java实现。相比传统客户端,MCP客户端能自动处理复杂流程,统一多模型兼容性,是构建AI Agent的关键基础设施。建议优先采用支持MCP原创 2025-11-25 09:32:06 · 730 阅读 · 0 评论 -
【Spring AI MCP】一、MCP 原理详解
MCP(Model Context Protocol)是一种标准化的LLM与外部能力通信协议,类似于“AI的USB接口”。它通过统一的JSON结构(context字段)集成工具调用、知识检索、多模态输入等功能,解决传统方式中格式不兼容的问题。MCP支持跨平台兼容,即使底层LLM不原生支持,中间件也能自动降级处理。Spring AI通过专用启动器和注释全面支持MCP,开发者可轻松构建MCP客户端或服务端。目前由OpenRouter等推动,已成为事实标准,其核心价值在于标准化、解耦和扩展性,为LLM应用提供高效原创 2025-11-25 08:59:33 · 1276 阅读 · 0 评论 -
Spring AI 源码
Spring AI:构建AI应用的集成框架 Spring AI是一个基于Spring生态系统的AI工程框架,其核心目标是简化企业级AI应用开发。该框架通过模块化设计实现了以下关键能力: 模型集成:提供统一接口支持语言模型、嵌入模型等多种AI能力,屏蔽不同API的底层差异 向量处理:包含专门的向量存储模块,支持20+向量数据库的标准化操作 RAG流程:通过检索增强生成模块实现动态知识整合,解决大模型的静态知识局限 开发工具:提供模板渲染、重试机制等辅助组件,提升开发效率 框架采用分层架构设计,从基础的通用组件原创 2025-07-02 09:59:12 · 1302 阅读 · 0 评论 -
Spring AI Agent
Spring AI 的 Agent 是一种基于大语言模型的智能代理系统,具有动态决策、模块化设计和多代理协作三大特性。其核心功能包括:1)实时分析任务并动态规划执行流程;2)通过工具调用集成外部服务;3)支持多代理协同工作。实现模式涵盖单一LLM优化、链式工作流和工具调用等,适用于从简单分类到复杂协作的不同场景。典型应用包括天气查询、电商订单处理等,通过注解即可快速注册工具服务。该系统采用标准化协议,支持20+主流模型,平衡了灵活性与执行效率。原创 2025-07-02 08:11:19 · 702 阅读 · 0 评论 -
Spring AI RAG
检索增强生成(RAG)技术解析与应用 本文系统介绍了检索增强生成(RAG)技术的核心原理与实现方法。该技术通过将外部知识库实时检索结果融入生成过程,有效解决了传统大模型的"知识冻结"问题。RAG采用ETL流程处理非结构化数据,核心步骤包括文档智能分块、向量编码、相似检索和生成增强。 Spring AI提供了模块化实现方案,包含检索模块(VectorStoreDocumentRetriever)和生成模块(QuestionAnswerAdvisor)。关键技术点涉及动态知识增强机制、语义连原创 2025-06-30 14:24:55 · 1077 阅读 · 0 评论 -
Spring AI MCP
摘要: MCP(模型上下文协议)是一个标准化协议,用于连接AI模型与数据源/工具,类似USB-C的统一接口作用。其Java实现包含三层架构(客户端/服务器层、会话层、传输层),支持同步/异步通信。Spring AI通过Boot Starter集成MCP,提供客户端(STDIO/HTTP SSE)和服务器(STDIO/WebMVC/WebFlux)启动器,支持多实例管理、自动初始化及与Spring AI工具框架的集成。配置灵活,可定制超时、根访问权限和事件处理,适用于构建智能体与复杂工作流,同时确保数据安全与原创 2025-06-10 18:06:27 · 1476 阅读 · 4 评论 -
Spring AI Tool Calling
摘要 Spring AI的Tool Calling功能允许AI模型调用外部工具增强能力,主要应用于信息检索(如查询天气API)和行动执行(如设置闹钟)。开发人员可通过定义工具接口、实现逻辑并注册为Spring组件来集成工具,支持声明式(@Tool注解)和编程式两种方式。模型会根据用户问题判断是否调用工具,将结果整合到最终响应中。该机制通过工具名称、描述和参数配置实现精确调用,有效扩展了AI应用的功能边界。原创 2025-06-04 18:22:29 · 1312 阅读 · 3 评论 -
Spring AI Advisor机制
Spring AI Advisors 是 Spring AI 框架中用于增强 AI 交互的核心组件,采用责任链模式实现请求/响应拦截。主要功能包括:动态修改聊天请求/响应、通过 AdvisorContext 共享上下文数据、兼容多模型架构。典型应用场景涵盖对话记忆管理(MessageChatMemoryAdvisor)、日志记录(SimpleLoggerAdvisor)和提示词动态调整。该组件提供同步(CallAroundAdvisor)和流式(StreamAroundAdvisor)两种处理方案,开发者可原创 2025-06-03 14:48:36 · 1641 阅读 · 0 评论 -
Spring AI 本地Ollama
本文介绍了Ollama大模型的本地部署及与Spring AI的集成方案。主要内容包括:Ollama在Linux/WSL2等环境下的安装方法,DeepSeek-R1等模型的下载与运行;Spring AI通过引入Ollama依赖实现本地集成;性能优化方案如硬件加速、轻量化模型选择;常见问题处理如资源不足、CUDA内存错误等。该方案帮助开发者快速构建本地化AI应用,平衡灵活性与性能需求。原创 2025-05-27 14:48:48 · 1357 阅读 · 0 评论 -
Ollama自定义模型
Ollama 提供多种自定义模型的方式:1) 支持通过GGUF文件导入模型,只需下载量化模型文件并创建Modelfile即可运行;2) 通过Modelfile定义角色模板,可调整生成参数、设置系统提示和对话格式;3) 支持模型微调与适配器集成,兼容主流架构和格式;4) 提供图形界面工具如Ollama Desktop和Open WebUI,便于可视化管理和交互。操作步骤包括创建配置文件、参数调整和命令行部署,支持从基础模型创建定制版本,满足不同场景需求。原创 2025-05-27 14:47:31 · 1443 阅读 · 0 评论 -
Srping AI 多模态
多模态 AI 是指能够融合并处理来自多个模态(如视觉、语言、听觉、触觉等)的信息,并进行联合推理或生成的能力。举例说明:图文问答:用户上传一张图片并提问“图中是什么?”模型需要理解图像内容并用自然语言回答。视频理解:分析一段视频中的动作、语音、背景音乐、字幕等,判断视频的情感倾向。语音+图像生成:根据一段描述性的语音生成对应的图像。自动驾驶:结合摄像头(视觉)、雷达(距离)、GPS(位置)、声音传感器等多模态数据做出驾驶决策。特性描述图像理解。原创 2025-05-26 16:16:08 · 1090 阅读 · 0 评论 -
Spring AI 组件介绍
Spring AI:简化AI集成的Spring框架扩展 Spring AI是一套专为Spring应用设计的AI集成框架,提供模块化组件简化大模型接入与功能开发。核心功能包括: 多模型支持:集成OpenAI、Claude等主流LLM,支持文本/图像生成 工程化工具: 对话管理(ChatClient/ChatMemory) 结构化输出转换(BeanOutputConverter) 函数调用(@Tool注解) 数据处理: 文档解析(PDF/Markdown) 向量数据库对接(Pinecone/Elasticsea原创 2025-05-26 09:30:11 · 1899 阅读 · 0 评论 -
Spring AI 介绍
Spring AI 是 Spring 生态系统推出的面向人工智能工程的应用框架,旨在将 Spring 的设计原则(如可移植性、模块化)引入 AI 领域,为 Java 开发者提供便捷的 AI 集成方案。其核心特点包括生态融合、跨模型支持、提示工程、嵌入技术、Advisor 拦截器机制和检索增强生成(RAG)。Spring AI 通过标准化接口、模块化设计和快速集成,降低了 Java 开发者使用 AI 技术的门槛。然而,它强制依赖 JDK 17+ 和 Spring Boot 3.3+,对老旧系统不友好,且部分功原创 2025-05-23 18:29:17 · 3182 阅读 · 0 评论 -
SpringAI学习
Spring AI Advisor机制。Spring AI 本地Ollama。Spring AI 结构化输出。Spring AI 组件介绍。Srping AI 多模态。Spring AI 介绍。Spring AI 源码。原创 2025-05-23 18:00:11 · 460 阅读 · 0 评论 -
AI Tinyflow 详解
Tinyflow 是一个轻量级的 AI 智能体工作流编排框架,旨在通过模块化设计和跨平台兼容性,帮助开发者快速将 AI 能力集成到传统应用中。其核心特点包括:1) 嵌入式开发组件,适合为现有系统增强 AI 能力;2) 轻量化设计,支持边缘计算和物联网场景;3) 前端基于 Web Component,兼容主流框架及原生 HTML/JS;4) 后端支持 Java、Python 和 Node.js,提供多语言 SDK;5) 可视化编排界面,降低技术门槛。Tinyflow 封装了 NLP、CV 等常见 AI 功能,原创 2025-05-16 08:46:11 · 1261 阅读 · 0 评论 -
AI Agent 和AI Workflow 区别
AI Agent是一个具有自主性的智能实体,能够感知环境、推理决策并执行行动。核心特点包括:动态决策、环境交互、目标导向。例如:客服Agent能根据用户输入自主选择回复内容或调用工具解决问题。是一种预定义的线性任务流程,强调标准化和自动化执行。核心特点包括:固定流程、规则驱动、可预测。例如:软件开发中的“代码提交→测试→部署”流程。场景AI Agent表现AI Workflow表现客服动态补全信息,灵活决策解决方案仅处理标准化工单,流程外问题失效内容生成。原创 2025-05-07 17:57:18 · 1116 阅读 · 0 评论 -
AI Workflow
AI Workflow(人工智能工作流)指的是在构建、部署和管理AI模型与应用时所涉及的一系列步骤和流程。它将数据处理、模型训练、评估、部署及监控等环节有机结合起来,以实现高效、可重复的AI解决方案开发过程。原创 2025-05-07 15:54:20 · 1100 阅读 · 0 评论 -
AI Agent
AI Agent(人工智能代理)是一种能够在特定环境中自主感知、决策并执行任务的智能实体。它结合了人工智能技术与自动化能力,能够根据预设目标或实时变化调整行为,以完成复杂任务。原创 2025-05-07 15:44:15 · 456 阅读 · 0 评论 -
如何给DeepSeek访问提速?
快速应用DeepSeek访问速度。原创 2025-02-21 11:17:37 · 487 阅读 · 0 评论 -
大模型Ollama RestAPI 详解
Ollama 是一个开源的本地化工具,允许用户在本地运行大型语言模型(如 LLaMA、Mistral、Gemma 等),并通过 REST API 与模型交互。原创 2025-02-11 16:31:02 · 4257 阅读 · 0 评论
分享