Seiring perkembangan teknologi berbasis AI, analisis gambar menjadi makin canggih, memungkinkan insight yang lebih dalam dari data visual. Dengan kemajuan dalam model machine learning, AI dapat memproses gambar yang diunggah, mengekstrak metadata, dan mendukung moderasi konten dalam skala besar. Alat analisis ini juga berkontribusi pada pemodelan prediktif untuk aplikasi seperti penetapan harga, pengoptimalan visual, dan pembuatan gambar, membuat alur kerja lebih hemat biaya dan efisien. Dengan mengintegrasikan pendekatan berbasis data, AI meningkatkan otomatisasi dan pengambilan keputusan, menawarkan kemungkinan baru untuk interpretasi visual yang cerdas.
Dengan kemajuan pesat dalam Computer Vision dan AI canggih, bisnis dan peneliti memanfaatkan teknologi berbasis gambar untuk berbagai aplikasi. Dari klasifikasi gambar dan OCR (pengenalan karakter optik) hingga segmentasi dan analisis video, alat yang didukung AI mengubah cara kita mengekstrak dan menganalisis informasi visual.
Dalam industri seperti media sosial, AI meningkatkan moderasi konten dengan menganalisis gambar pada tingkat piksel, memastikan kepatuhan dan meningkatkan keterlibatan. Bisnis juga dapat memanfaatkan Vision API untuk pemrosesan dokumen otomatis, mengubah file yang dipindai, excel, dan laporan menjadi data terstruktur. Aplikasi ini merampingkan alur kerja, meningkatkan efisiensi, dan memungkinkan organisasi mengekstrak insight yang berarti dari dataset visual berskala besar.
Contoh penggunaan ini menyoroti peran yang berkembang dari analisis gambar yang didukung AI di seluruh industri. aDalam tutorial ini, kami berfokus pada penerapan kemampuan ini ke presentasi PowerPoint, memungkinkan tanya jawab interaktif pada teks dan gambar menggunakan visi komputer canggih dan model AI
Model bahasa besar (LLM) telah merevolusi machine learning dengan memungkinkan insight cerdas dari kumpulan data teks tidak terstruktur yang luas. Namun, LLM tradisional sering berjuang dengan analisis gambar, sehingga sulit untuk mengekstrak insight dari bagan, diagram, dan elemen visual dalam presentasi.
Model Bahasa Besar (LLM)Â IBM Graniteâ„¢ Vision 3.2 menjembatani kesenjangan ini dengan mengintegrasikan alat AI dengan algoritma deteksi objek canggih, memungkinkan pengguna untuk mengotomatiskan analisis multimodal. Tutorial ini menunjukkan cara mengoptimalkan alur kerja Anda dengan menggunakan AI untuk mengekstrak dan menganalisis teks dan gambar dari file PowerPoint (.pptx), yang memungkinkan sesi tanya jawab interaktif untuk mendapatkan insight yang lebih mendalam dari presentasi.
Dalam tutorial ini, Anda akan belajar membangun sistem berbasis AI yang mampu menjawab pertanyaan pengguna real-time dari slide PowerPoint dengan menggunakan teks dan gambar sebagai konteks. Tutorial ini akan memandu Anda melalui:
Pemrosesan PowerPoint: Ekstrak teks dan gambar dari file .pptx untuk analisis berbasis AI.
Tanya Jawab berbasis teks: Gunakan Granite Vision untuk menghasilkan jawaban berdasarkan teks slide yang diekstraksi.
Tanya Jawab berbasis gambar: Minta AI untuk menganalisis gambar, bagan, dan diagram dari slide.
Formulasi pertanyaan yang dioptimalkan: Pelajari cara menyusun pertanyaan yang efektif untuk tanggapan AI yang akurat dan relevan.
Tutorial ini memanfaatkan teknologi AI mutakhir, termasuk:
1. IBM Granite Vision: Model bahasa visi (VLM) andal yang memproses teks dan gambar.
2. Python-PPTX: Pustaka untuk mengekstrak teks dan gambar dari file PowerPoint.
3. Transformers: Kerangka kerja untuk memproses input model AI secara efisien.
Pada akhir tutorial ini, Anda akan:
1. Ekstrak dan proses konten PowerPoint (teks dan gambar).
2. Gunakan model Granite vision 3.2 untuk Tanya Jawab berbasis AI pada konten slide.
3. Ajukan pertanyaan mendalam tentang teks dan gambar kepada AI.
4. Tingkatkan interaksi pengguna dengan presentasi dengan menggunakan penjelasan yang didukung AI.
Tutorial ini dirancang untuk pengembang AI, peneliti, pembuat konten, dan profesional bisnis yang ingin meningkatkan presentasi mereka dengan insight berbasis AI.
Anda memerlukan akun IBM Cloud untuk membuat proyek watsonx.ai.
Meskipun terdapat pilihan beberapa alat, tutorial ini akan memandu Anda untuk menyiapkan akun IBM menggunakan Jupyter Notebook.
1. Masuk ke watsonx.ai menggunakan akun IBM Cloud Anda.
2. Buat proyek watsonx.ai. Anda bisa mendapatkan ID proyek dari dalam proyek Anda. Klik tab Kelola. Kemudian, salin ID proyek dari bagian Detail di halaman Umum. Anda memerlukan ID ini untuk tutorial ini.
3. Buat Jupyter Notebook.
4. Unggah file PPTX sebagai aset di watsonx.ai
Langkah ini akan membuka lingkungan notebook tempat Anda dapat menyalin kode dari tutorial ini. Sebagai alternatif, Anda dapat mengunduh notebook ini ke sistem lokal Anda dan mengunggahnya ke proyek watsonx.ai Anda sebagai aset. Tutorial ini juga tersedia di GitHub.
Catatan: Tutorial ini membutuhkan infrastruktur GPU untuk menjalankan kodenya, jadi disarankan untuk menggunakan watsonx.ai seperti yang diilustrasikan dalam tutorial ini.
Sebelum kita mulai mengekstrak dan memproses konten PowerPoint, kita perlu menginstal pustaka Python yang diperlukan:
transformer: Menyediakan akses ke IBM Granite Vision dan model AI lainnya.
torch: Kerangka kerja pembelajaran mendalam yang diperlukan untuk menjalankan model secara efisien.
python-pptx: Pustaka untuk mengekstrak teks dan gambar dari file PowerPoint (.pptx).
Jalankan perintah berikut untuk menginstal dan meningkatkan paket ini:
Pada langkah ini, kami mengimpor pustaka yang diperlukan untuk memproses file PowerPoint, menangani gambar, dan berinteraksi dengan model IBM Granite Vision:
Pada langkah ini, kami membuat koneksi ke IBM Cloud Object Storage untuk mengakses dan mengambil file PowerPoint yang disimpan di cloud.
Anda dapat memanfaatkan dukungan python, yang disediakan melalui fork pustaka boto3 dengan fitur untuk memaksimalkan IBM Cloud® Object Storage. Lihat dokumentasi resmi untuk mendapatkan kredensial ini.
ibm_boto3.client: Membuat klien untuk berinteraksi dengan IBM Cloud Object Storage.
ibm_api_key_id: Kunci API IBM Cloud Anda untuk autentikasi.
ibm_auth_endpoint: Titik akhir autentikasi untuk IBM Cloud.
endpoint_url: Titik akhir penyimpanan objek cloud (COS) tertentu.
Catatan: Ketika Anda mengunggah file sebagai aset di watsonx.ai, file tersebut secara otomatis disimpan di IBM Cloud Object Storage. Ketika Anda kemudian mengimpor file ke Jupyter Notebook, watsonx.ai menghasilkan dan menyisipkan kredensial yang diperlukan (kunci API, titik akhir otentikasi, dan titik akhir penyimpanan) ke notebook Anda. Kredensial IBM Cloud Object Storage yang disediakan memungkinkan akses aman untuk mengambil file dari penyimpanan, memungkinkan integrasi yang mulus antara Aset watsonx.ai dan lingkungan notebook untuk pemrosesan lebih lanjut.
Dengan mengonfigurasi koneksi ini, kami dapat dengan lancar mengimpor dan memproses presentasi PowerPoint yang disimpan di IBM Cloud untuk analisis didukung AI
Pada langkah ini, kami menentukan bucket IBM Cloud Object Storage dan detail file untuk menemukan dan mengambil presentasi PowerPoint (.pptx) untuk diproses.
Lihat dokumen resmi ini untuk mendapatkan detail konfigurasi bucket melalui IBM Cloud UI.
bucket: Nama bucket IBM Cloud Object Storage tempat file disimpan.
object_key: Nama file yang sama persis dari presentasi PowerPoint yang akan diakses
Pada langkah ini, kami mengunduh file PowerPoint (.pptx) dari IBM Cloud Object Storage untuk memprosesnya secara lokal.
cos_client.get_object (): Mengambil file dari bucket dan kunci objek yang ditentukan.
streaming_body.read(): Membaca konten file ke dalam aliran byte untuk diproses lebih lanjut.
Pada langkah ini, kami menyimpan file PowerPoint yang diunduh (.pptx) secara lokal sehingga dapat diproses.
pptx_path: Mendefinisikan nama file lokal tempat presentasi akan disimpan.
open (pptx_path, 'wb'): Membuka file dalam mode write-binary untuk menyimpan byte yang diambil.
f.write(pptx_bytes): Menulis konten file yang diunduh ke dalam file .pptx yang baru dibuat.
Pada langkah ini, kami mencetak pesan konfirmasi untuk memastikan bahwa file PowerPoint telah berhasil disimpan. Fungsi `print` menampilkan jalur file di mana file .pptx disimpan secara lokal.
Pada langkah ini, kami mendefinisikan fungsi untuk memproses file PowerPoint (.pptx) dan mengekstrak isinya:
slide_texts: Menyimpan teks yang diekstrak dari setiap slide.
slide_images: Menyimpan gambar yang diekstraksi sebagai objek gambar Python imaging library (PIL), bersama dengan nomor slide yang sesuai.
Mengulang slide untuk mengekstrak teks dari bentuk yang berisi konten tekstual dan gambar yang disematkan di dalam slide.
Fungsi ini memisahkan teks dan gambar dari PPT, memungkinkan agen obrolan untuk dengan mudah menjawab pertanyaan pengguna berdasarkan konten yang diekstraksi.
Pada langkah ini, kita memanggil fungsi untuk mengekstrak teks dan gambar dari file PowerPoint yang disimpan.
pptx_path: Menentukan jalur lokal dari file PowerPoint yang diunduh.
extract_text_and_images_from_pptx(pptx_path): Mengekstrak teks dan gambar dari slide.
slide_texts: Menyimpan teks yang diekstrak dari semua slide.
slide_images: Menyimpan gambar yang diekstrak.
Pada langkah ini, kami mencetak teks yang diekstrak dari setiap slide untuk memverifikasi bahwa konten PowerPoint telah diproses dengan benar.
enumerasi (slide_texter): Mengulangi teks yang diekstraksi, mengaitkan masing-masing dengan nomor slide masing-masing.
Separator ('-' * 40): Membantu membedakan konten secara visual dari slide yang berbeda.
Pada langkah ini, kami mengkonfirmasi dan memvisualisasikan gambar yang diekstraksi dari slide PowerPoint.
len: Menghitung jumlah total gambar yang diekstraksi.
img.show(): Membuka setiap gambar yang diekstrak untuk peninjauan.
Anda dapat mengganti `.show()` dengan `.save('filename.png')` untuk menyimpan gambar secara lokal.
Pada langkah ini, kami menginisialisasi mobel IBM Granite-Vision-3.2-2B untuk pemrosesan teks dan gambar yang didukung AI.
MODEL_NAME menentukan model Granite Vision yang telah dilatih sebelumnya untuk digunakan dan torch.cuda.is_available () memeriksa apakah GPU (CUDA) tersedia untuk pemrosesan yang lebih cepat; jika tidak, akan di-default ke CPU.
Pada langkah ini, kami memuat model IBM Granite Vision dan prosesor yang sesuai untuk menangani input teks dan gambar.
AutoProcessor.from_pretrained(MODEL_NAME, trust_remote_code = True): Memuat prosesor yang telah dilatih sebelumnya untuk memformat input (teks dan gambar) untuk model.
AutoModelForVision2Seq.from_pretrained(MODEL_NAME, trust_remote_code=True, ignore_mismatched_sizes=True).to(device): Memuat model Granite Vision dan mentransfernya ke perangkat yang tersedia (GPU atau CPU).
di mana,
trust_remote_code=True: Memastikan kompatibilitas dengan implementasi model kustom.
ignore_mismatched_sizes=true: Mencegah kesalahan jika ada ketidakkonsistenan kecil dalam ukuran model.
Catatan: Ini mungkin memakan waktu beberapa saat untuk memuat.
Pada langkah ini, kami membuat fungsi obrolan yang memungkinkan pengguna untuk mengajukan pertanyaan berdasarkan teks yang diekstrak dari slide PowerPoint.
Cara kerjanya
Pada langkah ini, kami membuat fungsi obrolan yang memungkinkan pengguna untuk mengajukan pertanyaan tentang gambar individu yang diekstrak dari slide PowerPoint.
Cara kerjanya
Pada langkah ini, kita memanggil fungsi chat_with_text, memungkinkan pengguna untuk mengajukan pertanyaan tentang teks yang diekstrak dari slide PowerPoint.
Cara kerjanya
OUTPUT
Pertanyaan: Apakah integrasi merupakan keunggulan kompetitif bagi organisasi Anda?
<|assistant|>
Ya, integrasi adalah keunggulan kompetitif bagi organisasi Anda. Ini membantu Anda pindah lebih cepat dan mengatasi tantangan, dan dapat menyebabkan peningkatan biaya, inefisiensi, risiko keamanan, dan pengalaman pengguna yang buruk, yang pada akhirnya membahayakan daya saing dan kemampuan organisasi untuk berkembang dalam lingkungan bisnis yang berkembang pesat.
Ajukan pertanyaan berdasarkan teks presentasi (atau ketik 'keluar' untuk berhenti): keluar
Ketika pengguna bertanya, " Apakah integrasi merupakan keunggulan kompetitif bagi organisasi Anda? ", model Granite Vision memproses kueri menggunakan teks slide PowerPoint yang diekstraksi dan menghasilkan respons.
Model mengenali "integrasi" sebagai konsep bisnis dan memberikan jawaban terstruktur dari `slide nomor 7` yang menjelaskan manfaat dan risikonya. Model menyoroti bahwa integrasi meningkatkan kecepatan dan pemecahan masalah tetapi juga mencatat potensi kerugian seperti peningkatan biaya, inefisiensi, risiko keamanan dan pengalaman pengguna yang buruk jika tidak dikelola secara efektif.
Respons ini menunjukkan kemampuan model untuk menafsirkan teks slide yang diekstraksi dan menghasilkan jawaban yang relevan secara kontekstual dan seimbang
Pada langkah ini, kita memanggil fungsi chat_with_images, yang memungkinkan pengguna untuk mengajukan pertanyaan tentang gambar yang diekstrak dari slide PowerPoint.
Cara kerjanya
OUTPUT
Ajukan pertanyaan berdasarkan gambar presentasi (atau ketik 'keluar' untuk berhenti): gambar apa ini?
Masukkan nomor slide (1 hingga 41) untuk bertanya tentang gambarnya: 2
Respons Model: <|system|>
Obrolan antara pengguna yang ingin tahu dan asisten kecerdasan buatan. Asisten memberikan jawaban yang bermanfaat, terperinci, dan sopan untuk pertanyaan pengguna.
<|user|>
gambar apa ini?
<|assistant|>
model 3d
Ajukan pertanyaan berdasarkan gambar presentasi (atau ketik 'keluar' untuk berhenti): jelaskan gambar ini
Masukkan nomor slide (1 hingga 41) untuk bertanya tentang gambarnya: 2
Respons Model: <|system|>
Obrolan antara pengguna yang ingin tahu dan asisten kecerdasan buatan. Asisten memberikan jawaban yang bermanfaat, terperinci, dan sopan untuk pertanyaan pengguna.
<|user|>
jelaskan gambar ini
<|assistant|>
gambar adalah model 3d dari sebuah kubus
Ajukan pertanyaan berdasarkan gambar presentasi (atau ketik 'keluar' untuk berhenti): dapatkah Anda menjelaskan bagan ini?
Masukkan nomor slide (1 hingga 41) untuk bertanya tentang gambarnya: 1
Respons Model: <|system|>
Obrolan antara pengguna yang ingin tahu dan asisten kecerdasan buatan. Asisten memberikan jawaban yang bermanfaat, terperinci, dan sopan untuk pertanyaan pengguna.
<|user|>
bisakah Anda menjelaskan bagan ini?
<|assistant|>
Berikut ini adalah plot bar berjudul Kematangan perkembangan pasar cloud perusahaan dari generasi ke-1 hingga ke-4. Sumbu x mengukur Perkembangan Generasi sedangkan sumbu y memplot perkembangan Kematangan selama bertahun-tahun. Bagan menunjukkan bahwa seiring kemajuan generasi, kematangan pasar cloud perusahaan meningkat.
Ajukan pertanyaan berdasarkan gambar presentasi (atau ketik 'keluar' untuk berhenti): keluar
Ketika pengguna mengajukan pertanyaan terkait gambar, model Granite Vision memproses gambar yang dipilih dan menghasilkan tanggapan berdasarkan pemahamannya tentang konten visual.
Untuk pertanyaan "Gambar apakah ini?" (slide 2), model mengidentifikasi gambar tersebut sebagai "model 3D" tetapi memberikan deskripsi yang minim.
Untuk "Jelaskan gambar ini" (slide 2), model menyempurnakan responsnya, mengidentifikasikannya sebagai "model 3D kubus."
Untuk "Bisakah Anda menjelaskan grafik ini?" (slide 1), model memberikan deskripsi terperinci tentang diagram batang, menjelaskan judul, sumbu x, sumbu y, dan tren keseluruhan, menunjukkan bagaimana kematangan cloud perusahaan berkembang lintas generasi.
Langkah ini memungkinkan pengguna untuk berinteraksi dengan elemen visual, seperti grafik, diagram, dan infografis, dengan memanfaatkan model IBM Granite Vision untuk analisis dan penjelasan cerdas
Tutorial ini menunjukkan kemampuan IBM Granite Vision untuk menafsirkan gambar.