找回密码
 立即注册
查看: 677|回复: 0

[其它] SpringAI - 使用免费API-Key和API进行配置

[复制链接]

224

主题

0

回帖

773

积分

高级会员

积分
773
发表于 2024-6-14 12:19:44 | 显示全部楼层 |阅读模式
本帖最后由 御坂主机 于 2024-6-14 12:30 编辑

1. 简介

SpringAI是一个强大的人工智能框架,允许开发者使用API轻松集成各种AI功能。在成本控制和测试阶段,使用免费API-Key和API进行配置是一个不错的选择。本文将详细介绍如何在SpringAI中使用免费API-Key和API进行配置,包括注册获取API-Key、配置Spring项目和测试API调用。

1.1 为什么选择SpringAI

(1) 简单易用:提供简洁的API接口,方便集成到现有项目中。
(2) 功能强大:支持多种AI功能,如自然语言处理、图像识别等。
(3) 免费试用:提供免费API-Key,便于开发者进行测试和初步开发。

2. 注册获取API-Key

在使用SpringAI之前,需要注册并获取一个免费的API-Key。以下是获取API-Key的步骤:

2.1 访问API提供商官网

访问API提供商的官网,找到注册页面。常见的API提供商有OpenAI、IBM Watson等。

2.2 创建账号

在注册页面填写必要的信息,创建一个新账号。创建账号后,通常需要验证邮箱以激活账号。

2.3 获取API-Key

登录到账号后,访问API管理页面,生成一个新的API-Key。记录下这个API-Key,稍后将在Spring项目中使用。

3. 配置Spring项目

获取API-Key后,需要在Spring项目中进行配置,以便使用该API-Key进行API调用。

3.1 创建Spring项目

首先,创建一个新的Spring项目。如果已有Spring项目,可以跳过此步骤。

3.2 添加依赖

在Spring项目的`pom.xml`文件中添加所需的依赖。以使用OpenAI的GPT-3 API为例,添加以下依赖:

  1. <dependency>
  2.     <groupId>org.springframework.boot</groupId>
  3.     <artifactId>spring-boot-starter-web</artifactId>
  4. </dependency>
  5. <dependency>
  6.     <groupId>com.squareup.okhttp3</groupId>
  7.     <artifactId>okhttp</artifactId>
  8.     <version>4.9.1</version>
  9. </dependency>
  10. <dependency>
  11.     <groupId>com.fasterxml.jackson.core</groupId>
  12.     <artifactId>jackson-databind</artifactId>
  13.     <version>2.12.1</version>
  14. </dependency>
复制代码


3.3 配置API-Key

在`application.properties`文件中配置API-Key:

  1. springai.api.key=your_api_key_here
复制代码


3.4 创建API服务类

创建一个服务类,用于与API进行交互。以调用GPT-3 API为例:

  1. import okhttp3.*;
  2. import org.springframework.beans.factory.annotation.Value;
  3. import org.springframework.stereotype.Service;
  4. import com.fasterxml.jackson.databind.JsonNode;
  5. import com.fasterxml.jackson.databind.ObjectMapper;

  6. @Service
  7. public class AIService {

  8.     @Value("${springai.api.key}")
  9.     private String apiKey;

  10.     private final OkHttpClient httpClient = new OkHttpClient();

  11.     public String callAI(String prompt) throws Exception {
  12.         MediaType JSON = MediaType.parse("application/json; charset=utf-8");
  13.         ObjectMapper objectMapper = new ObjectMapper();

  14.         String json = "{"prompt":"" + prompt + "", "max_tokens":50}";

  15.         RequestBody body = RequestBody.create(JSON, json);
  16.         Request request = new Request.Builder()
  17.                 .url("https://api.openai.com/v1/engines/davinci-codex/completions")
  18.                 .post(body)
  19.                 .addHeader("Authorization", "Bearer " + apiKey)
  20.                 .build();

  21.         try (Response response = httpClient.newCall(request).execute()) {
  22.             if (!response.isSuccessful()) throw new IOException("Unexpected code " + response);

  23.             JsonNode jsonResponse = objectMapper.readTree(response.body().string());
  24.             return jsonResponse.get("choices").get(0).get("text").asText();
  25.         }
  26.     }
  27. }
复制代码

4. 测试API调用

配置完成后,可以创建一个简单的控制器来测试API调用。

4.1 创建控制器

在项目中创建一个新的控制器类:

  1. import org.springframework.beans.factory.annotation.Autowired;
  2. import org.springframework.web.bind.annotation.GetMapping;
  3. import org.springframework.web.bind.annotation.RequestParam;
  4. import org.springframework.web.bind.annotation.RestController;

  5. @RestController
  6. public class AIController {

  7.     @Autowired
  8.     private AIService aiService;

  9.     @GetMapping("/ask")
  10.     public String askAI(@RequestParam String question) {
  11.         try {
  12.             return aiService.callAI(question);
  13.         } catch (Exception e) {
  14.             return "Error: " + e.getMessage();
  15.         }
  16.     }
  17. }
复制代码

4.2 运行项目

启动Spring项目,打开浏览器访问`http://localhost:8080/ask?question=Hello`,检查是否成功调用API并返回结果。

5. 结论

通过本文的介绍,读者可以掌握如何在SpringAI中使用免费API-Key和API进行配置。步骤包括注册获取API-Key、配置Spring项目和测试API调用。通过这些步骤,开发者可以快速上手SpringAI并开始进行AI应用开发。如果在操作过程中遇到问题,可以参考相关文档和社区资源获取更多帮助。




------------------------------------------------------------------------------------------------------------------------------------------

========  御 坂 主 机  ========

>> VPS主机 服务器 前沿资讯 行业发布 技术杂谈 <<

>> 推广/合作/找我玩  TG号 : @Misaka_Offical <<

-------------------------------------------------------------------------------------------------------------------------------------------

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

联系站长|Archiver|手机版|小黑屋|主机论坛

GMT+8, 2025-4-4 13:50 , Processed in 0.061751 second(s), 24 queries .

Powered by 主机论坛 HostSsss.Com

HostSsss.Com

快速回复 返回顶部 返回列表