OCI GenAI Cohere 聊天
OCI GenAI 服务提供与按需模型或专用 AI 集群的生成式 AI 聊天。
OCI 聊天模型页面和 OCI 生成式 AI Playground 提供了关于在 OCI 上使用和托管聊天模型的详细信息。
前提条件
您需要一个活跃的 Oracle Cloud Infrastructure(OCI)账户才能使用 OCI GenAI Cohere 聊天客户端。客户端提供四种不同的连接方式,包括简单的用户和私钥认证、工作负载身份认证、实例主体认证或OCI配置文件认证。
自动配置
|
春季AI自动配置、起始模块的工件名称发生了重大变化。 更多信息请参阅升级说明。 |
Spring AI 为 OCI GenAI Cohere 聊天客户端提供 Spring Boot 自动配置。
要启用它,请在项目的Maven中添加以下依赖pom.xml文件:
<dependency>
<groupId>org.springframework.ai</groupId>
<artifactId>spring-ai-starter-model-oci-genai</artifactId>
</dependency>
或者去你的Gradlebuild.gradle构建文件。
dependencies {
implementation 'org.springframework.ai:spring-ai-starter-model-oci-genai'
}
| 请参考依赖管理部分,将Spring AI的物料清单添加到你的构建文件中。 |
聊天属性
连接性质
前缀spring.ai.oci.genai是配置与OCI GenAI连接的属性前缀。
| 属性 | 描述 | 默认值 |
|---|---|---|
spring.ai.oci.genai.authenticationType |
在向OCI进行认证时应使用的认证类型。可能 |
文件 |
spring.ai.oci.genai.region |
OCI服务区域。 |
美国-芝加哥-1 |
spring.ai.oci.genai.tenantId |
OCI 租户 OCID,用于认证 |
- |
spring.ai.oci.genai.userID |
OCI用户OCID,用于认证时 |
- |
spring.ai.oci.genai.fingerprint(指纹)。Ai.oci.genai.fingerprint(指纹) |
私钥指纹,用于认证 |
- |
spring.ai.oci.genai.privateKey |
私钥内容,用于认证 |
- |
spring.ai.oci.genai.passPhrase |
可选私钥密码短语,用于认证 |
- |
spring.ai.oci.genai.file |
OCI 配置文件的路径。用于认证时使用 |
<用户主目录>/.oci/config |
spring.ai.oci.genai.profile. |
OCI个人资料名称。用于认证时使用 |
默认值 |
spring.ai.oci.genai.endpoint |
可选的OCI GenAI端点。 |
- |
配置属性
|
现在,启用和禁用聊天自动配置通过带有前缀的顶层属性进行配置 |
前缀春.ai.oci.genai.cohere.chat是配置聊天模型OCI GenAI 的实现 Cohere Chat。
| 属性 | 描述 | 默认值 |
|---|---|---|
spring.ai.model.chat |
启用OCI GenAI整合聊天模型。 |
OCI-Genai |
spring.ai.oci.genai.cohere.chat.enabled(已失效) |
启用OCI GenAI整合聊天模型。 |
true |
spring.ai.oci.genai.cohere.chat.options.model |
模型OCID或终端 |
- |
spring.ai.oci.genai.cohere.chat.options.compartment |
模型舱室OCID。 |
- |
spring.ai.oci.genai.cohere.chat.options.servingMode |
所使用的模型服务模式。可能 |
点播 |
spring.ai.oci.genai.cohere.chat.options.preambleOverride |
覆盖聊天模型的提示前言 |
- |
spring.ai.oci.genai.cohere.chat.options.temperature. |
推断温度 |
- |
spring.ai.oci.genai.cohere.chat.options.topP |
顶部P参数 |
- |
spring.ai.oci.genai.cohere.chat.options.topK |
顶K参数 |
- |
spring.ai.oci.genai.cohere.chat.options.frequency 惩罚 |
更高的值会减少重复的标记,输出也会更随机。 |
- |
spring.ai.oci.genai.cohere.chat.options.presence惩罚 |
更高的数值鼓励用未使用的Tokens生成输出。 |
- |
spring.ai.oci.genai.cohere.chat.options.stop. |
将结束完备生成的文本序列列表。 |
- |
spring.ai.oci.genai.cohere.chat.options.documents |
聊天中使用的文档列表。 |
- |
运行时选项
OCICohereChatOptions.java提供模型配置,如所用模型、温度、频率惩罚等。
启动时,默认选项可以配置为OCICohereChatModel(api, options)构造者或spring.ai.oci.genai.cohere.chat.options.*性能。
运行时,你可以通过添加新的、请求专属的选项来覆盖默认选项,提示叫。
例如,针对特定请求覆盖默认型号和温度:
ChatResponse response = chatModel.call(
new Prompt(
"Generate the names of 5 famous pirates.",
OCICohereChatOptions.builder()
.model("my-model-ocid")
.compartment("my-compartment-ocid")
.temperature(0.5)
.build()
));
采样控制器
创建一个新的 Spring Boot 项目并添加Spring-ai-starter-model-oci-genai对你的POM(或Gradle)依赖。
添加一个application.properties文件,在src/主/资源目录,用于启用和配置OCI GenAI Cohere聊天模型:
spring.ai.oci.genai.authenticationType=file
spring.ai.oci.genai.file=/path/to/oci/config/file
spring.ai.oci.genai.cohere.chat.options.compartment=my-compartment-ocid
spring.ai.oci.genai.cohere.chat.options.servingMode=on-demand
spring.ai.oci.genai.cohere.chat.options.model=my-chat-model-ocid
替换文件,车厢和型用你OCI账户的数值。 |
这将产生OCICohereChatModel你可以把这些实现注入到你的类里。
这里有一个简单的例子@Controller使用聊天模式生成文本的课程。
@RestController
public class ChatController {
private final OCICohereChatModel chatModel;
@Autowired
public ChatController(OCICohereChatModel chatModel) {
this.chatModel = chatModel;
}
@GetMapping("/ai/generate")
public Map generate(@RequestParam(value = "message", defaultValue = "Tell me a joke") String message) {
return Map.of("generation", chatModel.call(message));
}
@GetMapping("/ai/generateStream")
public Flux<ChatResponse> generateStream(@RequestParam(value = "message", defaultValue = "Tell me a joke") String message) {
var prompt = new Prompt(new UserMessage(message));
return chatModel.stream(prompt);
}
}
手动配置
OCICohereChatModel 实现了聊天模型并使用 OCI Java SDK 连接 OCI 生成式人工智能服务。
添加春-艾-奥奇-基奈对你项目Maven的依赖pom.xml文件:
<dependency>
<groupId>org.springframework.ai</groupId>
<artifactId>spring-ai-oci-genai</artifactId>
</dependency>
或者去你的Gradlebuild.gradle构建文件。
dependencies {
implementation 'org.springframework.ai:spring-ai-oci-genai'
}
| 请参考依赖管理部分,将Spring AI的物料清单添加到你的构建文件中。 |
接下来,创建一个OCICohereChatModel并用于文本生成:
var CONFIG_FILE = Paths.get(System.getProperty("user.home"), ".oci", "config").toString();
var COMPARTMENT_ID = System.getenv("OCI_COMPARTMENT_ID");
var MODEL_ID = System.getenv("OCI_CHAT_MODEL_ID");
ConfigFileAuthenticationDetailsProvider authProvider = new ConfigFileAuthenticationDetailsProvider(
CONFIG_FILE,
"DEFAULT"
);
var genAi = GenerativeAiInferenceClient.builder()
.region(Region.valueOf("us-chicago-1"))
.build(authProvider);
var chatModel = new OCICohereChatModel(genAi, OCICohereChatOptions.builder()
.model(MODEL_ID)
.compartment(COMPARTMENT_ID)
.servingMode("on-demand")
.build());
ChatResponse response = chatModel.call(
new Prompt("Generate the names of 5 famous pirates."));
这OCohereChatOptions提供聊天请求的配置信息。
这OCICohereChatOptions.构建器是流利期权构建器。