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 |