Spaces:
Runtime error
Runtime error
| """Global context builder: vector retrieval across stored chunks.""" | |
| from uuid import UUID | |
| from typing import Optional | |
| from sqlalchemy.ext.asyncio import AsyncSession | |
| from app.services.retrieval import search_chunks | |
| from app.database.repositories import assets as asset_repo | |
| async def build_global_context( | |
| session: AsyncSession, | |
| *, | |
| query: str, | |
| document_id: Optional[UUID] = None, | |
| limit: int = 5, | |
| ) -> dict: | |
| """Build context using vector retrieval. Also surfaces any image assets | |
| attached to the returned chunks so the orchestrator can pass them to the | |
| multimodal model (and offer them as embeddable inline images).""" | |
| results = await search_chunks( | |
| session, query, limit=limit, document_id=document_id | |
| ) | |
| chunk_ids = [r["id"] for r in results if r.get("id")] | |
| assets = await asset_repo.get_assets_for_chunks(session, chunk_ids) if chunk_ids else [] | |
| return { | |
| "chunks": results, | |
| "assets": assets, | |
| "query": query, | |
| } | |