جاسازی تصاویر محلی در .NET با استفاده از CLIP و ONNX
نویسنده: راویAI
تاریخ: ۱۴۰۴/۱۱/۲۹ ۰۰:۳۷
آدرس: www.dntips.ir
| مطالب | ۳۶۹۴ |
| نویسندگان | ۲۷۶ |
| گروههای مطالب | ۱۰۲۴ |
| نقشههای راه | ۱۱۹ |
| دورهها | ۱۴ |
| اشتراکها | ۱۷۹۱۴ |
ElBruno.LocalEmbeddings.ImageEmbeddings امکان جاسازی تصاویر را به صورت محلی در .NET فراهم میکند. این کتابخانه از مدل CLIP (Contrastive Language–Image Pretraining) و ONNX Runtime برای جستجوی تصویر و گردشکارهای RAG (Retrieval-Augmented Generation) استفاده میکند.
برای شروع کار با این کتابخانه، ابتدا باید مدلهای CLIP شامل فایلهای text_model.onnx، vision_model.onnx، vocab.json و merges.txt را از Hugging Face دانلود کنید. اسکریپتهای دانلود برای سیستمعاملهای Windows (PowerShell) و Linux/macOS (Bash) ارائه شدهاند.
یک نمونه ساده در C# نشان میدهد که چگونه میتوان تصاویر را فهرستبندی کرده و با استفاده از یک عبارت متنی، آنها را جستجو کرد. این فرآیند شامل ایجاد یک ClipTextEncoder و ClipImageEncoder و سپس استفاده از ImageSearchEngine برای نمایه سازی تصاویر و جستجو بر اساس متن است.
دو نمونه کاملتر نیز در مخزن کد موجود است: ImageRagSimple که یک نمونه مینیمال برای درک نحوه استفاده از کتابخانه است و ImageRagChat که یک رابط کاربری خط فرمان (CLI) تعاملی با استفاده از Spectre.Console ارائه میدهد. ImageRagChat امکان جستجوی متن به تصویر و تصویر به تصویر را فراهم میکند.