October 10, 2024
作者:伯箫,计划定制一个代码助手,结合通义千问和RAG技术,根据数据库Schema信息生成符合个人代码风格的数据访问层代码,旨在提高生成代码的质量和效率,且该助手在不断迭代中已结合FunctionCalling和RAG,展现出大模型在编程辅助上的巨大潜力。 背景 在过去一年中,我使用了Idealab、通义灵码和Aone Copilot等工具,大幅提升了代码编写效率。这些工具在代码补全、单方法编写和代码审查方面表现出色。然而,我希望能够一次性生成更多的代码,如CRUD操作,而不仅仅是进行小幅补全。 现有的代码生成器虽然能实现一次性生成CRUD代码,但其生成的代码风格与我的项目不一致,...
September 21, 2024
阅读原文地址: 本文作者系阿里云云原生微服务技术负责人,Spring AI Alibaba 发起人彦林,望陶和隆基对可观测和 RocketMQ 部分内容亦有贡献。 摘要:随着生成式 AI 的快速发展,基于 AI 开发框架构建 AI 应用的诉求迅速增长,涌现出了包括 LangChain、LlamaIndex 等开发框架,但大部分框架只提供了 Python 语言的实现。但这些开发框架对于国内习惯了 Spring 开发范式的 Java 开发者而言,并非十分友好和丝滑。因此,我们基于 Spring AI 发布并快速演进 Spring AI Alibaba,通过提供一种方便的 API 抽象...
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示例项...