-
依赖
<!--讯飞开放平台sdk--> <dependency> <groupId>io.github.briqt</groupId> <artifactId>xunfei-spark4j</artifactId> <version>1.3.0</version> </dependency>
-
yml配置文件
# 讯飞Api配置 xunfei: client: appId: "别只顾着抄,这里要写自己的" apiKey: "别只顾着抄,这里要写自己的" apiSecret: "别只顾着抄,这里要写自己的"
-
SparkConfig 配置类
@Configuration @ConfigurationProperties(prefix = "xunfei.client") @Data public class SparkConfig { private String appid; private String apiKey; private String apiSecret; @Bean public SparkClient sparkClient() { SparkClient sparkClient = new SparkClient(); sparkClient.appid = this.appid; sparkClient.apiKey = this.apiKey; sparkClient.apiSecret = this.apiSecret; return sparkClient; } }
-
SparkManager 实现类
@Component @Slf4j public class SparkManager { @Resource private SparkClient sparkClient; /** * AI生成问题的预设条件 */ public static final String PRECONDITION = "" + "你是一名Java程序员\n" + "给我一些软件开发方面的知识\n"; public String sendHttpToSpark(final String content){ // 消息列表,可以再此列表添加历史对话记录 List<SparkMessage> messages = new ArrayList<>(); messages.add(SparkMessage.systemContent(PRECONDITION)); // 用户输入内容 messages.add(SparkMessage.userContent(content)); // 构造请求 SparkRequest sparkRequest = SparkRequest.builder() // 指定请求版本,lite为V1_5 .apiVersion(SparkApiVersion.V1_5) .messages(messages) // 消息列表 .build(); // 同步调用 SparkSyncChatResponse chatResponse = sparkClient.chatSync(sparkRequest); String responseContent = chatResponse.getContent(); log.info("spark返回内容:{}",responseContent); return responseContent; } }
可以到讯飞星火官网免费领取不限量的免费AI
完成以上步骤后,不出意外的话就能正常通过java代码调用Spark lite 的API进行 AI 对话,但遗憾的是出了意外
- 测试代码
@SpringBootTest
public class SparkManagerTest {
@Resource
private SparkManager sparkManager;
private final String userInput = "如何调用api";
@Test
public void testApi(){
String result = sparkManager.sendHttpToSpark(userInput);
System.out.println(result);
}
}
- 报错截图