Rumah >Peranti teknologi >AI >Llama 3.2 90b Tutorial: Aplikasi Tajuk Imej dengan Streamlit & Groq
Meta akhirnya menambah multimodality ke ekosistem Llama dengan memperkenalkan model penglihatan Llama 3.2 11b & 90B. Kedua -dua model ini cemerlang dalam memproses kedua -dua teks dan imej, yang menyebabkan saya cuba membina projek menggunakan versi 90B.
Dalam artikel ini, saya akan berkongsi kerja saya dan membimbing anda melalui membina aplikasi kapsyen imej interaktif menggunakan Streamlit untuk hujung depan dan Llama 3.2 90b sebagai enjin untuk menghasilkan kapsyen.
mengapa menggunakan llama 3.2 90b untuk aplikasi kapsyen imejIa menonjol dengan keupayaannya untuk menangani tugas -tugas kompleks seperti penalaran visual, pengiktirafan imej, dan imej imej. Ia telah dilatih pada dataset besar 6 bilion pasangan teks imej.
Llama 3.2-Vision adalah pilihan yang baik untuk aplikasi kami kerana ia menyokong pelbagai bahasa untuk tugas teks, walaupun bahasa Inggeris adalah tumpuan utamanya untuk aplikasi yang berkaitan dengan imej. Ciri-ciri utamanya menjadikannya pilihan yang sangat baik untuk tugas-tugas seperti menjawab soalan visual (VQA), dokumen VQA, dan pengambilan teks imej, dengan imej imej menjadi salah satu aplikasi yang menonjol.
mari kita meneroka bagaimana keupayaan ini diterjemahkan ke dalam aplikasi dunia nyata seperti kapsyen imej.
Paip Kapsyen Imej
Secara tradisional, kapsyen imej telah memerlukan saluran paip yang kompleks, sering melibatkan peringkat berasingan untuk pemprosesan imej dan penjanaan bahasa. Pendekatan standard melibatkan tiga langkah utama: preprocessing imej, pengekstrakan ciri, dan penjanaan kapsyen.
Preprocessing imej: Imej biasanya diubahsuai, dinormalisasi, dan kadang -kadang dipotong untuk memastikan mereka memenuhi spesifikasi input model.
Dengan membenamkan lapisan silang silang dalam seni bina, Llama 3.2 90b membolehkan pengguna menggambarkan imej dengan hanya mendorong model-menghilangkan keperluan untuk tahap pemprosesan yang berasingan. Kesederhanaan ini membolehkan pencapaian imej yang lebih mudah dan cekap, di mana satu petikan dapat menghasilkan kapsyen semulajadi, deskriptif yang secara efektif menangkap intipati imej.
Untuk membawa kuasa Llama 3.2 90b ke kehidupan, kami akan membina aplikasi kapsyen imej yang mudah tetapi berkesan menggunakan Streamlit untuk hujung depan dan groq untuk menghasilkan kapsyen.
Aplikasi ini akan membolehkan pengguna memuat naik imej dan menerima kapsyen deskriptif yang dihasilkan oleh model dengan hanya dua klik. Persediaan ini mesra pengguna dan memerlukan pengetahuan pengekodan minimum untuk bermula.
Permohonan kami akan merangkumi ciri -ciri berikut:
API Groq akan bertindak sebagai jambatan antara imej yang dimuat naik pengguna dan model Llama 3.2-Vision. Sekiranya anda mahu mengikuti dan kod dengan saya, pastikan anda terlebih dahulu:
mengimport perpustakaan untuk pembangunan aplikasi web (STREAMLIT), interaksi AI (Groq), pengendalian imej (BASE64), dan Operasi Fail (OS, JSON).
import streamlit as st from groq import Groq import base64 import os import json # Set up Groq API Key os.environ['GROQ_API_KEY'] = json.load(open('credentials.json', 'r'))['groq_token'] # Function to encode the image def encode_image(image_path): with open(image_path, "rb") as image_file: return base64.b64encode(image_file.read()).decode('utf-8')
import streamlit as st from groq import Groq import base64 import os import json # Set up Groq API Key os.environ['GROQ_API_KEY'] = json.load(open('credentials.json', 'r'))['groq_token'] # Function to encode the image def encode_image(image_path): with open(image_path, "rb") as image_file: return base64.b64encode(image_file.read()).decode('utf-8')
Akhirnya, kami menjana aplikasi web interaktif kami melalui StreamLit:
# Function to generate caption def generate_caption(uploaded_image): base64_image = base64.b64encode(uploaded_image.read()).decode('utf-8') client = Groq() chat_completion = client.chat.completions.create( messages=[ { "role": "user", "content": [ {"type": "text", "text": "What's in this image?"}, { "type": "image_url", "image_url": { "url": f"data:image/jpeg;base64,{base64_image}", }, }, ], } ], model="llama-3.2-90b-vision-preview", ) return chat_completion.choices[0].message.content
Aplikasi Streamlit ini menyediakan antara muka mesra pengguna untuk penukaran imej. Inilah pecahan fungsinya:
Coretan di bawah adalah kod dalam tindakan di mana imej Eddie Hall dimuat naik untuk menghasilkan kapsyen. Menghairankan ia diekstrak walaupun maklumat yang tidak kelihatan seperti "lelaki terkuat" dan lain -lain
Sebagai jurutera AI, saya melihat potensi besar dalam alat seperti ini. Mereka boleh membuat teknologi lebih mudah diakses, membantu orang terlibat lebih baik dengan kandungan, dan mengautomasikan proses dengan cara yang lebih bijak.
Untuk meneruskan pembelajaran anda di llama, saya cadangkan sumber -sumber berikut:
Atas ialah kandungan terperinci Llama 3.2 90b Tutorial: Aplikasi Tajuk Imej dengan Streamlit & Groq. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!