Skip to content

XAIFilesClient

autogen.beta.config.xai.files.XAIFilesClient #

XAIFilesClient(config)

Files API client for xAI.

Source code in autogen/beta/config/xai/files.py
def __init__(self, config: "XAIConfig") -> None:
    self._client = AsyncClient(
        api_key=config.api_key,
        api_host=config.api_host,
        timeout=config.timeout,
        metadata=config.metadata,
        channel_options=config.channel_options,
    )

upload async #

upload(data, filename, purpose=None)
Source code in autogen/beta/config/xai/files.py
async def upload(self, data: bytes, filename: str, purpose: str | None = None) -> UploadedFile:
    result = await self._client.files.upload(data, filename=filename)
    return UploadedFile(
        file_id=result.id,
        filename=result.filename,
        provider=FileProvider.XAI,
        bytes_count=result.size,
        purpose=purpose,
        created_at=_created_at_to_float(result.created_at),
    )

read async #

read(file_id)
Source code in autogen/beta/config/xai/files.py
async def read(self, file_id: str) -> FileContent:
    metadata = await self._client.files.get(file_id)
    data = await self._client.files.content(file_id)
    return FileContent(
        name=metadata.filename,
        data=data,
    )

list async #

list()
Source code in autogen/beta/config/xai/files.py
async def list(self) -> list[UploadedFile]:
    result = await self._client.files.list()
    return [
        UploadedFile(
            file_id=f.id,
            filename=f.filename,
            provider=FileProvider.XAI,
            bytes_count=f.size,
            created_at=_created_at_to_float(f.created_at),
        )
        for f in result.data
    ]

delete async #

delete(file_id)
Source code in autogen/beta/config/xai/files.py
async def delete(self, file_id: str) -> None:
    await self._client.files.delete(file_id)