Spaces:
Build error
Build error
File size: 1,232 Bytes
52c1998 |
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 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
from pydantic import BaseModel
from google import genai
from google.genai.types import HttpOptions
from dotenv import load_dotenv
import os
import json
import re
from vertexai.generative_models import Part, Image, GenerativeModel
from utils import setup_logger
import vertexai
logger = setup_logger(__name__)
load_dotenv()
project = os.getenv("GOOGLE_CLOUD_PROJECT")
location = os.getenv("GOOGLE_CLOUD_LOCATION")
vertexai.init(project=project, location=location)
class DocumentLLM(BaseModel):
def call_llm_api(self, prompt, image_path):
model: GenerativeModel = GenerativeModel(
model_name="gemini-2.0-flash-001")
text_part = Part.from_text(prompt)
image_part = Part.from_image(Image.load_from_file(image_path))
response = model.generate_content([
image_part,
text_part])
content = response.text
try:
content = json.loads(content)
except Exception as e:
logger.info(f"Json is being formatted")
content = re.sub(r"^```json\s*|\s*```$", "",
content, flags=re.MULTILINE)
# Parse JSON
content = json.loads(content)
return content
|