public static ListchatList= new ArrayList<> ();
public static String chatModel="gpt-3.5-turbo"; public static String roleSystem="system"; public static String roleUser="user"; public static String roleAssistant="assistant";
/
* 一轮对话的完成 * 以start为开始标志--true开始,以finish为结束标志--true结束,以chat为用户发送的聊天内容 * @return 返回聊天回答和令牌消耗 */ public static DataResult getBatchChat(boolean start,boolean finish,String chat) if (finish){ return DataResult.data(null); } //获取chatGPT的聊天结果,将结果添加到chat列表中 Map
result=
getOneChat(chat,roleUser);
if (result !=
null
)
return
DataResult.data(result); }
/
* 在一轮对话中,不断记录之前的聊天列表,并按照身份记录其发言,将chat列表传递给模型以实现聊天
*/
public
static Map
getOneChat(String newChat, String role) ChatCompletionRequest chatCompletionRequest=
ChatCompletionRequest.builder() .model(chatModel) .messages(chatList) .build(); ChatCompletionResult result=
service.createChatCompletion(chatCompletionRequest);
//
根据响应的结构(可以在官网查看,也可以自行输出查看),获取返回结果中的第一个结果中的内容 Map
r=
new HashMap<>
(); String content=result.getChoices().get(0
).getMessage().getContent(); r.put("回答"
,content); addToken(r, result);
return
r; }
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/276170.html