Open AI:springboot 调用open ai 接口

Spring Boot可以通过HTTP客户端调用Open AI的API接口,具体步骤如下:

目录

[1.在Open AI官方网站上注册账号并获取API密钥](#1.在Open AI官方网站上注册账号并获取API密钥)

[2.创建一个Spring Boot项目,并添加相关的依赖,例如](#2.创建一个Spring Boot项目,并添加相关的依赖,例如)

[3.创建一个Java类作为Open AI的HTTP客户端,例如](#3.创建一个Java类作为Open AI的HTTP客户端,例如)

[4.在Spring Boot的配置文件中添加Open AI的API密钥](#4.在Spring Boot的配置文件中添加Open AI的API密钥)

[5.在Spring Boot的控制器中调用Open AI的API接口,例如](#5.在Spring Boot的控制器中调用Open AI的API接口,例如)


1.在Open AI官方网站上注册账号并获取API密钥

2.创建一个Spring Boot项目,并添加相关的依赖,例如

bash 复制代码
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>

<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-validation</artifactId>
</dependency>

<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-test</artifactId>
   <scope>test</scope>
</dependency>

<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>

<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-security</artifactId>
</dependency>

<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>

<dependency>
   <groupId>org.springframework.data</groupId>
   <artifactId>spring-data-rest-webmvc</artifactId>
</dependency>

3.创建一个Java类作为Open AI的HTTP客户端,例如

java 复制代码
package com.example.demo.service;

import java.net.URI;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.http.HttpHeaders;
import org.springframework.http.MediaType;
import org.springframework.http.RequestEntity;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Service;
import org.springframework.web.client.RestTemplate;

@Service
public class OpenAiApiService {
    
    @Value("${openai.api.key}")
    private String apiKey;
    
    private RestTemplate restTemplate;
    
    public OpenAiApiService() {
        restTemplate = new RestTemplate();
    }
    
    public String generateText(String prompt) {
        String apiUrl = "https://api.openai.com/v1/engines/davinci-codex/completions";
        
        HttpHeaders headers = new HttpHeaders();
        headers.setContentType(MediaType.APPLICATION_JSON);
        headers.setBearerAuth(apiKey);
        
        String requestBody = "{\"prompt\": \"" + prompt + "\", \"max_tokens\": 60}";
        
        RequestEntity<String> requestEntity = RequestEntity
            .post(URI.create(apiUrl))
            .headers(headers)
            .body(requestBody);
        
        ResponseEntity<String> responseEntity = restTemplate.exchange(requestEntity, String.class);
        return responseEntity.getBody();
    }
}

4.在Spring Boot的配置文件中添加Open AI的API密钥

yaml 复制代码
openai:
  api:
    key: YOUR_API_KEY_HERE

5.在Spring Boot的控制器中调用Open AI的API接口,例如

java 复制代码
package com.example.demo.controller;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;

import com.example
相关推荐
NineData2 分钟前
NineData 最新发布 SQL Server 双向实时同步功能
数据库·后端·架构
IT果果日记4 分钟前
没有Kafka怎么办?Flink SQL 创建 mysql-cdc 作业
大数据·后端·flink
Goboy11 分钟前
入坑了,都是2e31惹得锅
后端
猫头虎15 分钟前
什么是AI+?什么是人工智能+?
人工智能·ai·prompt·aigc·数据集·ai编程·mcp
Java水解15 分钟前
深入剖析Spring IOC容器——原理、源码与实践全解析
后端·spring
绝无仅有16 分钟前
Go 语言常用命令使用与总结
后端·面试·github
聚客AI16 分钟前
💡为什么你的RAG回答总是胡言乱语?致命瓶颈在数据预处理层
人工智能·langchain·llm
Code_Artist21 分钟前
[Java并发编程]6.并发集合类:ConcurrentHashMap、CopyOnWriteArrayList
java·后端·源码阅读
码事漫谈24 分钟前
深入解析:为什么应该避免使用 atoi、atol 和 atof 函数
后端
彭军辉27 分钟前
什么是AI宠物
人工智能