[{"data":1,"prerenderedAt":381},["ShallowReactive",2],{"\u002Fblog\u002Fqwen-vision-for-deepseek\u002F:vi":3,"\u002Fblog\u002Fqwen-vision-for-deepseek\u002F-surround:vi":280,"blog-all-posts:vi":281},{"id":4,"title":5,"author":6,"body":10,"date":263,"description":264,"extension":265,"image":266,"locale":267,"meta":268,"minRead":154,"navigation":269,"original":270,"path":271,"pinned":270,"seo":272,"source":273,"sourceUrl":23,"stem":274,"tags":275,"updated":266,"__hash__":279},"blog\u002Fblog\u002Fqwen-vision-for-deepseek.vi.md","Bổ sung đa phương thức cho DeepSeek: giải pháp nhận diện ảnh Qwen-3.7-Flash",{"name":7,"avatar":8},"Chen Dahuang",{"src":9,"alt":7},"\u002Favatar.jpg",{"type":11,"value":12,"toc":255},"minimark",[13,28,31,36,39,42,46,54,57,61,64,183,186,199,202,206,224,228,231,234,238,241,244,251],[14,15,16],"blockquote",{},[17,18,19,20,27],"p",{},"Bài gốc đăng trên ",[21,22,26],"a",{"href":23,"rel":24},"https:\u002F\u002Fx.com\u002Frealchendahuang\u002Fstatus\u002F2085265465564336327",[25],"nofollow","X"," — 89 nghìn lượt xem, 600+ lượt thích.",[17,29,30],{},"Nhiều người than phiền DeepSeek V4 Flash không có khả năng đa phương thức. Đây đúng là một điểm yếu — nhưng không cần phải chết dính vào một model.",[32,33,35],"h2",{"id":34},"vấn-đề","Vấn đề",[17,37,38],{},"Khả năng văn bản của V4 Flash đã đầy tới mức tối đa, nhưng gặp tình huống đọc ảnh là chịu chết: ảnh chụp màn hình, ảnh bảng biểu, bản thiết kế UI, tài liệu quét — không thứ nào xử lý được.",[17,40,41],{},"Đa phương thức là cái giá của \"rẻ\" — model phải làm mã hóa thị giác, tham số phình to, chi phí đội lên.",[32,43,45],{"id":44},"cách-giải-tổ-hợp-model","Cách giải: tổ hợp model",[17,47,48,49,53],{},"Tôi khảo sát một vòng mấy model nhận diện ảnh có hiệu quả chi phí cao nhất hiện nay, kết luận là ",[50,51,52],"strong",{},"Qwen-3.7-Flash",".",[17,55,56],{},"Chi phí nhận diện một bức ảnh thấp đến mức có thể bỏ qua. Dùng nó làm model thị giác chuyên dụng, suy luận văn bản tiếp tục đi qua V4 Flash, là giữ được cả hai ưu điểm.",[32,58,60],{"id":59},"tổ-hợp-thế-nào","Tổ hợp thế nào",[17,62,63],{},"Ý tưởng đơn giản nhất là \"routing\": input có ảnh → đi qua model thị giác; thuần văn bản → đi qua V4 Flash.",[65,66,71],"pre",{"className":67,"code":68,"language":69,"meta":70,"style":70},"language-js shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","\u002F\u002F Mã giả: routing theo nhu cầu\nfunction route(input) {\n  if (hasImage(input)) {\n    return qwenVision(input)   \u002F\u002F nhận diện ảnh + trích xuất thông tin chính\n  }\n  return deepseekV4Flash(input) \u002F\u002F suy luận văn bản\n}\n","js","",[72,73,74,83,108,133,152,158,177],"code",{"__ignoreMap":70},[75,76,79],"span",{"class":77,"line":78},"line",1,[75,80,82],{"class":81},"sHwdD","\u002F\u002F Mã giả: routing theo nhu cầu\n",[75,84,86,90,94,98,102,105],{"class":77,"line":85},2,[75,87,89],{"class":88},"spNyl","function",[75,91,93],{"class":92},"s2Zo4"," route",[75,95,97],{"class":96},"sMK4o","(",[75,99,101],{"class":100},"sHdIc","input",[75,103,104],{"class":96},")",[75,106,107],{"class":96}," {\n",[75,109,111,115,119,122,124,127,130],{"class":77,"line":110},3,[75,112,114],{"class":113},"s7zQu","  if",[75,116,118],{"class":117},"swJcz"," (",[75,120,121],{"class":92},"hasImage",[75,123,97],{"class":117},[75,125,101],{"class":126},"sTEyZ",[75,128,129],{"class":117},")) ",[75,131,132],{"class":96},"{\n",[75,134,136,139,142,144,146,149],{"class":77,"line":135},4,[75,137,138],{"class":113},"    return",[75,140,141],{"class":92}," qwenVision",[75,143,97],{"class":117},[75,145,101],{"class":126},[75,147,148],{"class":117},")   ",[75,150,151],{"class":81},"\u002F\u002F nhận diện ảnh + trích xuất thông tin chính\n",[75,153,155],{"class":77,"line":154},5,[75,156,157],{"class":96},"  }\n",[75,159,161,164,167,169,171,174],{"class":77,"line":160},6,[75,162,163],{"class":113},"  return",[75,165,166],{"class":92}," deepseekV4Flash",[75,168,97],{"class":117},[75,170,101],{"class":126},[75,172,173],{"class":117},") ",[75,175,176],{"class":81},"\u002F\u002F suy luận văn bản\n",[75,178,180],{"class":77,"line":179},7,[75,181,182],{"class":96},"}\n",[17,184,185],{},"Cách chơi cao cấp hơn là nhét luôn kết quả nhận diện ảnh vào V4 Flash để tiếp tục suy luận:",[187,188,189,193,196],"ol",{},[190,191,192],"li",{},"Dùng Qwen-3.7-Flash nhận diện ảnh, xuất ra mô tả có cấu trúc",[190,194,195],{},"Giao mô tả + câu hỏi gốc cùng lúc cho DeepSeek V4 Flash",[190,197,198],{},"V4 Flash dựa trên mô tả suy luận sâu, viết code, tóm tắt",[17,200,201],{},"Vừa nhìn được ảnh, lại vừa được cái rẻ và nhanh của V4 Flash.",[32,203,205],{"id":204},"tình-huống-hợp","Tình huống hợp",[207,208,209,212,215,218,221],"ul",{},[190,210,211],{},"Hỏi đáp bằng ảnh chụp màn hình: ném ảnh chụp lỗi, ảnh chụp hội thoại vào",[190,213,214],{},"Ảnh bảng biểu \u002F tài liệu thành dữ liệu có cấu trúc",[190,216,217],{},"Bản thiết kế UI thành code",[190,219,220],{},"Trích xuất thông tin từ hóa đơn, hợp đồng đã quét",[190,222,223],{},"Tình huống Agent cần \"nhìn\" màn hình",[32,225,227],{"id":226},"vì-sao-không-phải-phương-án-khác","Vì sao không phải phương án khác",[17,229,230],{},"LLM thị giác thuần túy (như mấy model đa phương thức nhà GPT) rất mạnh, nhưng giá thì vẫn thế — xử lý hàng loạt hằng ngày không kinh tế.",[17,232,233],{},"Qwen-3.7-Flash thắng ở hiệu quả chi phí: chất lượng nhận diện đủ dùng, chi phí gần như vô hình, chạy cả đống batch cũng không xót.",[32,235,237],{"id":236},"tổng-kết","Tổng kết",[17,239,240],{},"Tổ hợp model là chuyện thường — đừng trông mong một model làm hết.",[17,242,243],{},"V4 Flash làm ngựa thồ văn bản (rẻ, nhanh, context khổng lồ), Qwen-3.7-Flash bổ sung thị giác (rẻ, đủ dùng) — bộ đôi này là phương án có hiệu quả chi phí cao nhất hiện nay. Thiếu gì vá nấy, thực tế hơn nhiều so với chờ một model \"toàn năng mà đắt\".",[17,245,246,247],{},"Liên quan: ",[21,248,250],{"href":249},"\u002Fblog\u002Fdeepseek-v4-flash-review","Trải nghiệm sâu bản chính thức DeepSeek V4 Flash",[252,253,254],"style",{},"html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sHdIc, html code.shiki .sHdIc{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#EEFFFF;--shiki-default-font-style:italic;--shiki-dark:#BABED8;--shiki-dark-font-style:italic}html pre.shiki code .s7zQu, html code.shiki .s7zQu{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":70,"searchDepth":85,"depth":85,"links":256},[257,258,259,260,261,262],{"id":34,"depth":85,"text":35},{"id":44,"depth":85,"text":45},{"id":59,"depth":85,"text":60},{"id":204,"depth":85,"text":205},{"id":226,"depth":85,"text":227},{"id":236,"depth":85,"text":237},"2026-08-06","DeepSeek V4 Flash không có đa phương thức — cần hiểu ảnh thì phải làm sao? Khảo sát một vòng, giải pháp có hiệu quả chi phí cao nhất hiện nay là Qwen-3.7-Flash: chi phí nhận diện một bức ảnh gần như bằng không, tổ hợp với V4 Flash là vá được điểm yếu.","md",null,"vi",{},true,false,"\u002Fblog\u002Fqwen-vision-for-deepseek",{"title":5,"description":264},"x","blog\u002Fqwen-vision-for-deepseek.vi",[276,277,278],"DeepSeek","Đa phương thức","Đánh giá mô hình","JpkQNp6xYqCBO3RX4WNAVAtM8lmtOtrCnbtpaLDxw8w",[266,266],[282,289,298,306,310,318,325,333,341,347,349,357,364,372],{"path":283,"title":284,"description":285,"date":263,"minRead":160,"tags":286},"\u002Fblog\u002Fagent-harness-selection","Sau khi nghịch Pi Agent, OMP, Codex và ZCode, vì sao cuối cùng tôi chọn OpenCode + OpenChamber","Bài tổng kết chọn lựa Agent Harness: ba tiêu chí — trải nghiệm GUI, khoá nhà cung cấp và quyền tự do phát triển thứ cấp — đã loại Pi Agent, OMP, Codex và ZCode, cuối cùng chốt lõi OpenCode + giao diện OpenChamber.",[287,288],"AI Agent","Chọn công cụ",{"path":290,"title":291,"description":292,"date":293,"minRead":160,"tags":294},"\u002Fblog\u002Fcloudflare-broke-stack","Thực hành tốt nhất 2026 cho indie developer: gói công nghệ Cloudflare all-in-one 'nghèo rớt mồng tơi'","Tech stack chi phí bằng không cho indie developer: Codex viết code, GitHub quản lý phiên bản, Stripe thu tiền, frontend TanStack Start, backend Hono + Workers, database D1, lưu trữ R2, cache KV — tất cả chạy trên Cloudflare.","2026-06-15",[295,296,297],"Cloudflare","Phát triển indie","Tech stack",{"path":299,"title":300,"description":301,"date":302,"minRead":160,"tags":303},"\u002Fblog\u002Fdeepseek-api-web-search","API của DeepSeek có sẵn tìm kiếm web: xài chùa khả năng tìm kiếm chính thức qua Responses API","DeepSeek nhúng thẳng tìm kiếm web vào API: gọi deepseek-v4-flash qua giao diện Responses và khai báo tool web_search là xong. Không cần tích hợp công cụ tìm kiếm bên thứ ba, không cần xin key API tìm kiếm.","2026-08-05",[276,304,305],"API","Công cụ AI",{"path":249,"title":307,"description":308,"date":302,"minRead":179,"tags":309},"Trải nghiệm sâu bản chính thức DeepSeek V4 Flash: rẻ, nhanh, context 1M, tìm kiếm tích hợp sẵn","Mấy ngày trải nghiệm sâu bản chính thức DeepSeek V4 Flash: rẻ cực độ, nhanh như chớp, context 1M, tìm kiếm web chính thức tích hợp sẵn, mã nguồn mở hoàn toàn. Điểm yếu duy nhất là đa phương thức — nhưng có thể vá bằng cách tổ hợp các model khác.",[276,278,305],{"path":311,"title":312,"description":313,"date":293,"minRead":314,"tags":315},"\u002Fblog\u002Ffree-cloudflare","Người dùng miễn phí vắt kiệt Cloudflare như thế nào — bản miễn phí thật sự xài chùa được đến đâu?","Bản miễn phí của Cloudflare chống lưng được cả một hạ tầng internet cá nhân: DNS, CDN, Pages, Workers, KV, D1, R2, email, Tunnel, AI Gateway và hơn thế nữa.",8,[295,316,317],"Hạn mức miễn phí","Triển khai",{"path":319,"title":320,"description":321,"date":322,"minRead":314,"tags":323},"\u002Fblog\u002Fmodel-harness-decoupling","Harness chính hãng chưa chắc là đáp án đương thời: thời đại mô hình mở, chọn model và Harness riêng biệt","Dùng Claude thì gắn Claude Code? Thời đại mô hình mở rồi, bản năng đó cần được nâng cấp. Lợi thế chính hãng là có thật, nhưng huấn luyện model tốt và làm Harness tốt là hai ngành kỹ thuật khác nhau — bài này nói rõ vì sao model và Harness giờ đã có thể chọn riêng, kèm bản đồ định vị 5 Harness.","2026-09-09",[287,324,288],"Harness",{"path":326,"title":327,"description":328,"date":322,"minRead":314,"tags":329},"\u002Fblog\u002Fopencode-productive-stack","Ổn định, nhanh, hiệu suất, rẻ: ghi chép trọn bộ AI Coding stack của tôi","OpenCode + OpenChamber + hai gói đăng ký DeepSeek V4 Flash: 15 dự án cùng lúc chạy code, hạn mức chỉ xụi chút xíu. Trải hết cấu hình ra: cắt tỉa context, bộ nhớ phân tầng, tự động hóa desktop, và bài học “giữ nguyên cặp gốc”.",[330,331,332],"OpenCode","Lập trình AI","Cấu hình",{"path":334,"title":335,"description":336,"date":337,"minRead":338,"tags":339},"\u002Fblog\u002Fproduct-faxin-principle","Nguyên lý phát tâm: vì sao indie developer phải học cách buông bỏ","Vì sao bạn lên đường? Bạn lên đường vì ai? Bạn thật sự muốn giải quyết vấn đề nào? Sự sắc bén của sản phẩm đến từ chỗ bạn dám cắt bỏ điều gì.","2026-06-20",10,[340,296],"Tư duy sản phẩm",{"path":342,"title":343,"description":344,"date":337,"minRead":314,"tags":345},"\u002Fblog\u002Fproduct-pain-vs-itch","Đừng bay bổng khi người dùng khen 'xịn': nỗi đau và cơn ngứa","Lời khen ngoài miệng chẳng đáng một xu. Phán đoán nhu cầu chỉ có một tiêu chuẩn cứng: xem người dùng sẵn sàng trả cái gì.",[340,346],"Đánh giá nhu cầu",{"path":271,"title":5,"description":264,"date":263,"minRead":154,"tags":348},[276,277,278],{"path":350,"title":351,"description":352,"date":353,"minRead":135,"tags":354},"\u002Fblog\u002Fsub-store-cloudflare","Tôi đã chuyển công cụ gộp subscription proxy lên Cloudflare","Gộp nhiều dịch vụ proxy cộng với node tự dựng thành một subscription duy nhất, quy tắc định tuyến cấu hình ở phía server — client chỉ việc subscribe.","2026-06-28",[295,355,356],"Vượt tường lửa","Dự án mã nguồn mở",{"path":358,"title":359,"description":360,"date":322,"minRead":179,"tags":361},"\u002Fblog\u002Ftui-cognitive-bandwidth","TUI đang giết băng thông nhận thức của bạn: đến lúc đập vỡ “bộ lọc geek” trong AI Coding","Hàng loạt AI Coding Agent đang đua nhau thả TUI, nhồi tương tác trở lại mô hình terminal thập niên 1980 rồi gọi đó là “đắm chìm”, “tôn trọng lập trình viên”. Bài này mổ xẻ ba cơ chế khiến TUI làm giảm băng thông nhận thức một cách hệ thống, và vì sao Web UI mới là lời giải đúng.",[331,362,363],"Thiết kế tương tác","Tản văn",{"path":365,"title":366,"description":367,"date":368,"minRead":160,"tags":369},"\u002Fblog\u002Fvalue-not-external","Bàn chuyện có giá trị hay không, bản thân chuyện đó đã chẳng có giá trị","Giá trị của chúng ta không do ai định nghĩa. Trong thời đại AI, con người nên hiểu mình như thế nào?","2026-06-18",[370,371],"Suy ngẫm về AI","Tản văn nhân văn",{"path":373,"title":374,"description":375,"date":376,"minRead":377,"tags":378},"\u002Fblog\u002Fx-growth-1000-followers","Tăng hơn 1000 followers chỉ trong hơn một ngày — đây là những gì tôi đã làm","Tháng 6 tôi nghiêm túc vận hành tài khoản X, chỉ trong hơn một ngày đã tăng 1000+ followers. Bài này ghi lại những gì tôi đã làm và phản hồi nhận được.","2026-06-16",12,[379,380],"Vận hành X","Tăng trưởng nội dung",1789752318539]