Chat Sessions (🧪Beta)
albert.collections.chat_sessions.ChatSessionCollection
Async collection for managing chat sessions (🧪Beta).
Beta Feature!
Please do not use in production or without explicit guidance from Albert. You might otherwise have a bad experience. This feature currently falls outside of the Albert support contract, but we'd love your feedback!
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
session
|
AsyncAlbertSession
|
The Albert async session instance. |
required |
Attributes:
| Name | Type | Description |
|---|---|---|
base_path |
str
|
The base URL for chat session API requests. |
Methods:
| Name | Description |
|---|---|
create |
Creates a new chat session. |
get_by_id |
Retrieves a chat session by its ID. |
get_by_source_session_id |
Retrieves a chat session by its external source session ID. |
get_all |
Iterates over chat sessions with optional filters. |
update |
Updates a chat session by ID. |
delete |
Deletes a chat session by its ID. |
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
session
|
AsyncAlbertSession
|
The async session used to make API requests. |
required |
Source code in src/albert/collections/chat_sessions.py
create
create(*, session: ChatSession) -> ChatSession
Create a new chat session.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
session
|
ChatSession
|
The session to create. |
required |
Returns:
| Type | Description |
|---|---|
ChatSession
|
The created session. |
Source code in src/albert/collections/chat_sessions.py
get_by_id
get_by_id(*, id: str) -> ChatSession
Retrieve a chat session by its ID.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
id
|
str
|
The session ID. |
required |
Returns:
| Type | Description |
|---|---|
ChatSession
|
The matching session. |
Source code in src/albert/collections/chat_sessions.py
get_by_source_session_id
get_by_source_session_id(
*, source_session_id: str
) -> ChatSession
Retrieve a chat session by its external source session ID.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
source_session_id
|
str
|
The external source session identifier. |
required |
Returns:
| Type | Description |
|---|---|
ChatSession
|
The matching session. |
Source code in src/albert/collections/chat_sessions.py
get_all
get_all(
*,
name: list[str] | None = None,
exact_match: bool = False,
parent_id: str | None = None,
max_items: int | None = None,
) -> AsyncIterator[ChatSession]
Iterate over chat sessions with optional filters.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
name
|
list[str] | None
|
Filter by session name(s). |
None
|
exact_match
|
bool
|
Whether name filtering uses exact matching (default False). |
False
|
parent_id
|
str | None
|
Filter sessions by folder ID. |
None
|
max_items
|
int | None
|
Maximum number of items to return in total. If None, fetches all available items. |
None
|
Yields:
| Type | Description |
|---|---|
ChatSession
|
Sessions matching the given filters. |
Source code in src/albert/collections/chat_sessions.py
update
update(
*,
id: str,
name: str | None = None,
parent_id: str | None | _UnsetType = _UNSET,
) -> ChatSession
Update a chat session.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
id
|
str
|
The ID of the session to update. |
required |
name
|
str | None
|
New display name for the session. |
None
|
parent_id
|
str | None
|
New parent folder ID for the session. Pass |
_UNSET
|
Returns:
| Type | Description |
|---|---|
ChatSession
|
The updated session. |
Notes
The following fields can be updated: name, parent_id.