侧边栏壁纸
博主头像
米老鼠吃薯片 博主等级

行动起来,活在当下

  • 累计撰写 7 篇文章
  • 累计创建 6 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录
ai

1.初始对话

Administrator
2026-04-26 / 0 评论 / 0 点赞 / 2 阅读 / 0 字

引入依赖

<dependency>
      <groupId>dev.langchain4j</groupId>
      <artifactId>langchain4j</artifactId>
      <version>1.12.2</version>
</dependency>
<dependency>
      <groupId>dev.langchain4j</groupId>
      <artifactId>langchain4j-open-ai</artifactId>
      <version>1.12.2</version>
</dependency>

普通对话

简单发送消息

OpenAiChatModel chatModel = OpenAiChatModel.builder()
        .apiKey(System.getenv("AI_KEY"))
        .modelName("qwen-plus")
        .baseUrl("https://dashscope.aliyuncs.com/compatible-mode/v1")
        .build();
ChatResponse response = chatModel.chat(SystemMessage.from("你是一个旅行攻略助手"), UserMessage.from("你好"));
System.out.printf(response.aiMessage().text());

使用ChatRequest配置温度、工具等

//2.配置温度、工具、prompt
ChatRequest chatRequest = ChatRequest.builder()
        .messages(SystemMessage.from("你是一个旅行攻略助手"), UserMessage.from("你好"))
        .parameters(ChatRequestParameters.builder().temperature(0.2).build())
        .build();
ChatResponse response = chatModel.chat(chatRequest);
//ChatResponseMetadata 包含 TokenUsage,其中包含有关输入包含多少令牌的统计信息 (您提供给 generate 方法的所有 ChatMessages), 输出(在 AiMessage 中)生成了多少令牌,以及总计(输入 + 输出)。
System.out.println(response.metadata());

多模态(有些llm可能不支持部分类型的消息)

ChatRequest chatRequest = ChatRequest.builder()
        //UserMessage 不仅可以包含文本,还可以包含其他类型的内容。(TextContent、ImageContent、AudioContent、VideoContent、PdfFileContent)
        .messages(SystemMessage.from("你是一个小助手"),UserMessage.from(TextContent.from("你好,帮我看看这个图片是什么"), ImageContent.from("https:/example.com/xxx.jpg")))
        .parameters(ChatRequestParameters.builder().temperature(0.2).build())
        .build();
ChatResponse response = chatModel.chat(chatRequest);
0

评论区