上传备份

master
王兵 5 months ago
parent 5162c1722c
commit f73e83a0e0

@ -26,19 +26,20 @@ import java.util.function.Consumer;
public class Base_Tool_Example {
public static void main(String[] args) {
// 初始化消息列表
List<ChatMessage> chatMessages = new ArrayList<>();
chatMessages.add(UserMessage.from("请问,泰州市的天气怎么样?"));
// 定义工具
Object weatherTools = new Object() {
@Tool("返回某一城市的天气情况")
public String getWeather(@P("应返回天气预报的城市") String city) {
System.out.println(city);
return "天气阴转多云1~6℃";
}
};
List<ToolSpecification> toolSpecifications = ToolSpecifications.toolSpecificationsFrom(weatherTools);
// 构建请求
ChatRequest chatRequest = ChatRequest.builder()
.messages(chatMessages)
.parameters(ChatRequestParameters.builder()
@ -46,10 +47,11 @@ public class Base_Tool_Example {
.build())
.build();
// 调用LLM
ChatResponse chatResponse = Helper.getToolChatModel().chat(chatRequest);
AiMessage aiMessage = chatResponse.aiMessage();
chatMessages.add(aiMessage);
// 判断是否需要调用工具
if (aiMessage.hasToolExecutionRequests()) {
System.out.println("LLM决定调用工具");
System.out.println(chatResponse.aiMessage());
@ -65,12 +67,15 @@ public class Base_Tool_Example {
});
}
// 再次调用LLM
ChatRequest chatRequest2 = ChatRequest.builder()
.messages(chatMessages)
.parameters(ChatRequestParameters.builder()
.toolSpecifications(toolSpecifications)
.build())
.build();
// 返回最终回答
ChatResponse finalChatResponse = Helper.getToolChatModel().chat(chatRequest2);
System.out.println(finalChatResponse.aiMessage().text());
}

Loading…
Cancel
Save

Powered by TurnKey Linux.