11from typing import Optional , List , Dict
22
33from taskingai .client .utils import get_api_instance , ModuleType
4- from taskingai .client .models import Assistant , AssistantRetrieval , AssistantTool , AssistantToolType , AssistantRetrievalType
5- from taskingai .client .models import AssistantCreateRequest , AssistantCreateResponse ,\
6- AssistantUpdateRequest , AssistantUpdateResponse ,\
7- AssistantGetResponse , AssistantListResponse
4+ from taskingai .client .models import (
5+ Assistant ,
6+ AssistantMemory ,
7+ AssistantRetrieval ,
8+ AssistantTool ,
9+ AssistantToolType ,
10+ AssistantRetrievalType
11+ )
12+
13+ from taskingai .client .models import (
14+ AssistantCreateRequest ,
15+ AssistantCreateResponse ,
16+ AssistantUpdateRequest ,
17+ AssistantUpdateResponse ,
18+ AssistantGetResponse ,
19+ AssistantListResponse ,
20+ )
821
922__all__ = [
1023 "Assistant" ,
@@ -121,6 +134,7 @@ async def a_get_assistant(assistant_id: str) -> Assistant:
121134
122135def create_assistant (
123136 model_id : str ,
137+ memory : AssistantMemory ,
124138 name : Optional [str ] = None ,
125139 description : Optional [str ] = None ,
126140 system_prompt_template : Optional [List [str ]] = None ,
@@ -130,8 +144,9 @@ def create_assistant(
130144) -> Assistant :
131145 """
132146 Create an assistant.
133-
147+
134148 :param model_id: The ID of an available chat completion model in your project.
149+ :param memory: The assistant memory.
135150 :param name: The assistant name.
136151 :param description: The assistant description.
137152 :param system_prompt_template: A list of system prompt chunks where prompt variables are wrapped by curly brackets, e.g. {{variable}}.
@@ -142,10 +157,12 @@ def create_assistant(
142157 """
143158
144159 api_instance = get_api_instance (ModuleType .assistant )
160+ memory_dict = memory .model_dump ()
145161 body = AssistantCreateRequest (
146162 model_id = model_id ,
147163 name = name ,
148164 description = description ,
165+ memory = memory_dict ,
149166 system_prompt_template = system_prompt_template ,
150167 tools = tools ,
151168 retrievals = retrievals ,
@@ -158,6 +175,7 @@ def create_assistant(
158175
159176async def a_create_assistant (
160177 model_id : str ,
178+ memory : AssistantMemory ,
161179 name : Optional [str ] = None ,
162180 description : Optional [str ] = None ,
163181 system_prompt_template : Optional [List [str ]] = None ,
@@ -169,6 +187,7 @@ async def a_create_assistant(
169187 Create an assistant in async mode.
170188
171189 :param model_id: The ID of an available chat completion model in your project.
190+ :param memory: The assistant memory.
172191 :param name: The assistant name.
173192 :param description: The assistant description.
174193 :param system_prompt_template: A list of system prompt chunks where prompt variables are wrapped by curly brackets, e.g. {{variable}}.
@@ -179,10 +198,12 @@ async def a_create_assistant(
179198 """
180199
181200 api_instance = get_api_instance (ModuleType .assistant , async_client = True )
201+ memory_dict = memory .model_dump ()
182202 body = AssistantCreateRequest (
183203 model_id = model_id ,
184204 name = name ,
185205 description = description ,
206+ memory = memory_dict ,
186207 system_prompt_template = system_prompt_template ,
187208 tools = tools ,
188209 retrievals = retrievals ,
@@ -199,6 +220,7 @@ def update_assistant(
199220 name : Optional [str ] = None ,
200221 description : Optional [str ] = None ,
201222 system_prompt_template : Optional [List [str ]] = None ,
223+ memory : Optional [AssistantMemory ] = None ,
202224 tools : Optional [List [AssistantTool ]] = None ,
203225 retrievals : Optional [List [AssistantRetrieval ]] = None ,
204226 metadata : Optional [Dict [str , str ]] = None ,
@@ -211,6 +233,7 @@ def update_assistant(
211233 :param name: The assistant name.
212234 :param description: The assistant description.
213235 :param system_prompt_template: A list of system prompt chunks where prompt variables are wrapped by curly brackets, e.g. {{variable}}.
236+ :param memory: The assistant memory.
214237 :param tools: The assistant tools.
215238 :param retrievals: The assistant retrievals.
216239 :param metadata: The assistant metadata. It can store up to 16 key-value pairs where each key's length is less than 64 and value's length is less than 512.
@@ -223,6 +246,7 @@ def update_assistant(
223246 name = name ,
224247 description = description ,
225248 system_prompt_template = system_prompt_template ,
249+ memory = memory ,
226250 tools = tools ,
227251 retrievals = retrievals ,
228252 metadata = metadata ,
@@ -238,6 +262,7 @@ async def a_update_assistant(
238262 name : Optional [str ] = None ,
239263 description : Optional [str ] = None ,
240264 system_prompt_template : Optional [List [str ]] = None ,
265+ memory : Optional [AssistantMemory ] = None ,
241266 tools : Optional [List [AssistantTool ]] = None ,
242267 retrievals : Optional [List [AssistantRetrieval ]] = None ,
243268 metadata : Optional [Dict [str , str ]] = None ,
@@ -250,6 +275,7 @@ async def a_update_assistant(
250275 :param name: The assistant name.
251276 :param description: The assistant description.
252277 :param system_prompt_template: A list of system prompt chunks where prompt variables are wrapped by curly brackets, e.g. {{variable}}.
278+ :param memory: The assistant memory.
253279 :param tools: The assistant tools.
254280 :param retrievals: The assistant retrievals.
255281 :param metadata: The assistant metadata. It can store up to 16 key-value pairs where each key's length is less than 64 and value's length is less than 512.
@@ -262,6 +288,7 @@ async def a_update_assistant(
262288 name = name ,
263289 description = description ,
264290 system_prompt_template = system_prompt_template ,
291+ memory = memory ,
265292 tools = tools ,
266293 retrievals = retrievals ,
267294 metadata = metadata ,
0 commit comments