Meta는 Llama 3.2 11B & 90B 비전 모델을 도입하여 LLAMA 생태계에 다중 분해율을 추가했습니다. 이 두 모델은 텍스트와 이미지를 모두 처리 할 때 탁월하여 90b 버전을 사용하여 프로젝트를 구축했습니다.
이 기사에서는 저의 작품을 공유하고 프론트 엔드 용 Streamlit을 사용하여 대화식 이미지 캡션 앱을 구축하고 캡션을 생성하기위한 엔진으로 LLAMA 3.2 90B를 구축하도록 안내합니다.
이미지 캡션 앱에 llama 3.2 90b를 사용하는 이유
시각적 추론, 이미지 인식 및 이미지 캡션과 같은 복잡한 작업을 다루는 능력으로 눈에.니다. 60 억 이미지 텍스트 쌍의 대규모 데이터 세트에 대해 교육을 받았습니다.
이러한 기능이 이미지 캡션과 같은 실제 응용 프로그램으로 어떻게 해석되는지 살펴 보겠습니다.
이미지 캡션 파이프 라인
이미지 캡션은 이미지의 내용을 요약 한 설명 텍스트를 생성하는 자동화 된 프로세스입니다. 그것은 컴퓨터 비전과 자연어 처리를 결합하여 언어로 시각적 세부 사항을 해석하고 표현합니다.
전통적으로 이미지 캡션에는 복잡한 파이프 라인이 필요했으며, 종종 이미지 처리 및 언어 생성을위한 별도의 단계가 포함되어 있습니다. 표준 접근법에는 이미지 전처리, 기능 추출 및 캡션 생성의 세 가지 주요 단계가 포함됩니다.
이미지 전처리 : 이미지는 일반적으로 모델의 입력 사양을 충족시키기 위해 크기가 조정, 정규화 및 때때로 자르고 있습니다.
<:> 특징 추출 : 시각적 기능을 추출하여 이미지 내에서 객체, 장면 또는 관련 세부 사항을 식별합니다. 대부분의 모델에서는 이미지를 해석하기 위해 별도의 비전 모델이 필요하며 언어 모델이 이해할 수있는 구조화 된 데이터를 생성합니다.
<:> 캡션 생성 :이 추출 된 특징들은 언어 모델에 의해 일관된 설명을 만들기 위해 사용하여 시각적 데이터에서 식별 된 객체, 컨텍스트 및 관계를 결합합니다.
이미지 캡션 앱의 개요
Llama 3.2 90b의 힘을 생생하게하기 위해, 우리는 프론트 엔드 용 Sleamlit 및 캡션을 생성하기위한 Groq를 사용하여 간단하면서도 효과적인 이미지 캡션 응용 프로그램을 구축 할 것입니다.
.
앱을 사용하면 사용자가 이미지를 업로드하고 단 2 번의 클릭으로 모델에서 생성 한 설명 캡션을 수신 할 수 있습니다. 이 설정은 사용자 친화적이며 시작하려면 최소한의 코딩 지식이 필요합니다.
우리의 응용 프로그램에는 다음과 같은 기능이 포함됩니다
제목 : 앱의 목적을 설정하기 위해 눈에 띄게 표시된 제목 Llama Captioner.
<: :> 업로드 버튼 : 사용자 장치에서 이미지를 업로드하는 인터페이스.
<: :> 버튼 생성 : 캡션 생성 프로세스를 시작하는 버튼.
캡션 출력 : 앱이 인터페이스에 생성 된 캡션을 직접 표시합니다.
LLAMA 3.2 90B 앱 코드 구현
Groq API는 사용자의 업로드 된 이미지와 LLAMA 3.2 vision 모델 사이의 브리지 역할을합니다. 나와 함께 따르고 코딩하고 싶다면 먼저 확인하십시오 :
Groq 콘솔에 가입하여 Groq API 키를 얻으십시오.
API 키를 Credentials.json - 파일에 저장하여 액세스를 단순화합니다.
설치 및 구성을 위해 Groq의 QuickStart 안내서를 따르십시오
아래 의이 파이썬 코드 스 니펫 아래는 Groq API와 상호 작용하기 위해 간소화 된 응용 프로그램을 설정합니다. 포함 : -
웹 앱 개발 (간소), AI 상호 작용 (GROQ), 이미지 처리 (Base64) 및 파일 작업 (OS, JSON)을 위해 라이브러리를 가져옵니다.
는 강화 된 보안을 위해 별도의 JSON 파일에서 Groq API 키를 읽습니다.
효율적인 전송 및 처리를 위해 이미지를 Base64 형식으로 인코딩하는 함수를 정의합니다.
-
우리는 Groq API를 사용하여 업로드 된 이미지에 대한 텍스트 설명을 생성하도록 설계된 아래 함수를 작성하여 계속 이동합니다. 다음은 기능의 고장입니다
이미지 인코딩 : 업로드 된 이미지는 Base64 인코딩 문자열로 변환됩니다. 이 형식은 API 요청 내에서 이미지 데이터를 쉽게 전송할 수 있습니다.
Groq API 상호 작용 : Groq 클라이언트는 Groq 서비스와의 커뮤니케이션을 용이하게하기 위해 인스턴스화됩니다. 채팅 완료 요청은 다음과 같이 구성됩니다
-
사용자 프롬프트 : "이 이미지에 무엇이 있습니까?"
Base64는 데이터 URI에 내장 된 인코딩 된 이미지 데이터입니다. LLAMA-3.2-90B-VISION-PREVIEW 모델은 이미지를 처리하고 텍스트 설명을 생성하도록 지정됩니다.
-
캡션 추출 : 생성 된 캡션은 GROQ API 응답에서 추출됩니다. 캡션이 포함 된 첫 번째 선택의 메시지 내용이 반환됩니다.
-
마지막으로, 우리는 간소화를 통해 대화식 웹 앱을 생성합니다.
최종 간소화 앱 : llama 캡션
이 유선 애플리케이션은 이미지 캡션을위한 사용자 친화적 인 인터페이스를 제공합니다. 다음은 기능의 고장입니다
제목 및 파일 업 로더 :
앱에는 "llama captioner"라는 제목이 표시됩니다
파일 업 로더 구성 요소를 통해 사용자는 이미지 파일 (jpg, jpeg 또는 png)을 선택할 수 있습니다.
-
이미지 디스플레이 :
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')
로그인 후 복사
이미지가 업로드되면 앱은 st.Image 함수를 사용하여 표시합니다.
<:> 캡션 생성 :
# 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
로그인 후 복사
a 버튼,"캡션 생성 ", 캡션 생성 프로세스를 트리거합니다
클릭하면 스피너는 캡션이 생성되고 있음을 나타냅니다.
<_> generate_caption 함수는 업로드 된 이미지를 처리하고 캡션을 얻기 위해 호출됩니다.
성공할 때 성공 메시지가 표시되고 생성 된 캡션이 표시됩니다.
아래 스 니펫은 캡션을 생성하기 위해 Eddie Hall의 이미지가 업로드 된 코드입니다. 놀랍게도 그것은“가장 강한 사람”등처럼 명확하게 보이지 않는 정보조차 추출했습니다.
결론
LLAMA 3.2 90B 및 Streamlit을 사용하여 이미지 캡션 앱을 구축하면 Advanced AI가 어려운 작업을 더 쉽게 만들 수있는 방법을 보여줍니다. 이 프로젝트는 강력한 모델과 간단한 인터페이스를 결합하여 직관적이고 사용하기 쉬운 도구를 만듭니다.
AI 엔지니어로서 이와 같은 도구에서 큰 잠재력이 보입니다. 그들은 기술을보다 쉽게 접근 할 수있게하고 사람들이 콘텐츠에 더 잘 참여하도록 돕고, 더 똑똑한 방식으로 프로세스를 자동화 할 수 있습니다. - .
라마에 대한 학습을 계속하려면 다음 리소스를 추천합니다.
Torchchat
미세 조정 라마 3.2 및 로컬 사용 : 단계별 안내서
위 내용은 llama 3.2 90b 튜토리얼 : leamlit & groq를 가진 이미지 캡션 앱의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!