LLMImageIndexer เป็นเครื่องมือประมวลผลและจัดทำดัชนีภาพอัจฉริยะที่ใช้ประโยชน์จาก AI ในพื้นที่เพื่อสร้างข้อมูลเมตาที่ครอบคลุมสำหรับคอลเลกชันภาพของคุณ เครื่องมือนี้ใช้โมเดลภาษาขั้นสูงเพื่อวิเคราะห์รูปภาพและสร้างคำอธิบายภาพและข้อมูลเมตาของคำหลัก
การวิเคราะห์ภาพอัจฉริยะ : ใช้โมเดล AI ในพื้นที่เพื่อสร้างจำนวนคำหลักและคำอธิบายภาพสำหรับแต่ละภาพ
การปรับปรุงข้อมูลเมตา : สามารถแก้ไขข้อมูลเมตาของรูปภาพโดยอัตโนมัติด้วยแท็กที่สร้างขึ้น
การประมวลผลภายในเครื่อง : การประมวลผลทั้งหมดเสร็จสิ้นภายในเครื่องของคุณ
การสนับสนุนหลายรูปแบบ : จัดการรูปแบบภาพที่หลากหลาย รวมถึงไฟล์ Raw Camera ที่สำคัญทั้งหมด
GUI ที่ใช้งานง่าย : รวม GUI และตัวติดตั้ง อาศัย Koboldcpp ซึ่งเป็นไฟล์ปฏิบัติการเดียวสำหรับฟังก์ชัน AI ทั้งหมด
การเร่งความเร็วของ GPU : จะใช้ฮาร์ดแวร์ Apple Metal, Nvidia CUDA หรือ AMD (Vulkan) หากมีเพื่อเพิ่มความเร็วในการอนุมานอย่างมาก
ข้ามแพลตฟอร์ม : รองรับ Windows, macOS ARM และ Linux
ความสามารถในการหยุดและเริ่ม : สามารถหยุดและเริ่มต้นได้โดยไม่ต้องประมวลผลไฟล์ทั้งหมดใหม่อีกครั้ง
การประมวลผลคำหลักภายหลัง : ขยายคำหลักเพื่อเพิ่มคำพ้องความหมายทั้งหมดลงในทุกภาพที่มีคำพ้องความหมายอย่างใดอย่างหนึ่ง หรือกรองคำหลักที่ซ้ำกันออกโดยใช้คำพ้องความหมายที่ใช้บ่อยที่สุดแทนที่คำพ้องความหมายที่ตรงกันทั้งหมด
ก่อนดำเนินการใช้สคริปต์นี้ คุณควรทราบสิ่งต่อไปนี้:
นี่เป็นโปรเจ็กต์ที่สร้างขึ้นโดยบุคคลที่ไม่คุ้นเคยกับระเบียบการอย่างเป็นทางการที่ช่างภาพมืออาชีพใช้ หากคุณพึ่งพาการถ่ายภาพเพื่อชำระค่าใช้จ่าย คุณควรทดสอบผลกระทบของสคริปต์นี้อย่างละเอียดก่อนที่จะนำไปใช้กับสิ่งที่สำคัญ
หากได้รับคำสั่งให้เขียนข้อมูลเมตา มันจะเขียนไปยังแท็กต่อไปนี้โดยใช้ exiftool: MWG:คำหลัก, XMP:คำอธิบาย, สถานะ, XMP:ตัวระบุ สิ่งเหล่านี้ไม่จำเป็นต้องเป็นชื่อของแท็กที่ exiftool ตัดสินใจว่าจะใช้ นักพัฒนาซอฟต์แวร์ exiftool น่าจะเป็นผู้เชี่ยวชาญชั้นแนวหน้าในด้านสคีมาข้อมูลเมตาของไฟล์ และรู้ตำแหน่งที่เหมาะสมในการวางข้อมูลเมตาให้ดีกว่าที่เคยคาดหวัง ฉันใช้เวลามากมายในการทำให้สิ่งนี้มี 'ผลกระทบต่ำ' มากที่สุดเท่าที่จะเป็นไปได้ ในขณะที่ยังคงรักษาความสามารถในการติดตามสถานะของภาพที่ประมวลผลโดยไม่ต้องใช้ฐานข้อมูลกลางหรือที่เก็บข้อมูล เพื่อให้สามารถย้ายไฟล์ไปที่ใดก็ได้หรือเปลี่ยนชื่อโดยไม่ต้อง ปัญหา แต่คุณต้องแน่ใจว่ารูปภาพของคุณจะไม่ได้รับผลกระทบทางลบกับข้อมูลในฟิลด์เหล่านั้น
นี่เป็นกระบวนการทางเทคนิคที่เป็นธรรม หวังว่าทุกอย่างจะใช้งานได้ และฉันพยายามทำให้เป็นเช่นนั้น แต่ฉันมีความสามารถที่จำกัด (re:none) ในการทดสอบสิ่งนี้บนเครื่องหรือแพลตฟอร์มอื่นๆ เพื่อให้เกิดข้อบกพร่องจำนวนเท่าใดก็ได้ ฉันจะพยายามทำงานอย่างหนักร่วมกับผู้คนเพื่อแก้ไขปัญหา แต่คุณควรมีทักษะด้านเทคนิคในการแก้ไขปัญหาและปฏิบัติตามคำแนะนำ หากคุณไม่สามารถทำเช่นนั้นได้คุณควรดำเนินการด้วยความลังเล
Python 3.8 หรือสูงกว่า
โคโบลด์ซีพีพี
จำเป็นต้องมีโมเดลการมองเห็น แต่ถ้าคุณใช้ llmii-run.bat เพื่อเปิดมัน เมื่อเรียกใช้ครั้งแรก โมเดลจะดาวน์โหลด MiniCPM-V 2.6 Q4_K_M gguf และโปรเจ็กเตอร์ F16 จาก repo ของ Bartowski บนหน้ากอด หากคุณไม่ต้องการใช้สิ่งนั้น ให้เปิด llmii-no-kobold.bat แทน แล้วเปิด Koboldcpp.exe แล้วโหลดโมเดลอะไรก็ได้ที่คุณต้องการ
โคลนพื้นที่เก็บข้อมูลหรือดาวน์โหลดไฟล์ ZIP และแตกไฟล์
ติดตั้ง Python สำหรับ Windows
ดาวน์โหลด KoboldCPP.exe และวางไว้ในโฟลเดอร์ LlavaImageTagger หากไม่มีชื่อ KoboldCPP.exe ให้เปลี่ยนชื่อเป็น KoboldCPP.exe
เรียกใช้ llmii-run.bat
และรอ exiftool เพื่อติดตั้ง เมื่อเสร็จแล้วคุณต้องเริ่มไฟล์อีกครั้ง หากคุณเรียกมันจากหน้าต่างเทอร์มินัล คุณจะต้องปิดหน้าต่างแล้วเปิดใหม่อีกครั้ง จากนั้นจะสร้างสภาพแวดล้อมแบบหลามและดาวน์โหลดตุ้มน้ำหนักโมเดล การดาวน์โหลดมีขนาดค่อนข้างใหญ่ (6GB) และไม่มีแถบความคืบหน้า แต่ต้องทำเพียงครั้งเดียวเท่านั้น เมื่อเสร็จแล้ว KoboldCPP จะเริ่มทำงาน และหน้าต่างเทอร์มินัลตัวใดตัวหนึ่งจะแจ้งว่า Please connect to custom endpoint at http://localhost:5001
และจากนั้นก็พร้อม
โคลนพื้นที่เก็บข้อมูลหรือดาวน์โหลดไฟล์ ZIP และแตกไฟล์
ติดตั้ง Python 3.7 หรือสูงกว่าหากยังไม่ได้ติดตั้ง คุณสามารถใช้โฮมบรูว์:
brew install python
ติดตั้ง ExifTool:
brew install exiftool
ดาวน์โหลด KoboldCPP สำหรับ macOS และวางไว้ในโฟลเดอร์ LLMImageIndexer
เปิดเทอร์มินัลในโฟลเดอร์ LLMImageIndexer และเรียกใช้:
chmod +x koboldcpp-mac-arm64 ./llmii-run.sh
โคลนพื้นที่เก็บข้อมูลหรือดาวน์โหลดและแตกไฟล์ ZIP
ติดตั้ง Python 3.7 หรือสูงกว่าหากยังไม่ได้ติดตั้ง ใช้ตัวจัดการแพ็คเกจของการแจกจ่ายของคุณ เช่น บน Ubuntu:
sudo apt-get update sudo apt-get install python3 python3-pip
ติดตั้ง ExifTool บนอูบุนตู:
sudo apt-get install libimage-exiftool-perl
ดาวน์โหลดไบนารี KoboldCPP ที่เหมาะสมสำหรับการแจกจ่าย Linux ของคุณจาก KoboldCPP releases และวางไว้ในโฟลเดอร์ LLMImageIndexer
เปิดเทอร์มินัลในโฟลเดอร์ LLMImageIndexer และเรียกใช้:
chmod +x koboldcpp-linux-x64 ./llmii-run.sh
สำหรับทุกแพลตฟอร์ม สคริปต์จะตั้งค่าสภาพแวดล้อม Python ติดตั้งการขึ้นต่อกัน และดาวน์โหลดน้ำหนักโมเดลที่จำเป็น (รวม 6GB) การตั้งค่าเริ่มต้นนี้ดำเนินการเพียงครั้งเดียวและจะใช้เวลาไม่กี่นาทีขึ้นอยู่กับความเร็วในการดาวน์โหลดของคุณ
เปิด LLMImageIndexer GUI:
บน Windows: เรียกใช้ llmii-run.bat
บน macOS/Linux: เรียกใช้ python3 llmii-gui.py
ตรวจสอบให้แน่ใจว่า KoboldCPP กำลังทำงานอยู่ รอจนกว่าคุณจะเห็นข้อความต่อไปนี้ในหน้าต่าง KoboldCPP:
Please connect to custom endpoint at http://localhost:5001
กำหนดการตั้งค่าการจัดทำดัชนีใน GUI:
เลือกไดเร็กทอรีรูปภาพเป้าหมาย
ตั้งค่า URL ของ API (ค่าเริ่มต้น: http://localhost:5001)
เลือกแท็กข้อมูลเมตาที่จะสร้าง (คำหลัก คำอธิบาย)
ตั้งค่าตัวเลือกเพิ่มเติม (รวบรวมข้อมูลไดเรกทอรีย่อย ไฟล์สำรอง ฯลฯ)
คลิก "เรียกใช้ Image Indexer" เพื่อเริ่มกระบวนการ
ติดตามความคืบหน้าในพื้นที่เอาต์พุตของ GUI
ไดเรกทอรี : ไดเรกทอรีรูปภาพเป้าหมาย (รวมไดเรกทอรีย่อยตามค่าเริ่มต้น)
API URL : KoboldCPP API endpoint (เปลี่ยนหากทำงานบนเครื่องอื่น)
รหัสผ่าน API : ตั้งค่าหากจำเป็นโดยการตั้งค่า KoboldCPP ของคุณ
คำบรรยาย : ให้ LLM อธิบายรูปภาพและตั้งค่าเป็น XMP: คำอธิบาย (ใช้เวลาประมวลผลสองเท่า)
GenTokens : จำนวนโทเค็นสำหรับ LLM ที่จะสร้าง
ข้ามไฟล์ที่ประมวลผลไม่อยู่ในฐานข้อมูล : จะไม่พยายามประมวลผลไฟล์ด้วย UUID และคีย์เวิร์ดอีกครั้ง แม้ว่าจะไม่ได้อยู่ในฐานข้อมูล llmii.json
การประมวลผลซ้ำล้มเหลว : หากไฟล์ใดล้มเหลวในรอบที่แล้ว ระบบจะพยายามประมวลผลอีกครั้ง
ประมวลผลใหม่ทั้งหมด : ไฟล์ที่ประมวลผลแล้วจะถูกจัดเก็บไว้ในฐานข้อมูลและข้ามไปหากคุณดำเนินการต่อในภายหลัง การดำเนินการนี้จะดำเนินการทั้งหมดอีกครั้ง
อย่ารวบรวมข้อมูลไดเรกทอรีย่อย : ปิดการสแกนไดเรกทอรีย่อย
อย่าสำรองข้อมูลก่อนที่จะเขียน : ข้ามการสร้างไฟล์สำรองข้อมูล (หมายเหตุ: สิ่งนี้ใช้กับการประมวลผลและหลังการประมวลผล หากคุณเปิดใช้งานการประมวลผลภายหลังและปล่อยไว้โดยไม่ทำเครื่องหมายจะเป็นการสำรองข้อมูลครั้งที่สอง!)
โหมดแกล้งทำเป็น : จำลองการประมวลผลโดยไม่ต้องเขียนลงไฟล์หรือฐานข้อมูล
ข้ามการประมวลผล : หากคุณต้องการใช้การประมวลผลคำหลักและไม่ต้องการให้ตรวจสอบทุกภาพในไดเร็กทอรีก่อนเริ่มต้น ให้ทำเครื่องหมายในช่องนี้
คีย์เวิร์ด : เลือกล้างและเขียนคีย์เวิร์ดใหม่หรืออัปเดตคีย์เวิร์ดที่มีอยู่
คำหลักหลังประมวลผล : เก็บคำหลักไว้ตามเดิม ขยายคำหลักโดยใช้คำพ้องความหมายทั้งหมดกับคำหลักที่ตรงกัน หรือคำหลัก Dedepe โดยแทนที่คำพ้องความหมายที่ตรงกันด้วยคำพ้องความหมายที่พบบ่อยที่สุด ตัวเลือกเหล่านี้จะเกิดขึ้นหลังจากที่ตัวสร้างดัชนีเสร็จสิ้น เว้นแต่จะมีการทำเครื่องหมายที่ช่อง 'ข้ามการประมวลผล'
ปรึกษาวิกิสำหรับข้อมูลเพิ่มเติมและขั้นตอนการแก้ไขปัญหา
ยินดีบริจาค! โปรดส่งคำขอดึง
โครงการนี้ได้รับอนุญาตภายใต้ใบอนุญาต MIT - ดูรายละเอียดในไฟล์ใบอนุญาต
ExifTool สำหรับการจัดการข้อมูลเมตา
KoboldCPP สำหรับการประมวลผล AI ในพื้นที่
PyQt6 สำหรับกรอบงาน GUI
แก้ไข Busted JSON และ Json Repair เพื่อช่วยในการแยกวิเคราะห์ JSON ที่เสียหาย