from svc_infra.loaders.models import LoadedContentContent loaded from a remote or local source. This is the standard output format for all loaders. It's designed to be compatible with ai-infra's Retriever.add_text() method.
content: The text content that was loaded. metadata: Flexible metadata dict. Loaders add source-specific metadata (e.g., repo, path, branch for GitHub). Users can add custom metadata via the loader's `extra_metadata` parameter. source: Source identifier (URL, file path, GitHub URI, etc.). Format varies by loader: - GitHubLoader: "github://owner/repo/path" - URLLoader: "https://example.com/page" - S3Loader: "s3://bucket/key" content_type: MIME type or content category (e.g., "text/markdown", "text/x-python", "text/html"). None if unknown. encoding: Character encoding (default: utf-8).
>>> content = LoadedContent( ... content="# Authentication\n\nThis guide covers...", ... source="github://nfraxlab/svc-infra/docs/auth.md", ... content_type="text/markdown", ... metadata={"repo": "nfraxlab/svc-infra", "path": "docs/auth.md"}, ... ) >>> >>> # Use with ai-infra Retriever >>> retriever.add_text(content.content, metadata=content.metadata)