|
2 | 2 | "cells": [ |
3 | 3 | { |
4 | 4 | "cell_type": "code", |
| 5 | + "execution_count": null, |
5 | 6 | "id": "initial_id", |
6 | 7 | "metadata": { |
7 | 8 | "collapsed": true |
8 | 9 | }, |
| 10 | + "outputs": [], |
9 | 11 | "source": [ |
10 | 12 | "import time\n", |
11 | 13 | "import taskingai\n", |
12 | 14 | "# Load TaskingAI API Key from environment variable" |
13 | | - ], |
14 | | - "outputs": [], |
15 | | - "execution_count": null |
| 15 | + ] |
16 | 16 | }, |
17 | 17 | { |
18 | 18 | "cell_type": "markdown", |
| 19 | + "id": "4ca20b4a868dedd8", |
| 20 | + "metadata": { |
| 21 | + "collapsed": false |
| 22 | + }, |
19 | 23 | "source": [ |
20 | 24 | "# TaskingAI: Chat with Assistant Example\n", |
21 | 25 | "\n", |
22 | 26 | "In this example, we will first create an assistant who knows the meaning of various numbers and will explain it in certain language.\n", |
23 | 27 | "Then we will start a chat with the assistant." |
24 | | - ], |
25 | | - "metadata": { |
26 | | - "collapsed": false |
27 | | - }, |
28 | | - "id": "4ca20b4a868dedd8" |
| 28 | + ] |
29 | 29 | }, |
30 | 30 | { |
31 | 31 | "cell_type": "markdown", |
32 | | - "source": [ |
33 | | - "## Create Assistant" |
34 | | - ], |
| 32 | + "id": "5e19ac923d84e898", |
35 | 33 | "metadata": { |
36 | 34 | "collapsed": false |
37 | 35 | }, |
38 | | - "id": "5e19ac923d84e898" |
| 36 | + "source": [ |
| 37 | + "## Create Assistant" |
| 38 | + ] |
39 | 39 | }, |
40 | 40 | { |
41 | 41 | "cell_type": "code", |
| 42 | + "execution_count": null, |
| 43 | + "id": "3b2fda39ba58c5e9", |
| 44 | + "metadata": { |
| 45 | + "collapsed": false |
| 46 | + }, |
| 47 | + "outputs": [], |
42 | 48 | "source": [ |
43 | 49 | "from taskingai.tool import Action, ActionAuthentication, ActionAuthenticationType\n", |
44 | 50 | "from typing import List\n", |
|
96 | 102 | ")\n", |
97 | 103 | "action = actions[0]\n", |
98 | 104 | "print(f\"created action: {action}\\n\")" |
99 | | - ], |
| 105 | + ] |
| 106 | + }, |
| 107 | + { |
| 108 | + "cell_type": "code", |
| 109 | + "execution_count": null, |
| 110 | + "id": "3b3df0f232021283", |
100 | 111 | "metadata": { |
101 | 112 | "collapsed": false |
102 | 113 | }, |
103 | | - "id": "3b2fda39ba58c5e9", |
104 | 114 | "outputs": [], |
105 | | - "execution_count": null |
106 | | - }, |
107 | | - { |
108 | | - "cell_type": "code", |
109 | 115 | "source": [ |
110 | 116 | "from taskingai.assistant import Assistant, Chat, ToolRef, ToolType\n", |
111 | 117 | "from taskingai.assistant.memory import AssistantMessageWindowMemory\n", |
|
135 | 141 | " metadata={\"k\": \"v\"},\n", |
136 | 142 | ")\n", |
137 | 143 | "print(f\"created assistant: {assistant}\\n\")" |
138 | | - ], |
139 | | - "metadata": { |
140 | | - "collapsed": false |
141 | | - }, |
142 | | - "id": "3b3df0f232021283", |
143 | | - "outputs": [], |
144 | | - "execution_count": null |
| 144 | + ] |
145 | 145 | }, |
146 | 146 | { |
147 | 147 | "cell_type": "markdown", |
148 | | - "source": [ |
149 | | - "## Start a Chat " |
150 | | - ], |
| 148 | + "id": "8e7c1b9461f0a344", |
151 | 149 | "metadata": { |
152 | 150 | "collapsed": false |
153 | 151 | }, |
154 | | - "id": "8e7c1b9461f0a344" |
| 152 | + "source": [ |
| 153 | + "## Start a Chat " |
| 154 | + ] |
155 | 155 | }, |
156 | 156 | { |
157 | 157 | "cell_type": "code", |
| 158 | + "execution_count": null, |
| 159 | + "id": "f1e2f0b2af8b1d8d", |
| 160 | + "metadata": { |
| 161 | + "collapsed": false |
| 162 | + }, |
| 163 | + "outputs": [], |
158 | 164 | "source": [ |
159 | 165 | "chat: Chat = taskingai.assistant.create_chat(\n", |
160 | 166 | " assistant_id=assistant.assistant_id,\n", |
161 | 167 | ")\n", |
162 | 168 | "print(f\"created chat: {chat.chat_id}\\n\")" |
163 | | - ], |
| 169 | + ] |
| 170 | + }, |
| 171 | + { |
| 172 | + "cell_type": "code", |
| 173 | + "execution_count": null, |
| 174 | + "id": "b26e30b79b71697a", |
164 | 175 | "metadata": { |
165 | 176 | "collapsed": false |
166 | 177 | }, |
167 | | - "id": "f1e2f0b2af8b1d8d", |
168 | 178 | "outputs": [], |
169 | | - "execution_count": null |
170 | | - }, |
171 | | - { |
172 | | - "cell_type": "code", |
173 | 179 | "source": [ |
174 | 180 | "from taskingai.assistant import Message, MessageChunk\n", |
175 | 181 | "user_input = input(\"User Input: \")\n", |
|
181 | 187 | " text=user_input,\n", |
182 | 188 | " )\n", |
183 | 189 | " print(f\"User: {user_input}\")\n", |
184 | | - " \n", |
| 190 | + "\n", |
185 | 191 | " # generate assistant response\n", |
186 | 192 | " assistant_message: Message = taskingai.assistant.generate_message(\n", |
187 | 193 | " assistant_id=assistant.assistant_id,\n", |
|
194 | 200 | " time.sleep(2)\n", |
195 | 201 | " # quit by input 'q\n", |
196 | 202 | " user_input = input(\"User: \")" |
197 | | - ], |
| 203 | + ] |
| 204 | + }, |
| 205 | + { |
| 206 | + "cell_type": "code", |
| 207 | + "execution_count": null, |
| 208 | + "id": "c7d73e0b138e3eba", |
198 | 209 | "metadata": { |
199 | 210 | "collapsed": false |
200 | 211 | }, |
201 | | - "id": "b26e30b79b71697a", |
202 | 212 | "outputs": [], |
203 | | - "execution_count": null |
204 | | - }, |
205 | | - { |
206 | | - "cell_type": "code", |
207 | 213 | "source": [ |
208 | 214 | "user_input = input(\"User Input: \")\n", |
209 | 215 | "while user_input.strip() and user_input != \"q\":\n", |
|
214 | 220 | " text=user_input,\n", |
215 | 221 | " )\n", |
216 | 222 | " print(f\"User: {user_input} ({user_message.message_id})\")\n", |
217 | | - " \n", |
| 223 | + "\n", |
218 | 224 | " # generate assistant response\n", |
219 | 225 | " assistant_message_response = taskingai.assistant.generate_message(\n", |
220 | 226 | " assistant_id=assistant.assistant_id,\n", |
|
224 | 230 | " },\n", |
225 | 231 | " stream=True,\n", |
226 | 232 | " )\n", |
227 | | - " \n", |
| 233 | + "\n", |
228 | 234 | " print(f\"Assistant:\", end=\" \", flush=True)\n", |
229 | 235 | " for item in assistant_message_response:\n", |
230 | 236 | " if isinstance(item, MessageChunk):\n", |
231 | 237 | " print(item.delta, end=\"\", flush=True)\n", |
232 | 238 | " elif isinstance(item, Message):\n", |
233 | 239 | " print(f\" ({item.message_id})\")\n", |
234 | | - " \n", |
| 240 | + "\n", |
235 | 241 | " time.sleep(2)\n", |
236 | 242 | " # quit by input 'q\n", |
237 | 243 | " user_input = input(\"User: \")" |
238 | | - ], |
| 244 | + ] |
| 245 | + }, |
| 246 | + { |
| 247 | + "cell_type": "code", |
| 248 | + "execution_count": null, |
| 249 | + "id": "e94e3adb0d15373b", |
239 | 250 | "metadata": { |
240 | 251 | "collapsed": false |
241 | 252 | }, |
242 | | - "id": "c7d73e0b138e3eba", |
243 | 253 | "outputs": [], |
244 | | - "execution_count": null |
245 | | - }, |
246 | | - { |
247 | | - "cell_type": "code", |
248 | 254 | "source": [ |
249 | 255 | "# list messages\n", |
250 | 256 | "messages = taskingai.assistant.list_messages(\n", |
|
254 | 260 | ")\n", |
255 | 261 | "for message in messages:\n", |
256 | 262 | " print(f\"{message.role}: {message.content.text}\")" |
257 | | - ], |
| 263 | + ] |
| 264 | + }, |
| 265 | + { |
| 266 | + "cell_type": "code", |
| 267 | + "execution_count": null, |
| 268 | + "id": "ed39836bbfdc7a4e", |
258 | 269 | "metadata": { |
259 | 270 | "collapsed": false |
260 | 271 | }, |
261 | | - "id": "e94e3adb0d15373b", |
262 | 272 | "outputs": [], |
263 | | - "execution_count": null |
264 | | - }, |
265 | | - { |
266 | | - "cell_type": "code", |
267 | 273 | "source": [ |
268 | 274 | "# delete assistant\n", |
269 | 275 | "taskingai.assistant.delete_assistant(\n", |
270 | 276 | " assistant_id=assistant.assistant_id,\n", |
271 | 277 | ")" |
272 | | - ], |
273 | | - "metadata": { |
274 | | - "collapsed": false |
275 | | - }, |
276 | | - "id": "ed39836bbfdc7a4e", |
| 278 | + ] |
| 279 | + }, |
| 280 | + { |
| 281 | + "cell_type": "code", |
| 282 | + "execution_count": null, |
| 283 | + "id": "3a67261c", |
| 284 | + "metadata": {}, |
277 | 285 | "outputs": [], |
278 | | - "execution_count": null |
| 286 | + "source": [ |
| 287 | + "# clean chat context\n", |
| 288 | + "taskingai.assistant.clean_chat_context(\n", |
| 289 | + " assistant_id=\"YOUR_ASSISTANT_ID\",\n", |
| 290 | + " chat_id=\"YOUR_CHAT_ID\",\n", |
| 291 | + ")" |
| 292 | + ] |
279 | 293 | } |
280 | 294 | ], |
281 | 295 | "metadata": { |
|
294 | 308 | "name": "python", |
295 | 309 | "nbconvert_exporter": "python", |
296 | 310 | "pygments_lexer": "ipython2", |
297 | | - "version": "2.7.6" |
| 311 | + "version": "3.10.14" |
298 | 312 | } |
299 | 313 | }, |
300 | 314 | "nbformat": 4, |
|
0 commit comments