From 338ae989a7b09ae9e2d84ad25940254161269a13 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 28 Aug 2025 20:53:40 +0000 Subject: [PATCH 1/3] Initial plan From 2321940818417157d45d69d03c2f3d42160e4b1b Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 28 Aug 2025 20:58:45 +0000 Subject: [PATCH 2/3] Initial plan for KOSMOS-2.5 integration Co-authored-by: pexus <1809523+pexus@users.noreply.github.com> --- src/__pycache__/app.cpython-312.pyc | Bin 0 -> 13548 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 src/__pycache__/app.cpython-312.pyc diff --git a/src/__pycache__/app.cpython-312.pyc b/src/__pycache__/app.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..f49930f55247b4aab78d41aa14858830beae3211 GIT binary patch literal 13548 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 Date: Thu, 28 Aug 2025 21:02:27 +0000 Subject: [PATCH 3/3] Complete KOSMOS-2.5 integration with UI testing Co-authored-by: pexus <1809523+pexus@users.noreply.github.com> --- README.md | 2 ++ src/__pycache__/app.cpython-312.pyc | Bin 13548 -> 14270 bytes src/app.py | 23 ++++++++++++++++++++++- 3 files changed, 24 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 2eb0037..647354f 100644 --- a/README.md +++ b/README.md @@ -3,6 +3,8 @@ A simple flask web app to evaluate small VLMs (Vision Language Models). Currentl - Qwen/Qwen2-VL-2B-Instruct - microsoft/Phi-3.5-vision-instruct - microsoft/Florence-2-large +- google/paligemma2-3b-pt-896 +- microsoft/kosmos-2.5 The application with VLM running loaded and inferencing locally was tested on a consumer grade desktop with following configuration. diff --git a/src/__pycache__/app.cpython-312.pyc b/src/__pycache__/app.cpython-312.pyc index f49930f55247b4aab78d41aa14858830beae3211..30b507052c0933d51b4e8a0b57080b7db9c0181e 100644 GIT binary patch delta 3116 zcmZ8jeQZ0+aIY)w~2qYd!F-1 z+H2)^&pluF-gD16FaOH_MryrjwVD_@p1pBx`rYje^H*4Cqh_7>*v?*T-95qd+j%>kxq_qU+I5tq}z z$Hdso9&*O)vY9kR#8BQo;EkIFi-4A`SM^mRK0#eLH@R#U>i8DQLo;KV+l^Ul5p2u$ ztGX(OdTkM#XGXwpivvzN%?Qpn5T6uWg8RwO^QwVw6YBXC^?8_lvEH@xDHeu(%qJ*Bu|LoS$&?S7#l zhn54Hwh%naTwPb;w+fAC8NNpdQOtlX+%WJY>_TLd?lw&xjef>sY?Ib@O{=p>h<|F| z#3rpBYJ&Chy+SkHxlgl+wtU8O>n5A0G_6EZi-gd&N!~Aph16^-!(b29{2JV(W{c2H z-?4+}*cQ}D+F047Q^NZtxhToqq>l4B75n;X3`>)uEK7LhRo01+f&7g7cKu^_F+YhV zS(>VJ&Z<`J-5r^gVZ+~b$U@qTJ8SD`B$GOvB6G$A9HjZ+$_?WX^7T?uv1AJc>9{CN zOyvtA9;U4QBxoMjDeTIe`DLAHktUIP;O~)iU6eeuERY53KqFT|0#m7_>grfFTxF}& zDP5(JykiNIV4VrM$cNSet4n*cZnly9rL0uE_5oB{AKk?Z5P?U_>GOaP{ii9VpaftlXo-ji2u#p0}ZI7Wb z@`?Q^)JxKikog#8j?zE5Lq~WAZ##?_i{o3#RdZmK4Xiy!Za6+~ANdq-7!j{ij&yI< z>tsysRd4%kWBcFiopdp{6=WaJ#C z^V}l~<4N3g_uO*#T;uPI9l7J?&l}f5z;t8CijC16nD~?81IQOa^9VLJACee;dK6f+^ z-e~ks+DD~`EEdGciYP?XoCFc}lZ-EAfL4ViGUeOe1Kea7TY%FAkOmMaC^fl)^nA7; zV;)#X0iFdoL~i*)(PKb<1z?7P!oeOghOVtdVH3g3#Nipe8 zH#Uc^klLnk^U@*`ylUN#lc}aT!_Z=l5b%?^n4kQ+$=zCNq4Jz`&_6_T@k35LA5>q@({;4yP?s(MLmS>h~-b6x}9F1pCgj|ZZ)6%^jZ$vTjApR8B zv}hFKB$NoCIO$7dP=b^bo`&W{vk>=F&srxz%sPiSn%htdc`q@CT1kI%6H1a}%^#rX z%3w<`N~cEgA!>yW0zijR*m+sR3R_tyi}`|vvb z2LS&FXuV>{7inLS@oOM|6Cg&~lUuwhsWuONRrX_5fs~VpklHU!di!%&nlB0YQf_dl z6jA*|q^St`PV$gp0JK}kN69}Po}y$jw4SZNehwf6a2Np6R&iy^<-)?m4&0x(5HCg#6CR z;VnyO@U|uP(CDf*qcsB)%3M2iZSQJeV71nF-_dZ-5xwW~-3x>t)v!*}e`*=C^`+SP zLl@fCjEvFtsBYzcyH!^|;2G^=Z@Qcm-%p1}Gu$6C+~^?rUuQW6nL&%g23wy5fa=9V z6lD5*Oa%9mi(M}6ca)wWSGuA!?QeFaYX|W*&^u1p^sW*7q#Y~zv3*Zhs~*~hQd5v} zIr?%K0z&&mAuG>f$nP0GofU;VmhtC60DTQ-08UU)4C0BrOe?+zIM9RO$*Cvk z845>Jjb=n2$l!a9kE!Vo-4~w$fIfj=0Z`vueKClQqQ~e_^>7jD2LSap+E4*XqgXtunU_1=q^tzgy2aFhc&1^^C4# lO$X#!fqb)PD3~)MF1E%{cq~KH`)$azr(gg3er_*U^M7!C(?9?K delta 2823 zcmZ8jYfK#16`s4hv+T0Fuut&v*axu7PM3!P0|_P=YU9L_jgfI4p4358?qyln-C5t6 z4K~4{NRivr>BGLQ(w4T0lfEqY(P)3gs@l4#8p%;D_eT|JqC~A)^&#a4QL6q()vEW* zGKFT4zI*O@-FwbG=PW;0Kg?&|@%icn{-Iy}bm`q8LHHAFtk1beeEc8#jm-39ebFO( zkbnh@3SQZ3u0Gjkt_^YnUmbmykNKlv|Bh=L)tEKa8-Iud+AWqGd6PT2sh{k->cT!b#d&D?^!_C*illJEPUE)Cx(P{xk zB-5Yr+3ve68??>-}r^38ZPQ9p$ajd0TNDusf&O7Q$*zCh?C zXPshKJae{J?bZ99FWcD7#;h-BW%a6EZ)JDm?JV#2we5tglDq2A+qt3ntvhfSN0{F) zg__pIE#Z4MD;^~1@jc_dNb|N>)4yt4x2@Y3ZF7Qji0$~tP@MhMKb%Q$>3KsWN{&#; zL8tlF2GPBnRh`T)sF=_b>_i}W>@kqKOO@jM0#(ZzP4Ybt_yk`l$kv<-6|9UM zHtY-KiiAuaUryH4PO{s9*$8at835A^4wU??A((0o0n-5h9cGBSN*9)B8+$yMVpoDm zbcSsOkD?LwZZPJ#$TgtLv^UYsklc6@3Esfhr3aqY2aeX=X_gP2Y#2Pq8eqQ&X(+*d z6uyq8*kI)PL=U&-0ej#m-4Y+Zqi#12TuEJV&StxC88o*1l&TT**bvYnYD!*EVepH~5(^EBcZl=8I4d1(20E zXy75S_tlc&sgw(zccDl)K#jQ-k2p*!r2 zu1jc>b*AP#Ppu=|Z1(**wwbylM%U|bE4!6yVS#j*Rnl?P#=e=B+?l+vQTGFc+u7Uc zVH9KkPWSRo%67N&;yTrRR7|eBaR+;;yA^e?A9fE9b^fn+J$j1Y$NX^Dx(9beIc+sO z5-iTL1iwY>+Zi89vEj@mlx9E9bfRwdPUd|Suilm(Mg!6eo#Vz7I)KJG7>Zh`z3K!SZM+tX~4NmHjL zd)-uE?`2ag*7Kxu47Octt>^d21<;D^6)CXK1GE7=0U)z-Z}g!jIcYd4(ei7=a1_*1 zj-CbSEC5uw;mVN`p^8onx2~>`5?7@3C+u!-bmKZG!Hd$bf@Zy@^9Iva^SoT`1yV9Z ztz5|Kvbg?f8eY`u)Q`TT>)5<8s`~ z208xL9iQ=u_kH3_6T3TD9&6?ny!w6MVHE)Sl}>Qb_|pi9T9^51U1t4iyu~Gtvz4JF zFX*of4Y6?$7Q|T;oL*R|;f;zQ+ZSVeKf(4=32m!*|>t zd7J^;7ks;6c5Xxydr{l&v+Ul;wZIZW(U0wdt#8)`An image of {prompt}" + inputs = processor( + text=formatted_prompt, + images=image, + return_tensors='pt' + ).to(device) + # Generate output from the image using the selected model logger.info("Generating output from the model...") output_ids = model.generate(