|
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