July 23, 2024
OpenAI 国内停服,除了各个大模型厂商提供的迁移方案外,是否有其他更平滑的迁移方案呢?本文以 OpenAI 切换到通义千问为例,介绍开源网关 Higress 的应对方案。优势是: 默认按照模型价格和能力进行了合理映射,且支持用户自定义调整配置 可以通过 OpenAI 的统一协议对接多种大模型,屏蔽实现细节,降低接入新大模型的 API 适配成本 Higress 可以提供 token 限流插件、内容审核插件,通过网关的工程化能力实现业务收益 实操视频 步骤介绍 准备工作:需要登陆阿里云 第一步:启动 Higress AI 网关 Higress 有多种部署方式,...
July 22, 2024
背景简介 定时任务是指在约定的时间,或者按照固定频率周期性执行的任务。在企业应用中,非用户行为发起的后台业务,一般都是通过定时任务来实现,常见场景如下: 异步数据处理:比如先将订单入库,每分钟扫描未支付的订单做批处理。 自动化运维:比如每小时清理一次数据库的历史记录。 系统监控:比如每分钟扫描监控指标,如果超出阈值,进行报警。 数据同步:比如每天凌晨1点把mysql中的数据同步到大数据平台中。 在单体应用中,实现定时任务很简单,比如Java中有java.util.Timer和ScheduledExecutorService。在Spring框架中也提供了scheduling 方...
May 24, 2024
背景介绍 RAG(Retrieval Augmented Generation) 检索增强生成(RAG)是一种用于将数据与人工智能模型集成的技术。在 RAG 工作流程中,第一步将文档数据加载到矢量数据库(例如 Redis)中。当收到用户查询时,矢量数据库会检索一组与该查询相似的文档。然后,这些文档数据充当用户问题的上下文,并与用户的查询结合使用生成响应(通常通过 LLM 模型)。 在此示例中,我们将使用包含啤酒信息的数据集,包括名称、酒精体积 (ABV)、国际苦度单位 (IBU) 等属性以及每种啤酒的描述。该数据集将加载到 Redis 中,之后通过 Spring Cloud Ali...
May 9, 2024
快速体验 Spring Cloud Alibaba AI 旨在简化包含人工智能相关功能的应用程序的开发,避免不必要的复杂性。 Spring AI 的核心是提供抽象,作为开发 AI 应用程序的基础。这些抽象有多种实现方式,只需极少的代码改动即可轻松实现各个大模型之间的切换。 Spring AI 提供以下功能: 支持所有主要模型提供商,例如 OpenAI、Microsoft、Amazon、Google 和 Huggingface。 支持的模型类型包括“聊天”和“文本到图像”,还有更多模型类型正在开发中。 跨 AI 提供商的可移植 API,用于聊天和嵌入模型。支持同步和流 API...
January 27, 2024
本文章主要叙述在 Java 应用适配 Graalvm Native Image 中的步骤和遇到的一些问题!因为 Graalvm 官方文档相关概念叙述过于简单。基本靠问才能知道些许有用信息。所以写此文章。 关于 Graalvm 基础知识的相关学习,可以参照 Seata 社区 commiter 王良的 ,本文章主要介绍元数据适配。不对 Graalvm 基础做过多介绍。 Graalvm 现状介绍 GraalVM:是一种高性能运行时,可显着提高应用程序性能和效率,是微服务的理想选择。它专为使用 Java、JavaScript、基于 LLVM 的语言(例如 C 和 C++)以及其他动态语言编写...
January 27, 2024
GitHub issue 参见: 经验教训 GraalVM Tracing Agent 收集到的信息可能不完整,所以依据这些信息编译出来的镜像运行时依然会报错,有时候需要手动补充 `reflectconfig.json`中的内容。 适配过程 1. fastjson 需要升级到 fastjson2 才支持 GraalVM,GraalVM 下不能用字节码做优化,走的是反射。 ```xml com.alibaba fastjson 2.0.22 ``` 2. pom.xml 中需要增加 `nativemavenplugin`这个插件并添加相应的配置 ...
January 27, 2024
Spring Cloud Alibaba项目简介 Spring Cloud Alibaba(下文简称为SCA) 致力于提供微服务开发的一站式解决方案。此项目包含开发分布式应用服务的必需组件,方便开发者通过 Spring Cloud 编程模型轻松使用这些组件来开发分布式应用服务。 依托 SCA,您只需要添加一些注解和少量配置,就可以将 Spring Cloud 应用接入阿里分布式应用解决方案,通过阿里中间件来迅速搭建分布式应用系统。 项目最佳实践案例介绍 SCA的项目的最佳实践,是整合了SCA相关组件(Nacos,Sentinel,Seata,RocketMQ)的Example示例项...
November 7, 2023
Spring Boot 单体应用升级 Spring Cloud 微服务 通过以下示例,我们完整的演示了一个 Spring Boot 架构的单体应用集群,如何平滑的升级为一个 Spring Cloud 微服务集群,本文章包含源码、讲解、原理说明。 本示例完整源码,请参见 升级指南、版本选择、注意事项等,请参见 1. 原始 Spring Boot 应用架构 在示例中,我们有如下基于 Spring Boot 开发的应用架构: 我们这里列出来的只是一种示例架构。基于 Spring Boot 构建的应用架构变化多样,比如可能如下一些常用的架构,但不论哪种架构,升级 Spring ...
August 31, 2023
基于 Higress 网关实现 Spring Cloud 服务发现与路由 使用 Nacos 做注册中心 应用配置具体参考 进行应用配置 不指定命名空间 如果 `application.properties` 中没有指定 Nacos 命名空间,例如: ```properties server.port=8080 spring.application.name=myservice spring.cloud.nacos.discovery.serveraddr=127.0.0.1:8848 ``` 则 Higress 的 McpBridge 中亦无需指定命名空间: ```y...