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