|
20 | 20 | }, |
21 | 21 | { |
22 | 22 | "cell_type": "code", |
23 | | - "execution_count": 27, |
| 23 | + "execution_count": 16, |
24 | 24 | "metadata": {}, |
25 | 25 | "outputs": [], |
26 | 26 | "source": [ |
27 | | - "import openai\n", |
28 | 27 | "import os\n", |
| 28 | + "import openai\n", |
29 | 29 | "import getpass\n", |
| 30 | + "os.environ[\"TOKENIZERS_PARALLELISM\"] = \"False\"\n", |
30 | 31 | "\n", |
31 | | - "api_key = os.getenv(\"OPENAI_API_KEY\") or getpass.getpass(\"Enter your OpenAI API key: \")\n", |
| 32 | + "api_key = os.getenv(\"OPENAI_API_KEY\", None)\n", |
| 33 | + "if not api_key:\n", |
| 34 | + " api_key = getpass.getpass(\"Enter your OpenAI API key: \")\n", |
| 35 | + "\n", |
| 36 | + "openai.api_key = api_key\n", |
32 | 37 | "\n", |
33 | 38 | "def ask_openai(question):\n", |
34 | 39 | " response = openai.Completion.create(\n", |
|
41 | 46 | }, |
42 | 47 | { |
43 | 48 | "cell_type": "code", |
44 | | - "execution_count": 28, |
| 49 | + "execution_count": 17, |
45 | 50 | "metadata": {}, |
46 | 51 | "outputs": [ |
47 | 52 | { |
48 | 53 | "name": "stdout", |
49 | 54 | "output_type": "stream", |
50 | 55 | "text": [ |
51 | | - "The capital of France is Paris.\n" |
| 56 | + "Paris\n" |
52 | 57 | ] |
53 | 58 | } |
54 | 59 | ], |
|
68 | 73 | }, |
69 | 74 | { |
70 | 75 | "cell_type": "code", |
71 | | - "execution_count": 46, |
| 76 | + "execution_count": 18, |
72 | 77 | "metadata": {}, |
73 | 78 | "outputs": [], |
74 | 79 | "source": [ |
|
81 | 86 | }, |
82 | 87 | { |
83 | 88 | "cell_type": "code", |
84 | | - "execution_count": 47, |
| 89 | + "execution_count": 19, |
| 90 | + "metadata": {}, |
| 91 | + "outputs": [ |
| 92 | + { |
| 93 | + "name": "stdout", |
| 94 | + "output_type": "stream", |
| 95 | + "text": [ |
| 96 | + "\n", |
| 97 | + "\n", |
| 98 | + "Index Information:\n", |
| 99 | + "╭──────────────┬────────────────┬──────────────┬─────────────────┬────────────╮\n", |
| 100 | + "│ Index Name │ Storage Type │ Prefixes │ Index Options │ Indexing │\n", |
| 101 | + "├──────────────┼────────────────┼──────────────┼─────────────────┼────────────┤\n", |
| 102 | + "│ cache │ HASH │ ['llmcache'] │ [] │ 0 │\n", |
| 103 | + "╰──────────────┴────────────────┴──────────────┴─────────────────┴────────────╯\n", |
| 104 | + "Index Fields:\n", |
| 105 | + "╭───────────────┬───────────────┬────────╮\n", |
| 106 | + "│ Name │ Attribute │ Type │\n", |
| 107 | + "├───────────────┼───────────────┼────────┤\n", |
| 108 | + "│ prompt_vector │ prompt_vector │ VECTOR │\n", |
| 109 | + "╰───────────────┴───────────────┴────────╯\n" |
| 110 | + ] |
| 111 | + } |
| 112 | + ], |
| 113 | + "source": [ |
| 114 | + "# look at the index specification created for the semantic cache lookup\n", |
| 115 | + "!rvl index info -i cache" |
| 116 | + ] |
| 117 | + }, |
| 118 | + { |
| 119 | + "cell_type": "code", |
| 120 | + "execution_count": 20, |
85 | 121 | "metadata": {}, |
86 | 122 | "outputs": [ |
87 | 123 | { |
|
90 | 126 | "[]" |
91 | 127 | ] |
92 | 128 | }, |
93 | | - "execution_count": 47, |
| 129 | + "execution_count": 20, |
94 | 130 | "metadata": {}, |
95 | 131 | "output_type": "execute_result" |
96 | 132 | } |
|
102 | 138 | }, |
103 | 139 | { |
104 | 140 | "cell_type": "code", |
105 | | - "execution_count": 31, |
| 141 | + "execution_count": 21, |
106 | 142 | "metadata": {}, |
107 | 143 | "outputs": [], |
108 | 144 | "source": [ |
|
112 | 148 | }, |
113 | 149 | { |
114 | 150 | "cell_type": "code", |
115 | | - "execution_count": 32, |
| 151 | + "execution_count": 22, |
116 | 152 | "metadata": {}, |
117 | 153 | "outputs": [ |
118 | 154 | { |
|
121 | 157 | "['Paris']" |
122 | 158 | ] |
123 | 159 | }, |
124 | | - "execution_count": 32, |
| 160 | + "execution_count": 22, |
125 | 161 | "metadata": {}, |
126 | 162 | "output_type": "execute_result" |
127 | 163 | } |
|
133 | 169 | }, |
134 | 170 | { |
135 | 171 | "cell_type": "code", |
136 | | - "execution_count": 33, |
| 172 | + "execution_count": 23, |
137 | 173 | "metadata": {}, |
138 | 174 | "outputs": [ |
139 | 175 | { |
|
142 | 178 | "[]" |
143 | 179 | ] |
144 | 180 | }, |
145 | | - "execution_count": 33, |
| 181 | + "execution_count": 23, |
146 | 182 | "metadata": {}, |
147 | 183 | "output_type": "execute_result" |
148 | 184 | } |
|
154 | 190 | }, |
155 | 191 | { |
156 | 192 | "cell_type": "code", |
157 | | - "execution_count": 34, |
| 193 | + "execution_count": 24, |
158 | 194 | "metadata": {}, |
159 | 195 | "outputs": [ |
160 | 196 | { |
|
163 | 199 | "['Paris']" |
164 | 200 | ] |
165 | 201 | }, |
166 | | - "execution_count": 34, |
| 202 | + "execution_count": 24, |
167 | 203 | "metadata": {}, |
168 | 204 | "output_type": "execute_result" |
169 | 205 | } |
|
176 | 212 | }, |
177 | 213 | { |
178 | 214 | "cell_type": "code", |
179 | | - "execution_count": 35, |
| 215 | + "execution_count": 25, |
180 | 216 | "metadata": {}, |
181 | 217 | "outputs": [ |
182 | 218 | { |
|
185 | 221 | "[]" |
186 | 222 | ] |
187 | 223 | }, |
188 | | - "execution_count": 35, |
| 224 | + "execution_count": 25, |
189 | 225 | "metadata": {}, |
190 | 226 | "output_type": "execute_result" |
191 | 227 | } |
|
197 | 233 | }, |
198 | 234 | { |
199 | 235 | "cell_type": "code", |
200 | | - "execution_count": 45, |
| 236 | + "execution_count": 26, |
201 | 237 | "metadata": {}, |
202 | 238 | "outputs": [], |
203 | 239 | "source": [ |
204 | | - "cache.index.delete()" |
| 240 | + "cache.clear()" |
205 | 241 | ] |
206 | 242 | }, |
207 | 243 | { |
|
215 | 251 | }, |
216 | 252 | { |
217 | 253 | "cell_type": "code", |
218 | | - "execution_count": 48, |
| 254 | + "execution_count": 27, |
219 | 255 | "metadata": {}, |
220 | 256 | "outputs": [], |
221 | 257 | "source": [ |
|
231 | 267 | }, |
232 | 268 | { |
233 | 269 | "cell_type": "code", |
234 | | - "execution_count": 49, |
| 270 | + "execution_count": 28, |
235 | 271 | "metadata": {}, |
236 | 272 | "outputs": [ |
237 | 273 | { |
238 | 274 | "name": "stdout", |
239 | 275 | "output_type": "stream", |
240 | 276 | "text": [ |
241 | | - "Time taken without cache 0.6192829608917236\n" |
| 277 | + "Time taken without cache 0.8732700347900391\n" |
242 | 278 | ] |
243 | 279 | } |
244 | 280 | ], |
|
252 | 288 | }, |
253 | 289 | { |
254 | 290 | "cell_type": "code", |
255 | | - "execution_count": 50, |
| 291 | + "execution_count": 29, |
256 | 292 | "metadata": {}, |
257 | 293 | "outputs": [ |
258 | 294 | { |
259 | 295 | "name": "stdout", |
260 | 296 | "output_type": "stream", |
261 | 297 | "text": [ |
262 | | - "Time Taken with cache: 0.05961775779724121\n", |
263 | | - "Percentage of time saved: 90.37%\n" |
| 298 | + "Time Taken with cache: 0.04746699333190918\n", |
| 299 | + "Percentage of time saved: 94.56%\n" |
264 | 300 | ] |
265 | 301 | } |
266 | 302 | ], |
|
274 | 310 | }, |
275 | 311 | { |
276 | 312 | "cell_type": "code", |
277 | | - "execution_count": 51, |
| 313 | + "execution_count": 30, |
278 | 314 | "metadata": {}, |
279 | | - "outputs": [], |
| 315 | + "outputs": [ |
| 316 | + { |
| 317 | + "name": "stdout", |
| 318 | + "output_type": "stream", |
| 319 | + "text": [ |
| 320 | + "\n", |
| 321 | + "Statistics:\n", |
| 322 | + "╭─────────────────────────────┬─────────────╮\n", |
| 323 | + "│ Stat Key │ Value │\n", |
| 324 | + "├─────────────────────────────┼─────────────┤\n", |
| 325 | + "│ num_docs │ 1 │\n", |
| 326 | + "│ num_terms │ 0 │\n", |
| 327 | + "│ max_doc_id │ 2 │\n", |
| 328 | + "│ num_records │ 2 │\n", |
| 329 | + "│ percent_indexed │ 1 │\n", |
| 330 | + "│ hash_indexing_failures │ 0 │\n", |
| 331 | + "│ number_of_uses │ 11 │\n", |
| 332 | + "│ bytes_per_record_avg │ 0 │\n", |
| 333 | + "│ doc_table_size_mb │ 0.000134468 │\n", |
| 334 | + "│ inverted_sz_mb │ 0 │\n", |
| 335 | + "│ key_table_size_mb │ 2.76566e-05 │\n", |
| 336 | + "│ offset_bits_per_record_avg │ nan │\n", |
| 337 | + "│ offset_vectors_sz_mb │ 0 │\n", |
| 338 | + "│ offsets_per_term_avg │ 0 │\n", |
| 339 | + "│ records_per_doc_avg │ 2 │\n", |
| 340 | + "│ sortable_values_size_mb │ 0 │\n", |
| 341 | + "│ total_indexing_time │ 0.211 │\n", |
| 342 | + "│ total_inverted_index_blocks │ 11 │\n", |
| 343 | + "│ vector_index_sz_mb │ 3.00814 │\n", |
| 344 | + "╰─────────────────────────────┴─────────────╯\n" |
| 345 | + ] |
| 346 | + } |
| 347 | + ], |
280 | 348 | "source": [ |
281 | | - "# remove the index and all cached items\n", |
282 | | - "cache.index.delete()" |
| 349 | + "# check the stats of the index\n", |
| 350 | + "!rvl stats -i cache" |
283 | 351 | ] |
284 | 352 | }, |
285 | 353 | { |
286 | 354 | "cell_type": "code", |
287 | | - "execution_count": null, |
| 355 | + "execution_count": 31, |
288 | 356 | "metadata": {}, |
289 | 357 | "outputs": [], |
290 | | - "source": [] |
| 358 | + "source": [ |
| 359 | + "# remove the index and all cached items\n", |
| 360 | + "cache.index.delete()" |
| 361 | + ] |
291 | 362 | } |
292 | 363 | ], |
293 | 364 | "metadata": { |
|
0 commit comments