大家好,我是爱折腾、爱分享的 31岁小米 。前段时间,我在项目里搞了一个特别有意思的东西 ------ SpringAI 集成 OCI GenAI 的 Cohere 聊天模型。刚开始接触时,我是一脸懵的,心想:"这玩意儿和 OpenAI、Ollama 有啥不一样?OCI GenAI 又是个啥?"结果一研究下去,才发现这里面真是暗藏玄机,不仅能打通 OCI(Oracle Cloud Infrastructure)的 AI 能力,还能和 SpringAI 的生态结合得非常丝滑。
今天这篇文章,我就用一个故事的形式,带大家走一遍完整的集成过程,从前提条件、自动配置、聊天属性到运行时选项、手动配置,统统安排上。希望你读完后,不仅能快速上手,还能对背后的原理有个清晰的认识。
故事的开头:OCI GenAI 是啥?
那天,公司内部讨论要不要尝试下 OCI GenAI(Oracle Cloud Infrastructure Generative AI) 。简单来说,它是 Oracle 提供的云端大模型服务,支持各种生成式 AI 场景。就像 AWS 有 Bedrock,Azure 有 OpenAI,OCI 也有自己的 GenAI 服务。
而在 GenAI 里,Cohere 模型是一个常见选择,尤其适合聊天、文本生成、总结等任务。SpringAI 官方已经提供了相应的支持,让我们在 Spring Boot 里就能无缝调用 Cohere。
我的第一感觉就是:这简直是为 Java 开发者量身定做的 AI 接口!
前提条件
故事里,主角出发前得先带上行囊。用 OCI GenAI Cohere 之前,你至少需要准备好:
- 一个 Oracle Cloud 账号(没有的话得先去注册)。
- 确保 GenAI 服务开通,并且在控制台能看到 Cohere 模型。
- 获取 API Key 或者 OCI 的认证凭证,用来鉴权。
- 本地要有 Spring Boot + SpringAI 环境,推荐用 Spring Boot 3.2+。
没这些条件,你就像是要远行却没带身份证,门都进不去。
添加仓库和 BOM
接下来,就是加装备环节了。我们得让项目能访问到 SpringAI 的 OCI GenAI 依赖。
在 pom.xml 里,添加 OCI GenAI 的 Maven 仓库和 BOM:
这一步就像给游戏角色装上了 Cohere 模块的插件,后面才能调用。
自动配置
Spring Boot 的魅力之一就是 自动配置。加了依赖后,你几乎不用自己写复杂的 Bean,只需要在配置文件里加点参数,就能直接使用 Cohere。
SpringAI 已经帮我们做好了 OCICohereChatModel 的默认实现,只要配好 API Key 等参数,就能愉快聊天。
聊天属性
SpringAI 的 Cohere 聊天模型有一堆可以调的属性,主要分为 连接属性 和 配置属性。
1. 连接属性
这些就是我们和 Cohere 搭桥的钥匙。
2. 配置属性
调整这些参数,就像在调教一只宠物,能让模型更"听话"或者更"天马行空"。
运行时选项
有时候我们不满足于配置文件,希望在代码里临时改一些参数,比如临时把 temperature 拉高,让 AI 多点创意。这时就用到 OCICohereChatOptions。
这就相当于在运行时给模型发一张小纸条:"哥们,今天放飞一点,别太拘谨。"
示例控制器
光说不练假把式,我当时写了一个简单的 Controller 来验证:
然后启动项目,访问 http://localhost:8080/chat?message=你好,Cohere 模型就会乖乖回复你。第一次跑通的时候,我激动得差点把咖啡打翻。
手动配置
当然,如果你想要更精细的控制,比如不用自动配置,那就得手动声明 OCICohereChatModel:
这种方式更自由,但需要你亲自操心 Bean 的创建和配置。适合喜欢 DIY 的开发者。
结尾
折腾完这套 SpringAI + OCI GenAI Cohere,我的感受是:
- SpringAI 真是给 Java 开发者准备的 AI 福利,让接入模型的门槛降到极低。
- OCI GenAI 的 Cohere 在中文场景下也有不错表现,能做聊天、总结、改写任务。
- 不管是自动配置还是手动配置,都能覆盖大部分使用场景。
就像打通了一条 AI 的高速公路,从此以后,我们写 Java 项目时,不再需要到处找第三方 SDK,只要直接走 SpringAI 就行。
未来我打算把这个方案用到生产里,结合我们自己的业务逻辑,让 Cohere 成为"团队的 AI 小伙伴"。
END
好了,今天的故事分享到这里。希望这篇文章能帮你快速上手 OCI GenAI Cohere 聊天模型 。如果你觉得有收获,记得点个 在看 支持一下,让小米更有动力继续折腾和分享呀~
我是小米,一个喜欢分享技术的31岁程序员。如果你喜欢我的文章,欢迎关注我的微信公众号"软件求生",获取更多技术干货!