一、先申請key
1.1 登錄阿里云官網并搜索模型服務靈積,開通key
1.2 點擊上圖中的控制臺并進入
1.3 創(chuàng)建key
二、導入依賴坐標
2.1 導入以下倆個坐標
<!--阿里巴巴大模型-->
<!-- https://mvnrepository.com/artifact/com.alibaba/dashscope-sdk-java -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>dashscope-sdk-java</artifactId>
<exclusions>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
</exclusion>
</exclusions>
<version>2.8.3</version>
</dependency>
<dependency>
<groupId>com.squareup.okhttp3</groupId>
<artifactId>okhttp</artifactId>
<version>4.10.0</version>
</dependency>
2.2 編寫Controller層?
這里controller層并未將前端的請求數(shù)據(jù)傳入給api中的參數(shù),有需求的可以自己加一下,這里就使用瀏覽器測試一下看是否返回數(shù)據(jù)即可
?
import com.alibaba.dashscope.aigc.generation.GenerationResult;
import com.alibaba.dashscope.exception.InputRequiredException;
import com.alibaba.dashscope.exception.NoApiKeyException;
import com.ruoyi.aliyunchat.service.ChatService;
import com.ruoyi.common.annotation.Anonymous;
import com.ruoyi.pojo.Result;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@Slf4j
@RestController
@Anonymous
public class ChatController {
@Autowired
private ChatService chatService;
@RequestMapping("/chat")
public Result chatAi() throws NoApiKeyException, InputRequiredException {
GenerationResult generationResult = chatService.chatAi();
return Result.success(generationResult);
}
}
?
?2.3 Servic層及實現(xiàn)類
接口
import com.alibaba.dashscope.aigc.generation.GenerationResult;
import com.alibaba.dashscope.exception.InputRequiredException;
import com.alibaba.dashscope.exception.NoApiKeyException;
public interface ChatService {
GenerationResult chatAi() throws NoApiKeyException, InputRequiredException;
}
實現(xiàn)類
import com.alibaba.dashscope.aigc.generation.GenerationResult;
import com.alibaba.dashscope.exception.InputRequiredException;
import com.alibaba.dashscope.exception.NoApiKeyException;
import com.ruoyi.aliyunchat.aliqianwen.QianWenChat;
import com.ruoyi.aliyunchat.service.ChatService;
import org.springframework.stereotype.Service;
@Service
public class ChatServiceImpl implements ChatService {
@Override
public GenerationResult chatAi() throws NoApiKeyException, InputRequiredException {
return QianWenChat.callWithMessage();
}
}
接著就是官網上的Demo了,我們這里封裝一下
import com.alibaba.dashscope.aigc.generation.Generation;
import com.alibaba.dashscope.aigc.generation.GenerationResult;
import com.alibaba.dashscope.aigc.generation.models.QwenParam;
import com.alibaba.dashscope.common.Message;
import com.alibaba.dashscope.common.MessageManager;
import com.alibaba.dashscope.common.Role;
import com.alibaba.dashscope.exception.ApiException;
import com.alibaba.dashscope.exception.InputRequiredException;
import com.alibaba.dashscope.exception.NoApiKeyException;
import com.alibaba.dashscope.utils.Constants;
import lombok.extern.slf4j.Slf4j;
@Slf4j
public class QianWenChat {
public static GenerationResult callWithMessage() throws NoApiKeyException, ApiException, InputRequiredException
{
Constants.apiKey="你的key";
Generation gen = new Generation();
MessageManager msgManager = new MessageManager(10);
Message systemMsg =
Message.builder().role(Role.SYSTEM.getValue()).content("You are a helpful assistant.").build();
Message userMsg = Message.builder().role(Role.USER.getValue()).content("請問杭州阿里巴巴工作環(huán)境咋樣?").build();
msgManager.add(systemMsg);
msgManager.add(userMsg);
QwenParam param =
QwenParam.builder().model(Generation.Models.QWEN_TURBO).messages(msgManager.get())
.resultFormat(QwenParam.ResultFormat.MESSAGE)
.topP(0.8)
.enableSearch(true)
.build();
GenerationResult result = gen.call(param);
log.info("千問api回答的話語為:{}",result);
System.out.println(result);
return result;
}
}
三、測試
3.1 在瀏覽器中輸入后端本地,并請求接口,響應如下
?文章來源地址http://www.zghlxwxcb.cn/news/detail-845584.html
?文章來源:http://www.zghlxwxcb.cn/news/detail-845584.html
?
?
?
?
?
?
?
?
?
到了這里,關于阿里通義千問API(Java)使用教程,基于Springboot后端的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!