成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

逆天強大!Spring AI 身份證識別,圖片分析真牛啊

人工智能
Spring AI 的 Message API(消息接口) 為多模態大型語言模型(LLMs)提供了所有必要的抽象層支持,開發者可通過該接口實現跨模態數據的無縫整合與交互,無需底層適配即可構建支持文本、圖像、音頻等多輸入源的AI應用。

環境:SpringBoot3.4.2

1. 簡介

人類處理知識時,會同時通過多種數據輸入模式進行。我們的學習方式、經驗積累本質上都是多模態的。我們并非僅依賴視覺、僅依賴聽覺或僅依賴文本,而是綜合運用多種感官。

與之相反,傳統機器學習往往專注于針對單一模態數據進行處理的專用模型。例如,我們開發了用于文本轉語音或語音轉文本任務的音頻模型,以及用于目標檢測和分類等任務的計算機視覺模型。

然而,新一輪的多模態大型語言模型浪潮正悄然興起。例如,OpenAI 的 GPT-4o、谷歌的 Vertex AI Gemini 1.5、Anthropic 的 Claude3,以及開源模型 Llama3.2、LLaVA 和 BakLLaVA 等,均能夠接受多種輸入(包括文本、圖像、音頻和視頻),并通過整合這些輸入生成文本響應。

Spring AI 多模態能力

多模態(Multimodality)指模型能夠同時理解并處理來自多種來源的信息,涵蓋文本、圖像、音頻及其他數據格式。

Spring AI 的 Message API(消息接口) 為多模態大型語言模型(LLMs)提供了所有必要的抽象層支持,開發者可通過該接口實現跨模態數據的無縫整合與交互,無需底層適配即可構建支持文本、圖像、音頻等多輸入源的AI應用。

Spring AI Message APISpring AI Message API

說明:

UserMessage 的 content 字段 用于承載主要文本輸入,而可選的 media 字段 則支持添加一種或多種跨模態附加內容(如圖像、音頻、視頻等)。字段通過 MimeType 明確標識模態類型,以定義數據格式(如 image/jpeg、audio/mp3)。

接下來,我們將通過實例演示有關圖片識別的實例。

2.實戰案例

準備環境

<dependency>
  <groupId>org.springframework.ai</groupId>
  <artifactId>spring-ai-starter-model-openai</artifactId>
</dependency>

配置文件

spring:
  ai:
    openai:
      api-key: sk-xxxooo
      base-url: https://api.xty.app
      chat:
        options:
          model: gpt-4

2.1 圖片分析

首先,我們準備如下的這張圖片,我們對該圖片進行分析,看看大模型能分析出什么內容來:

示例代碼:

private final ChatClient chatClient ;
@GetMapping("/image")
public String image() {
  return this.chatClient
      .prompt()
      .user(u -> u.text("你看到了什么?")
          .media(MimeTypeUtils.IMAGE_PNG, new ClassPathResource("static/multimodal.test.png")))
      .call()
      .content() ;
}

輸出結果

圖片圖片

正確的分析出圖片中的內容。

2.2 身份證識別

下面我們在準備一張身份證,看看是否能正確的讀取出身份證中的內容信息。

圖片圖片

示例代碼:

@GetMapping("/sfz")
public String sfz() {
  String text = """
        輸出該身份證中的姓名(name), 性別(sex), 民族(nation), 出生(birth), 住址(address), 身份證號碼(idNo)。
        最終以json格式輸出。
      """;
  return this.chatClient
      .prompt()
      .user(u -> {
        u.text(text)
            .media(MimeTypeUtils.IMAGE_PNG, new ClassPathResource("static/sfz.jpg"));
      })
      .call()
      .content() ;
}

輸出結果

圖片圖片

正確識別出身份證中的所有信息。

2.3 結構化輸出

以下示例將演示通過上傳汽車圖片方式分析圖片,并由系統以結構化 JSON 格式返回分析結果(例如各顏色,總數)。

定義數據模型

public record CarCount(List<CarColorCount> counts, int total) {
}
public record CarColorCount(String color, int count) {
}

接著,定義如下Service 發送圖片到OpenAI進行分析

@Service
public class CarCountService {
  private final ChatClient chatClient;
  public CarCountService(ChatClient.Builder chatClientBuilder) {
    this.chatClient = chatClientBuilder.build();
  }
  public CarCount getCarCount(InputStream imageInputStream, String contentType, String colors) {
    String text = """
          1.統計圖像中不同顏色車輛的數量
          2.用戶通過提示詞(prompt)提供圖像,并指定需統計的顏色
          3.僅統計用戶提示詞中明確指定的顏色(忽略其他顏色)
          4.過濾用戶提示詞中的非顏色信息(如無關文本或無效描述)
          5.若用戶提示詞中未指定任何顏色,直接返回總數為 0
        """ ;
    return chatClient.prompt()
        .system(systemMessage -> systemMessage
            .text(text))
        .user(userMessage -> userMessage
            .text(colors)
            .media(MimeTypeUtils.parseMimeType(contentType), new InputStreamResource(imageInputStream)))
        .call()
        .entity(CarCount.class);
  }
}

REST接口

@PostMapping("/count")
public ResponseEntity<?> getCarCounts(@RequestParam("colors") String colors,
    @RequestParam("file") MultipartFile file) {
  try (InputStream inputStream = file.getInputStream()) {
    var carCount = carCountService.getCarCount(inputStream, file.getContentType(), colors);
    return ResponseEntity.ok(carCount) ;
  } catch (IOException e) {
    return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body("圖片上傳失敗");
  }
}

接下來,我們準備如下的圖片

圖片圖片

輸出結果

圖片圖片

責任編輯:武曉燕 來源: Springboot全家桶實戰案例源碼
相關推薦

2020-02-05 15:29:56

計算機網絡設備

2018-01-04 11:28:23

2025-04-08 02:22:22

SpringJackson注解

2009-06-12 11:34:01

2014-11-12 17:45:14

網絡身份識別

2013-09-11 19:10:59

2023-05-24 07:16:29

2025-02-10 00:01:00

SpringOpenCV身份證

2017-05-02 15:10:56

病歷智慧城市數據

2020-11-10 10:16:38

Java身份證號碼編程語言

2021-11-04 14:06:15

大數據疫情技術

2011-04-29 09:40:59

復印二代身份證多功能一體機

2011-04-25 10:00:08

聯想7205身份證復印

2017-12-27 11:55:24

2021-04-11 07:23:14

微信連續轉賬移動應用

2017-12-26 10:43:00

微信身份證網證微警云聯盟

2010-09-09 10:10:29

SQL函數轉換

2022-01-24 07:16:01

12306電子乘車證明身份證

2017-12-27 12:41:04

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产1区2区3区 | 国产在线观看网站 | 黄色国产视频 | 在线观看国产wwwa级羞羞视频 | a国产一区二区免费入口 | 99久久婷婷国产综合精品电影 | 成人一区二区三区 | 9久9久9久女女女九九九一九 | 久久久久国产一区二区三区四区 | 国产一区免费视频 | 日韩中文字幕2019 | 一级黄色毛片免费 | 青青草一区二区三区 | 欧美精品a∨在线观看不卡 欧美日韩中文字幕在线播放 | 欧美日韩美女 | 国产免费观看一级国产 | www.久久久久久久久 | av网站在线播放 | 日韩一区二区三区在线视频 | 自拍偷拍第一页 | 国产精品久久国产精品99 | 日韩欧美精品在线 | 波多野结衣一区二区三区 | av天天干 | 91国自视频 | 国产成人免费视频网站视频社区 | 国产日产精品一区二区三区四区 | 一二三四在线视频观看社区 | 亚洲精品免费在线观看 | 欧美一级黄视频 | 亚洲欧美自拍偷拍视频 | 亚洲视频一区在线观看 | 日日干天天操 | 亚洲欧美一区二区三区情侣bbw | 欧美在线天堂 | 精品动漫一区 | 我我色综合 | 成人在线电影网站 | 妹子干综合| 久久精品国产99国产 | 日韩中文字幕免费 |