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("iVBORw0KGgoAAAANSUhEUgAAAGwAAAAbCAYAAACZQWq0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAdNSURBVGhD7ZlhaBvnGcd/nUCBwO2LTMIu+IM2iMrGNA8kAtYWJjmgs8OsGixTbCcQNR/sesTZICasbj7UMbQ2rHZgiaHBZYlcFjvgWGa2zJy70liGIsMyFUJk2qpM7MaMBSMHBouJ7MOdpJMsG6Wx1xj0gwP5ed679+79v8/zvO/r154/f/6cGoeG75Ubarza1AQ7ZJgEUwl3unC5XHTdUc1tdicdpsvlwuUaJFbuq3Eg1CLskFET7JBRE+yQcaCCaetzjPUF8TbqtdHV6CXYN4aczpa0U+906f6rMqWeIvH3vbhcLlonkqWO/ySYvhbC7zX6OOXFf2GQ6cdaabs9yMz26vd2htmteuff0ft+vMSeTccIV91/jEGXC5eri3C63EcV/gMTTCM+GsTbOUT48xTaERuiKCKgkfo8zEDbrwh9kiq0FqUATgAlysqW+TkGuTjKkgY46DjrKJi1tRGC/hAjCwkyWwI2UUQUtsl8EWXkopfgaJxKw1aOzR/AB7C+iFxxoFTkaBIQaJbcBWtqtp9ft/UztpAgsy0giiK2o1qhf/9wrKr+X4QDEUxbGqL3XgosNqRrEVaVJSKRCMrqKjNXPdjIkvhDD0OrRjwda0JqAHIy0bzNzN8UFjWgIUBzvWHbmGOgb5pUDhwXJlFWFZYiESLLqyi3L+OxQepeL0NLVQzZUR/SGYAki0qFGFt/wPQ6UB8k0GDYntykfzhGBivOi5MojxQikQhLyhrKjQ7sFsjM9tPzSYXnvQQHIFiSuxMyAI6+j7neKmIt+KzY28e5cUEEMsxNPiADgI03gj4A5OWVHWkxFplGA5xSEzbDlvjTGPEcCP4RJvqcCJZie6Ghm9F3JARAnrhLWRKtgBVfiwRAcvbBjvZJOYoKiP4m9PjOIt+ZRAWEllEmesr6bxxg8j39e5IfhYnnir6XZf8F+yaGkgbwca5dLPcC4HjzLdwAjxVWdMWw/lLCZwGWo8jmtJiLsbgE4CbgzcuVZOWRpqeooA/B1DyP9XSz/rx0jHg1k9wToEMA0lEerpsdSR4uqaXpOLeCvAwgEnzTY5qQRQR/t/48bRHli3Lvt2f/BfvH16QATjpxHi13Gtjs2AWApyTzNePoL5C8ADLyo2KMZZU5ojnAG6A5r9dWim9UAI3F37fS2lrpeg89zpM8/bLwuN2xuPH6BUAlKpti7MlDoumydKyq+jfi5Gc/LjYt5QQOB4BGKmXMyn1g/wWrijrEHwBoPHuWt1nxtXfoaWw5v1rMsrKsD7vP7yvO5Mwm/zR+ahsqqlrpyqC9YCpyS80IgLr0sJAWE3+ZQQXcZ4vpuDps1B3Tfz3Ttsud35rvSLBN1H8BiIh1JvPPvTQLgCLraXFrhagCWCQCXlPiOSrwfQAcXI6ssba293X9dPHWPWkIEKw3p8UE0QUN8BHwv5hckGFzQ/914rj5I1+O/RfM/rpemNcTJCot0QE2nvJUAzjBieMmu8WN1CIU0mJ2NYqcA6EtgMdU1Isptcp0VzUOmvyinhb/moTHUX11ekbCZ07voh27BSDB35+Y7GZyX5NMAgjUHa9U5SqQ2TQWYbuz/4LVu/HUA8jcvV+52idnwiQATnpwl01cZyCICMjLD1hclvWFxZni3sdoZdQbiM5HK+910mG6XI14W3uZrri3qozjbAcOQI3FicZW0ACpxZSO0SeWzwugMvPn2I5VLYC2PMO0Blg8eH6at4r88EfoE624DS2grcUo3ZbvZP8Fw8G5HmNJ+8cLDEZU0wdlSd3v59LHKmAj8JsOdqwjTzYh1QOfjfGBAgjNSK7yRuDueguHBVAGCQ3LqKZRy2ZijPx2jCRZNFGiKb9YqIb6Zn2vtX6XDyMqCB0EPOWNrPjOhxABbeEKPROJknqprY4QumZsbfrfNmUHu7EQgejtmyRMM017fJMe4569eK34H2eVcGcrY+vguBRh6vyOodxJOkxX2xhJJMbXrlP8Lo34aEjfPAMINkThCNqmipYFsOL83RSTnfbCHWbUO1203tDLvnhxikhP8XTDjPbZEO1X5sjkAIuA7bjAkf9qqBvGSBwLMH7vXTyV1v17kJntxT+sz3Wh/RbK1fII10nN9tMzHNPTmFVArBPY1lQyRve2tnHuv+Mp3Xakw3S1j5E0vTPGPbbGDtz/nib6lYPLs1N0V5hoBxBhAALuKzMotwcInLIjbGdQVRUNAac3xMjsp7uKhfmoChHJV1ksAOH0u8wv3GKgxakfCakq6oaGcMyJdHUSZf7FxcJ8VFV2FFWOvW2c+dkRQl4ntiMaqqqS2RKwnwowcFthqVwsgPpupuZvEfLaESz6O2sW/X3vf9jN6+ZaXQFThNUosBVl4PQgcn2Iqdm3jdONV4MDirDDTWZhGhlwtL3xSolFTbAi2ayxVU/P8cFHCbD4ONdWRR3/P1NLiQaxay76F4p/Oy7NMHV+9zr7XVGLMAP7T5z6Xssq4r54i4lXUCxqEXb4qEXYIeN/HdLjMCQPc6YAAAAASUVORK5CYII=", MimeType.MIME_PNG.getValue()) ); String chat = assistant.chat(userMessage); System.out.println(chat); } /** * 助手 */ interface Assistant { String chat(UserMessage userMessage); } }