> ## Documentation Index
> Fetch the complete documentation index at: https://javaai.pig4cloud.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Chat 视觉理解

### 示例代码：基于Dashscope的LangChain4j视觉理解

这个示例展示了如何通过Dashscope的API，结合LangChain4j进行图像理解。使用的模型是`qwen-vl-max`，其支持视觉-语言的多模态任务。

> 从非规则图片中读取指定日期的指数点数

<img src="https://minio.pigx.top/oss/202410/1728291870.png" alt="1728291870" />

#### 构建大模型客户端

```java theme={"system"}
@Bean
public ChatModel chatModel() {
  return OpenAiChatModel.builder()
          .apiKey(System.getenv("DASHSCOPE_KEY"))
          .modelName("qwen-vl-max")  // 设置使用的模型名称
          .baseUrl("https://dashscope.aliyuncs.com/compatible-mode/v1")
          .build();
}
```

#### 构建 ImageContent

```java theme={"system"}

/**
 * 作者: lengleng
 * 视觉理解示例 - 通过Dashscope进行图像分析
 */
@SpringBootTest
class LLMConfigTest {
    @Autowired
    private ChatModel chatModel;

    @Value("1.png")
    private Resource resource;

    /**
     * 测试多模态图像识别功能
     * 验证ChatModel能否正确分析图片并从中提取上证指数数据
     */
    @Test
    void testImageRecognitionAndDataExtraction() throws IOException {
        byte[] byteArray = resource.getContentAsByteArray();
        String encodeToString = Base64.getEncoder().encodeToString(byteArray);

        UserMessage userMessage = UserMessage.from(TextContent.from("从以下图片中获取 9.30号的上证指数"),
                ImageContent.from(encodeToString, "image/png"));

        ChatResponse response = chatModel.chat(userMessage);
        System.out.println(response.aiMessage().text());
    }
}
```

### 说明：

1. **模型选择**：`qwen-vl-max` 是一个多模态大模型，支持图片和文本的结合输入，适用于视觉-语言任务。
2. **图片上传**：通过`Base64`编码将图片转化为字符串，结合`ImageContent`和`TextContent`一起发送到模型进行处理。
3. **API调用**：使用`OpenAiChatModel`来构建请求，并通过`chat()`方法调用模型。请求内容包括文本提示和图片，模型会根据输入返回分析结果。
4. **解析与输出**：从`ChatResponse`中获取AI的回复，打印出处理后的结果。

### 应用场景：

* **图像文字提取**：如发票信息的提取、表单中的数据信息识别等。
* **图像标注和理解**：结合文本输入，根据特定位置或内容要求对图像进行详细分析。

这种方法可以应用在实际业务中，如OCR（光学字符识别）、图像审核、合规性检查等。

<Card title="PIG AI应用开发平台 | 适合中大型企业构建自主可控的AI中台" icon="link" href="https://ai.pig4cloud.com">
  **为Java开发者提供全栈式AI工程化解决方案**，强类型/高可维护性架构，内置30+主流大模型支持。

  * **🔍 知识引擎体系**：RAG 知识引擎全自动化多模态解决方案
  * **📝 AI-OCR 中枢**：复杂非标场景高精度识别
  * **⚙️ 业务智能融合**：函数编排 + Chat2SQL，无缝对接现有业务系统
  * **🛡️ N维风控体系**：敏感词/IP/Token/User 规则控制引擎
</Card>

<Card title="文档有误？请协助编辑" icon="pencil" href="https://github.com/javaai-pig4cloud-com/javaai-docs/edit/main/docs/06Chat 视觉理解.mdx">
  发现文档问题？点击此处直接在 GitHub 上编辑并提交 PR，帮助我们改进文档！
</Card>

<Card title="文档有误？请协助编辑" icon="pencil" href="https://github.com/javaai-pig4cloud-com/javaai-docs/edit/main/docs/06-chat-visual-understanding.mdx">
  发现文档问题？点击此处直接在 GitHub 上编辑并提交 PR，帮助我们改进文档！
</Card>
