如何在模型目录中使用图像转文本模型

本文介绍如何在 AI Foundry 模型目录中使用 图像到文本 模型。

图像到文本模型旨在根据图像看到的内容来分析图像并生成描述性文本。 将它们视为相机和作家的组合。 你提供图像作为模型的输入,模型查看图像并标识其中的不同元素,如对象、人员、场景,甚至文本。 根据分析,模型随后会生成图像的书面说明,并汇总它所看到的内容。

图像转文本模型擅长各种用例,例如辅助功能、内容组织(标记)、创建产品和服务视觉描述,以及通过光学字符识别(OCR)数字化内容。 人们可能会说,图像到文本模型弥合了视觉内容和书面语言之间的差距,使信息更易于访问,更易于在各种上下文中处理。

先决条件

若要在应用程序中使用图像模型,需要:

  • 具有有效付款方式的 Azure 订阅。 免费或试用的 Azure 订阅将不起作用。 如果没有 Azure 订阅,请先创建一个付费的 Azure 帐户

  • 一个 Azure AI Foundry 项目

  • Azure AI Foundry 上的映像模型部署。

    • 本文使用 Mistral OCR 模型部署。
  • 终结点 URL 和密钥。

使用图像到文本模型

  1. 使用 API 密钥进行身份验证。 首先,部署模型以生成终结点 URL 和 API 密钥,以针对服务进行身份验证。 在此示例中,终结点和密钥是保存终结点 URL 和 API 密钥的字符串。 部署模型后,可以在 “部署 + 终结点 ”页上找到 API 终结点 URL 和 API 密钥。

    如果使用 Bash:

    export AZURE_API_KEY = "<your-api-key>"
    

    如果您正在使用 PowerShell:

    $Env:AZURE_API_KEY = "<your-api-key>"
    

    如果使用 Windows 命令提示符:

    export AZURE_API_KEY = "<your-api-key>"
    
  2. 运行基本代码示例。 不同的图像模型接受不同的数据格式。 在此示例中, Mistral OCR 25.03 仅支持 base64 编码数据;不支持文档 URL 或图像 URL。 将以下代码粘贴到 shell 中。

    curl --request POST \
      --url https://<your_serverless_endpoint>/v1/ocr \
      --header 'Authorization: <api_key>' \
      --header 'Content-Type: Application/json' \
      --data '{
      "model": "mistral-ocr-2503",
      "document": {
        "type": "document_url",
        "document_name": "test",
        "document_url": "data:application/pdf;base64,JVBER... <replace with your base64 encoded image data>"
      }
    }'
    

适用于 Mistral OCR 25.03 的更多代码示例

处理 PDF 文件:

# Read the pdf file
input_file_path="assets/2201.04234v3.pdf"
base64_value=$(base64 "$input_file_path")
input_base64_value="data:application/pdf;base64,${base64_value}"
# echo $input_base64_value
 
# Prepare JSON data
payload_body=$(cat <<EOF
{
    "model": "mistral-ocr-2503",
    "document": {
        "type": "document_url",
        "document_url": "$input_base64_value"
    },
    "include_image_base64": true
}
EOF
)

echo "$payload_body" | curl ${AZURE_AI_CHAT_ENDPOINT}/v1/ocr \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer ${AZURE_AI_CHAT_KEY}" \
  -d @- -o ocr_pdf_output.json

若要处理图像文件,请执行以下作:

# Read the image file
input_file_path="assets/receipt.png"
base64_value=$(base64 "$input_file_path")
input_base64_value="data:application/png;base64,${base64_value}"
# echo $input_base64_value
 
# Prepare JSON data
payload_body=$(cat <<EOF
{
    "model": "mistral-ocr-2503",
    "document": {
        "type": "image_url",
        "image_url": "$input_base64_value"
    },
    "include_image_base64": true
}
EOF
)
 
# Process the base64 data with ocr endpoint
echo "$payload_body" | curl ${AZURE_AI_CHAT_ENDPOINT}/v1/ocr \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer ${AZURE_AI_CHAT_KEY}" \
  -d @- -o ocr_png_output.json

特定于模型的参数

某些图像转文本模型仅支持特定数据格式。 例如,Mistral OCR 25.03 需要为其 document_url 参数提供 base64 encoded image data。 下表列出了模型目录中图像模型支持和不支持的数据格式。

型号 已支持 不支持
Mistral 光学字符识别 25.03 base64 编码的图像数据 文档 URL、图像 URL