my-image-chatbot / chatbot.py
Keyurjotaniya007's picture
Update chatbot.py
63d7a99 verified
raw
history blame
831 Bytes
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