morphik-core/examples/colpali.py

28 lines
899 B
Python
Raw Normal View History

2025-02-28 12:16:06 -05:00
import io
from databridge import DataBridge
import os
from dotenv import load_dotenv
from PIL import Image
load_dotenv()
## Connect to the DataBridge instance
2025-03-20 22:54:18 -04:00
db = DataBridge(os.getenv("DATABRIDGE_URI"), timeout=10000, is_local=True)
2025-02-28 12:16:06 -05:00
## Ingestion Pathway
2025-03-20 22:54:18 -04:00
db.ingest_file("examples/assets/colpali_example.pdf", use_colpali=True)
2025-02-28 12:16:06 -05:00
2025-03-20 22:54:18 -04:00
## Retrieving sources
chunks = db.retrieve_chunks("At what frequency do we achieve the highest Image Rejection Ratio?", use_colpali=True, k=3)
2025-02-28 12:16:06 -05:00
for chunk in chunks:
if isinstance(chunk.content, Image.Image):
# image chunks will automatically be parsed as PIL.Image.Image objects
chunk.content.show()
else:
print(chunk.content)
# You can also directly query a VLM as defined in `databridge.toml`
response = db.query("At what frequency do we achieve the highest Image Rejection Ratio?", use_colpali=True, k=3)
print(response.completion)