DEV Community

Cover image for GLM-5.3-Flash Vision: Gửi Hình Ảnh Đến Mô Hình Ngữ Cảnh 1M
Sebastian Petrus
Sebastian Petrus

Posted on Originally published at apidog.com

GLM-5.3-Flash Vision: Gửi Hình Ảnh Đến Mô Hình Ngữ Cảnh 1M

GLM-5.3-Flash: Kết hợp hình ảnh và ngữ cảnh 1M token

Hầu hết mô hình thị giác buộc bạn phải chọn: gửi một hình ảnh hoặc gửi nhiều văn bản. GLM-5.3-Flash không yêu cầu đánh đổi đó: nó nhận hình ảnh dưới dạng khối nội dung trong cùng yêu cầu với văn bản, bên trong cửa sổ ngữ cảnh 1.048.576 token.

Dùng thử Apidog ngay hôm nay

Sự kết hợp giữa đầu vào hình ảnh gốc và ngữ cảnh 1M token mở ra các quy trình làm việc mà từng khả năng riêng lẻ không thể đáp ứng.

Thị giác gốc, không qua bộ điều hợp

Các mô hình thị giác trước đây của Z.ai, như GLM-5V-Turbo và GLM-4.6V, dùng điểm cuối và ID mô hình riêng. GLM-5.3 lớn hơn định tuyến thị giác qua bộ điều hợp thay vì xử lý tự nhiên.

GLM-5.3-Flash là mô hình đầu tiên trong dòng GLM-5 coi hình ảnh là đầu vào hạng nhất: cùng một ID mô hình, dòng thanh toán, giới hạn tỷ lệ và cửa sổ ngữ cảnh cho cả văn bản lẫn hình ảnh.

Nếu bạn vẫn dùng đường dẫn cũ, hãy xem hướng dẫn GLM-5V-Turbohướng dẫn GLM-4.6V.

Tạo tải trọng đa phương thức

Thay vì content là chuỗi, hãy gửi một mảng khối nội dung:

from openai import OpenAI
import os

client = OpenAI(
    [REDACTED CREDENTIAL],
    base_url="https://api.z.ai/api/paas/v4/",
)

response = client.chat.completions.create(
    model="glm-5.3-flash",
    messages=[
        {
            "role": "user",
            "content": [
                {"type": "text", "text": "What is wrong with this layout on mobile?"},
                {
                    "type": "image_url",
                    "image_url": {"url": "https://example.com/mobile-view.png"},
                },
            ],
        }
    ],
)

print(response.choices[0].message.content)
Enter fullscreen mode Exit fullscreen mode

Với ảnh cục bộ hoặc riêng tư, dùng URL dữ liệu base64:

import base64
from pathlib import Path

def image_block(path: str) -> dict:
    data = base64.b64encode(Path(path).read_bytes()).decode("utf-8")
    suffix = Path(path).suffix.lstrip(".").replace("jpg", "jpeg")
    return {
        "type": "image_url",
        "image_url": {"url": f"data:image/{suffix};base64,{data}"},
    }
Enter fullscreen mode Exit fullscreen mode

Mỗi ảnh là một khối riêng:

content = [
    {
        "type": "text",
        "text": "Image 1 is the design. Image 2 is what we built. List the differences.",
    },
    image_block("design.png"),
    image_block("built.png"),
]
Enter fullscreen mode Exit fullscreen mode

Thứ tự rất quan trọng. Đặt văn bản định khung trước ảnh, và gắn nhãn rõ ràng khi gửi nhiều ảnh để mô hình biết ảnh nào là thiết kế, ảnh nào là kết quả triển khai.

Thiết lập và xác thực cơ bản có trong hướng dẫn API GLM-5.3-Flash.

Quy trình làm việc nên triển khai

Gỡ lỗi ảnh chụp màn hình

Gửi ảnh kết xuất lỗi cùng mã nguồn tạo ra nó:

content = [
    {
        "type": "text",
        "text": "This component renders incorrectly below 400px. Here is the screenshot and the source.",
    },
    image_block("bug-mobile.png"),
    {"type": "text", "text": f"```
{% endraw %}
jsx\n{component_source}\n
{% raw %}
```"},
]
Enter fullscreen mode Exit fullscreen mode

Mô hình có thể suy luận từ kết xuất thực tế thay vì mô tả bằng lời, giảm bước chuyển đổi vấn đề trực quan thành văn bản trong quá trình gỡ lỗi front-end.

So sánh thiết kế

Gửi ảnh thiết kế, ảnh triển khai và yêu cầu liệt kê khác biệt. Cách này hữu ích trong CI như một kiểm tra mềm cho hồi quy hình ảnh:

  • Công cụ so sánh ảnh cho biết pixel nào thay đổi.
  • Mô hình đánh giá liệu thay đổi đó có đáng chú ý hay không.
  • Con người nên quyết định cuối cùng; không nên chặn triển khai chỉ dựa vào đánh giá của mô hình.

Đối chiếu tài liệu với đặc tả

Đặt đặc tả dài dưới dạng văn bản và tạo phẩm đã kết xuất dưới dạng ảnh:

content = [
    {"type": "text", "text": f"Specification:\n\n{spec_text}"},
    {
        "type": "text",
        "text": "Below is the generated report. Does it satisfy every requirement above? List gaps.",
    },
    image_block("generated-report.png"),
]
Enter fullscreen mode Exit fullscreen mode

Một đặc tả 40 trang cùng một hình ảnh trong một lời nhắc là trường hợp sử dụng thực tế của cửa sổ ngữ cảnh 1M token. Ghi chú phát hành của Z.ai cũng đề cập đến tài liệu văn phòng và nghiên cứu tài chính như các quy trình tác nhân mục tiêu.

Trích xuất biểu đồ và bảng điều khiển

Yêu cầu JSON có cấu trúc, rồi xác thực kết quả:

content = [
    {
        "type": "text",
        "text": "Extract the series in this chart as JSON: [{label, values: [...]}]. Return only JSON.",
    },
    image_block("quarterly.png"),
]
Enter fullscreen mode Exit fullscreen mode

Xác thực theo lược đồ giúp bắt lỗi định dạng, nhưng không bảo đảm giá trị đọc từ biểu đồ là chính xác. Nếu số liệu quan trọng, hãy lấy từ dữ liệu nguồn thay vì ảnh. Với trích xuất tài liệu chuyên dụng, GLM-OCR để hiểu tài liệu có thể phù hợp hơn.

Video và tệp

Tài liệu của Z.ai liệt kê video và tệp cùng với hình ảnh, sử dụng cơ chế khối nội dung tương tự.

Tuy nhiên, hỗ trợ video còn mới, ít được sử dụng công khai và mức hỗ trợ có thể khác nhau giữa các nhà cung cấp API. Hãy kiểm thử trực tiếp với phương tiện và nhà cung cấp của bạn trước khi thiết kế ứng dụng dựa trên khả năng này.

Các hạn chế cần thiết kế phòng vệ

Số liệu từ biểu đồ. Mô hình có thể trả lời trôi chảy, đúng cấu trúc nhưng sai giá trị. Dùng dữ liệu gốc khi độ chính xác là bắt buộc.

Văn bản nhỏ. Ảnh giao diện dày đặc, bảng độ phân giải thấp và mã trong ảnh nén dễ giảm chất lượng. Hãy cắt vùng cần xem thay vì thu nhỏ toàn ảnh.

Độ chính xác không gian. Mô hình thường phát hiện được “nút chồng lên ô nhập liệu”, nhưng không đáng tin cậy với nhận định như “nút lệch trái 12 pixel”.

Nhầm lẫn thứ tự và tham chiếu. Khi có nhiều ảnh, mô hình có thể gán chi tiết cho nhầm ảnh. Gắn nhãn ảnh rõ ràng và giữ số lượng ảnh thấp khi cần độ chính xác.

Đây là các giới hạn phổ biến của mô hình ngôn ngữ thị giác. Điểm Chỉ số Thông minh 57 không loại bỏ chúng. Hãy thiết kế quy trình để câu trả lời sai được phát hiện trước khi bị thực thi.

Chi phí

Hình ảnh tiêu thụ token đầu vào và không có phụ phí hình ảnh riêng.

Giá niêm yết là 0,15 USD cho mỗi triệu token đầu vào, hoặc 0,075 USD trong thời gian ưu đãi ra mắt đến ngày 9 tháng 9 năm 2026. Ảnh độ phân giải cao dùng nhiều token hơn, nên hãy giảm kích thước nếu chi tiết nhỏ không phải mục tiêu.

reasoning_effort mặc định là max và được tính phí như token đầu ra. Với tác vụ trích xuất trực tiếp, low thường đủ và rẻ hơn. Xem thêm bảng phân tích giá GLM-5.3-Flash.

Kiểm soát chi phí ảnh

  • Cắt trước khi đổi kích thước: gửi vùng liên quan ở độ phân giải đầy đủ thay vì toàn bộ ảnh ở độ phân giải thấp.
  • Khớp độ phân giải với câu hỏi: kiểm tra bố cục có thể dùng ảnh nhỏ hơn; đọc thông báo lỗi cần ảnh rõ nét.
  • Không gửi lại ảnh không đổi: trong cuộc trò chuyện nhiều lượt, ảnh đã nằm trong ngữ cảnh không cần đính kèm lại.
  • **Chọn `reasoning_eff đợi cố định.
  • Xác thực đầu ra có cấu trúc bằng lược đồ thay vì chỉ kiểm tra bằng mắt.

Apidog hỗ trợ lưu tải trọng ảnh trong yêu cầu đã lưu, dùng biến môi trường cho khóa API và thêm assertion cho JSON trả về. Khi đổi mô hình hoặc nhà cung cấp cập nhật dịch vụ, chạy lại bộ kiểm thử sẽ cho biết đường dẫn thị giác còn hoạt động đúng hay không.

Câu hỏi thường gặp

GLM-5.3 có hỗ trợ hình ảnh không? Không phải gốc. GLM-5.3 định tuyến thị giác qua bộ điều hợp riêng; Flash là mô hình đa phương thức gốc. Xem so sánh GLM-5.3-Flash và GLM-5.3.

Mỗi yêu cầu gửi được bao nhiêu ảnh? Nhiều ảnh, mỗi ảnh là một khối image_url riêng. Giới hạn thực tế là ngân sách ngữ cảnh.

Dùng URL hay base64? Cả hai đều hoạt động. Dùng URL công khai cho ảnh đã lưu trữ và truy cập được; dùng base64 cho ảnh cục bộ hoặc riêng tư.

Có chấp nhận video không? Z.ai có tài liệu về đầu vào video, nhưng khả năng này còn mới. Hãy xác minh với phương tiện và nhà cung cấp của bạn trước.

Ảnh có bị tính phí riêng không? Không. Ảnh tiêu thụ token đầu vào, nên độ phân giải ảnh ảnh hưởng trực tiếp đến chi phí.

Top comments (0)