File size: 831 Bytes
1a954a4
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
63d7a99
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
import base64
import io
from PIL import Image
from langchain_google_genai import ChatGoogleGenerativeAI
from langchain_core.messages import HumanMessage

llm = ChatGoogleGenerativeAI(model="gemini-2.5-flash", temperature=0.1)

def image_to_base64(image: Image.Image) -> str:
    buffered = io.BytesIO()
    image.save(buffered, format="JPEG")
    return base64.b64encode(buffered.getvalue()).decode("utf-8")

def chat_with_image(user_prompt: str, image: Image.Image) -> str:
    img_base64 = image_to_base64(image)
    message = [
        HumanMessage(content=[
            {"type": "text", "text": user_prompt},
            {
                "type": "media",
                "mime_type": "image/jpeg",
                "data": img_base64
            }
        ])
    ]
    response = llm.invoke(message)
    return response.content