You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

38 lines
3.6 KiB

package xyz.wbsite.ai;
import dev.langchain4j.data.message.ImageContent;
import dev.langchain4j.data.message.TextContent;
import dev.langchain4j.data.message.UserMessage;
import dev.langchain4j.memory.chat.MessageWindowChatMemory;
import dev.langchain4j.model.chat.response.ChatResponse;
import dev.langchain4j.service.AiServices;
/**
* 智能体示例
*/
public class Image_Chait_Example {
public static void main(String[] args) {
Assistant assistant = AiServices.builder(Assistant.class)
.chatLanguageModel(Helper.getGemmaModel())
.chatMemory(MessageWindowChatMemory.withMaxMessages(10))
.build();
UserMessage userMessage = UserMessage.userMessage(
TextContent.from("What do you see?"),
ImageContent.from("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",
MimeType.MIME_PNG.getValue())
);
String chat = assistant.chat(userMessage);
System.out.println(chat);
}
/**
* 助手
*/
interface Assistant {
String chat(UserMessage userMessage);
}
}

Powered by TurnKey Linux.