SpringBoot框架內(nèi)使用Java調(diào)用訊飛星火api完整步驟
首先到訊飛星火的官網(wǎng)注冊賬號并創(chuàng)建應(yīng)用。每個應(yīng)用的token是獨立的。
訊飛星火大模型-AI大語言模型-星火大模型-科大訊飛:
https://xinghuo.xfyun.cn/sparkapi
注冊并創(chuàng)建完后,可以選擇要使用的模型。不同模型的付費制度不同,這里使用的是 Spark Lite ,也就是無限token的版本。成功之后的頁面如下。
右半側(cè)的 appid ,apiScret ,apiKey 都復(fù)制保存下來,下一步需要使用。
打開項目的pom文件,增加以下依賴。
<!--訊飛開放平臺sdk--> <dependency> <groupId>io.github.briqt</groupId> <artifactId>xunfei-spark4j</artifactId> <version>1.2.0</version> </dependency>
打開項目的 application.yaml,添加如下配置。這里的三項是之前復(fù)制保存的三項數(shù)據(jù)。
在config包下新建 SparkConfig.java 。
package com.vizziniAutoEmail.config; import io.github.briqt.spark4j.SparkClient; import lombok.Data; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @Configuration @ConfigurationProperties(prefix = "xunfei.client") @Data public class SparkConfig { private String appid; private String apiSecret; private String apiKey; @Bean public SparkClient sparkClient() { SparkClient sparkClient = new SparkClient(); sparkClient.appid = this.appid; sparkClient.apiSecret = this.apiSecret; sparkClient.apiKey = this.apiKey; return sparkClient; } }
在manager包下新建 SparkManager.java 類。
package com.vizziniAutoEmail.manager; import io.github.briqt.spark4j.SparkClient; import io.github.briqt.spark4j.constant.SparkApiVersion; import io.github.briqt.spark4j.model.SparkMessage; import io.github.briqt.spark4j.model.SparkSyncChatResponse; import io.github.briqt.spark4j.model.request.SparkRequest; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Component; import javax.annotation.Resource; import java.util.ArrayList; import java.util.List; @Component @Slf4j public class SparkManager { @Resource private SparkClient sparkClient; /** * AI生成問題的預(yù)設(shè)條件 */ public static final String PRECONDITION = "在這里填寫對Spark的預(yù)設(shè):\n" + "這里可以添加角色預(yù)設(shè),譬如說“你是一名攝影師”\m" + "給我一些攝影方面的指導(dǎo)\n" + "這里可以添加對ai回答格式或方向的指定"; /** * 向 Spark AI 發(fā)送請求 * * @param content * @return */ public String sendHttpTOSpark(final String content) { // 消息列表,可以在此列表添加歷史對話記錄 List<SparkMessage> messages = new ArrayList<>(); messages.add(SparkMessage.systemContent(PRECONDITION)); messages.add(SparkMessage.userContent(content)); // 構(gòu)造請求 SparkRequest sparkRequest = SparkRequest.builder() // 消息列表 .messages(messages) // 指定請求版本,lite版本是v1.5 .apiVersion(SparkApiVersion.V1_5) .build(); // 同步調(diào)用 SparkSyncChatResponse chatResponse = sparkClient.chatSync(sparkRequest); String responseContent = chatResponse.getContent(); log.info("Spark AI 返回的結(jié)果{}", responseContent); return responseContent; } }
接下來在test下的manager包下創(chuàng)建 SparkManagerTest.java
package com.vizziniAutoEmail.manager; import org.junit.jupiter.api.Test; import org.springframework.boot.test.context.SpringBootTest; import javax.annotation.Resource; @SpringBootTest public class SparkManagerTest { @Resource private SparkManager sparkManager; private final String userInput = "你問的話"; @Test public void testApi() { String result = sparkManager.sendHttpTOSpark(userInput); System.out.println(result); } }
最后啟動 SparkManagerTest ,就可以在控制臺得到 Spark AI 返回的結(jié)果。
到此這篇關(guān)于SpringBoot框架內(nèi)使用Java調(diào)用訊飛星火api的文章就介紹到這了,更多相關(guān)SpringBoot Java調(diào)用訊飛星火api內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java VisualVM監(jiān)控遠程JVM(詳解)
下面小編就為大家?guī)硪黄狫ava VisualVM監(jiān)控遠程JVM(詳解)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-10-10springboot多環(huán)境(dev、test、prod)配置詳解
這篇文章主要介紹了springboot多環(huán)境(dev、test、prod)配置詳解,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-04-04