Kelvinhjk commited on
Commit
b5dbbda
·
1 Parent(s): e9ea747

Delete document_retriever_prototype.ipynb

Browse files
Files changed (1) hide show
  1. document_retriever_prototype.ipynb +0 -588
document_retriever_prototype.ipynb DELETED
@@ -1,588 +0,0 @@
1
- {
2
- "cells": [
3
- {
4
- "cell_type": "code",
5
- "execution_count": 1,
6
- "id": "64ccc9ea",
7
- "metadata": {
8
- "collapsed": true
9
- },
10
- "outputs": [
11
- {
12
- "name": "stdout",
13
- "output_type": "stream",
14
- "text": [
15
- "Note: you may need to restart the kernel to use updated packages.\n"
16
- ]
17
- },
18
- {
19
- "name": "stderr",
20
- "output_type": "stream",
21
- "text": [
22
- "WARNING: Ignoring invalid distribution -rotobuf (c:\\users\\user\\anaconda3\\envs\\tf\\lib\\site-packages)\n",
23
- "WARNING: Ignoring invalid distribution -illow (c:\\users\\user\\anaconda3\\envs\\tf\\lib\\site-packages)\n",
24
- "WARNING: Ignoring invalid distribution -cipy (c:\\users\\user\\anaconda3\\envs\\tf\\lib\\site-packages)\n",
25
- "WARNING: Ignoring invalid distribution -rotobuf (c:\\users\\user\\anaconda3\\envs\\tf\\lib\\site-packages)\n",
26
- "WARNING: Ignoring invalid distribution -illow (c:\\users\\user\\anaconda3\\envs\\tf\\lib\\site-packages)\n",
27
- "WARNING: Ignoring invalid distribution -cipy (c:\\users\\user\\anaconda3\\envs\\tf\\lib\\site-packages)\n",
28
- "WARNING: Ignoring invalid distribution -rotobuf (c:\\users\\user\\anaconda3\\envs\\tf\\lib\\site-packages)\n",
29
- "WARNING: Ignoring invalid distribution -illow (c:\\users\\user\\anaconda3\\envs\\tf\\lib\\site-packages)\n",
30
- "WARNING: Ignoring invalid distribution -cipy (c:\\users\\user\\anaconda3\\envs\\tf\\lib\\site-packages)\n",
31
- "WARNING: Ignoring invalid distribution -rotobuf (c:\\users\\user\\anaconda3\\envs\\tf\\lib\\site-packages)\n",
32
- "WARNING: Ignoring invalid distribution -illow (c:\\users\\user\\anaconda3\\envs\\tf\\lib\\site-packages)\n",
33
- "WARNING: Ignoring invalid distribution -cipy (c:\\users\\user\\anaconda3\\envs\\tf\\lib\\site-packages)\n",
34
- "WARNING: Ignoring invalid distribution -rotobuf (c:\\users\\user\\anaconda3\\envs\\tf\\lib\\site-packages)\n",
35
- "WARNING: Ignoring invalid distribution -illow (c:\\users\\user\\anaconda3\\envs\\tf\\lib\\site-packages)\n",
36
- "WARNING: Ignoring invalid distribution -cipy (c:\\users\\user\\anaconda3\\envs\\tf\\lib\\site-packages)\n",
37
- "WARNING: Ignoring invalid distribution -rotobuf (c:\\users\\user\\anaconda3\\envs\\tf\\lib\\site-packages)\n",
38
- "WARNING: Ignoring invalid distribution -illow (c:\\users\\user\\anaconda3\\envs\\tf\\lib\\site-packages)\n",
39
- "WARNING: Ignoring invalid distribution -cipy (c:\\users\\user\\anaconda3\\envs\\tf\\lib\\site-packages)\n",
40
- "WARNING: Ignoring invalid distribution -rotobuf (c:\\users\\user\\anaconda3\\envs\\tf\\lib\\site-packages)\n",
41
- "WARNING: Ignoring invalid distribution -illow (c:\\users\\user\\anaconda3\\envs\\tf\\lib\\site-packages)\n",
42
- "WARNING: Ignoring invalid distribution -cipy (c:\\users\\user\\anaconda3\\envs\\tf\\lib\\site-packages)\n",
43
- "WARNING: Ignoring invalid distribution -rotobuf (c:\\users\\user\\anaconda3\\envs\\tf\\lib\\site-packages)\n",
44
- "WARNING: Ignoring invalid distribution -illow (c:\\users\\user\\anaconda3\\envs\\tf\\lib\\site-packages)\n",
45
- "WARNING: Ignoring invalid distribution -cipy (c:\\users\\user\\anaconda3\\envs\\tf\\lib\\site-packages)\n",
46
- "WARNING: Ignoring invalid distribution -rotobuf (c:\\users\\user\\anaconda3\\envs\\tf\\lib\\site-packages)\n",
47
- "WARNING: Ignoring invalid distribution -illow (c:\\users\\user\\anaconda3\\envs\\tf\\lib\\site-packages)\n",
48
- "WARNING: Ignoring invalid distribution -cipy (c:\\users\\user\\anaconda3\\envs\\tf\\lib\\site-packages)\n",
49
- "WARNING: Ignoring invalid distribution -rotobuf (c:\\users\\user\\anaconda3\\envs\\tf\\lib\\site-packages)\n",
50
- "WARNING: Ignoring invalid distribution -illow (c:\\users\\user\\anaconda3\\envs\\tf\\lib\\site-packages)\n",
51
- "WARNING: Ignoring invalid distribution -cipy (c:\\users\\user\\anaconda3\\envs\\tf\\lib\\site-packages)\n",
52
- "WARNING: Ignoring invalid distribution -rotobuf (c:\\users\\user\\anaconda3\\envs\\tf\\lib\\site-packages)\n",
53
- "WARNING: Ignoring invalid distribution -illow (c:\\users\\user\\anaconda3\\envs\\tf\\lib\\site-packages)\n",
54
- "WARNING: Ignoring invalid distribution -cipy (c:\\users\\user\\anaconda3\\envs\\tf\\lib\\site-packages)\n",
55
- "WARNING: Ignoring invalid distribution -rotobuf (c:\\users\\user\\anaconda3\\envs\\tf\\lib\\site-packages)\n",
56
- "WARNING: Ignoring invalid distribution -illow (c:\\users\\user\\anaconda3\\envs\\tf\\lib\\site-packages)\n",
57
- "WARNING: Ignoring invalid distribution -cipy (c:\\users\\user\\anaconda3\\envs\\tf\\lib\\site-packages)\n",
58
- "WARNING: Ignoring invalid distribution -rotobuf (c:\\users\\user\\anaconda3\\envs\\tf\\lib\\site-packages)\n",
59
- "WARNING: Ignoring invalid distribution -illow (c:\\users\\user\\anaconda3\\envs\\tf\\lib\\site-packages)\n",
60
- "WARNING: Ignoring invalid distribution -cipy (c:\\users\\user\\anaconda3\\envs\\tf\\lib\\site-packages)\n",
61
- "WARNING: Ignoring invalid distribution -rotobuf (c:\\users\\user\\anaconda3\\envs\\tf\\lib\\site-packages)\n",
62
- "WARNING: Ignoring invalid distribution -illow (c:\\users\\user\\anaconda3\\envs\\tf\\lib\\site-packages)\n",
63
- "WARNING: Ignoring invalid distribution -cipy (c:\\users\\user\\anaconda3\\envs\\tf\\lib\\site-packages)\n",
64
- "WARNING: Ignoring invalid distribution -rotobuf (c:\\users\\user\\anaconda3\\envs\\tf\\lib\\site-packages)\n",
65
- "WARNING: Ignoring invalid distribution -illow (c:\\users\\user\\anaconda3\\envs\\tf\\lib\\site-packages)\n",
66
- "WARNING: Ignoring invalid distribution -cipy (c:\\users\\user\\anaconda3\\envs\\tf\\lib\\site-packages)\n",
67
- "WARNING: Ignoring invalid distribution -rotobuf (c:\\users\\user\\anaconda3\\envs\\tf\\lib\\site-packages)\n",
68
- "WARNING: Ignoring invalid distribution -illow (c:\\users\\user\\anaconda3\\envs\\tf\\lib\\site-packages)\n",
69
- "WARNING: Ignoring invalid distribution -cipy (c:\\users\\user\\anaconda3\\envs\\tf\\lib\\site-packages)\n"
70
- ]
71
- }
72
- ],
73
- "source": [
74
- "pip -q install langchain openai tiktoken PyPDF2 faiss-cpu"
75
- ]
76
- },
77
- {
78
- "cell_type": "code",
79
- "execution_count": 2,
80
- "id": "fc761f23",
81
- "metadata": {},
82
- "outputs": [
83
- {
84
- "name": "stdout",
85
- "output_type": "stream",
86
- "text": [
87
- "Name: langchain\n",
88
- "Version: 0.0.188\n",
89
- "Summary: Building applications with LLMs through composability\n",
90
- "Home-page: https://www.github.com/hwchase17/langchain\n",
91
- "Author: \n",
92
- "Author-email: \n",
93
- "License: MIT\n",
94
- "Location: c:\\users\\user\\anaconda3\\envs\\tf\\lib\\site-packages\n",
95
- "Requires: aiohttp, async-timeout, dataclasses-json, numexpr, numpy, openapi-schema-pydantic, pydantic, PyYAML, requests, SQLAlchemy, tenacity\n",
96
- "Required-by: \n",
97
- "Note: you may need to restart the kernel to use updated packages.\n"
98
- ]
99
- },
100
- {
101
- "name": "stderr",
102
- "output_type": "stream",
103
- "text": [
104
- "WARNING: Ignoring invalid distribution -rotobuf (c:\\users\\user\\anaconda3\\envs\\tf\\lib\\site-packages)\n",
105
- "WARNING: Ignoring invalid distribution -illow (c:\\users\\user\\anaconda3\\envs\\tf\\lib\\site-packages)\n",
106
- "WARNING: Ignoring invalid distribution -cipy (c:\\users\\user\\anaconda3\\envs\\tf\\lib\\site-packages)\n"
107
- ]
108
- }
109
- ],
110
- "source": [
111
- "pip show langchain"
112
- ]
113
- },
114
- {
115
- "cell_type": "code",
116
- "execution_count": 23,
117
- "id": "7f96dbe2",
118
- "metadata": {},
119
- "outputs": [],
120
- "source": [
121
- "import os\n",
122
- "from langchain.embeddings.openai import OpenAIEmbeddings\n",
123
- "from langchain.text_splitter import CharacterTextSplitter\n",
124
- "from langchain.vectorstores import FAISS \n",
125
- "\n",
126
- "os.environ[\"OPENAI_API_KEY\"] = \"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\""
127
- ]
128
- },
129
- {
130
- "cell_type": "code",
131
- "execution_count": 8,
132
- "id": "5a7c1d57",
133
- "metadata": {},
134
- "outputs": [],
135
- "source": [
136
- "with open(\"./data/full_context.txt\", \"r\") as file1:\n",
137
- " doc = file1.read()\n"
138
- ]
139
- },
140
- {
141
- "cell_type": "code",
142
- "execution_count": 10,
143
- "id": "5abfc8a5",
144
- "metadata": {},
145
- "outputs": [
146
- {
147
- "data": {
148
- "text/plain": [
149
- "13882"
150
- ]
151
- },
152
- "execution_count": 10,
153
- "metadata": {},
154
- "output_type": "execute_result"
155
- }
156
- ],
157
- "source": [
158
- "len(doc)"
159
- ]
160
- },
161
- {
162
- "cell_type": "code",
163
- "execution_count": null,
164
- "id": "50419dc7",
165
- "metadata": {},
166
- "outputs": [],
167
- "source": []
168
- },
169
- {
170
- "cell_type": "markdown",
171
- "id": "57aea36d",
172
- "metadata": {},
173
- "source": [
174
- "## Text Splitter"
175
- ]
176
- },
177
- {
178
- "cell_type": "code",
179
- "execution_count": 15,
180
- "id": "8babdb6d",
181
- "metadata": {},
182
- "outputs": [],
183
- "source": [
184
- "# Splitting up the text into smaller chunks for indexing\n",
185
- "text_splitter = CharacterTextSplitter( \n",
186
- " separator = \"\\n\",\n",
187
- " chunk_size = 1000,\n",
188
- " chunk_overlap = 200, #striding over the text\n",
189
- " length_function = len,\n",
190
- ")\n",
191
- "texts = text_splitter.split_text(doc)"
192
- ]
193
- },
194
- {
195
- "cell_type": "code",
196
- "execution_count": 16,
197
- "id": "361ae58a",
198
- "metadata": {},
199
- "outputs": [
200
- {
201
- "data": {
202
- "text/plain": [
203
- "18"
204
- ]
205
- },
206
- "execution_count": 16,
207
- "metadata": {},
208
- "output_type": "execute_result"
209
- }
210
- ],
211
- "source": [
212
- "len(texts)"
213
- ]
214
- },
215
- {
216
- "cell_type": "code",
217
- "execution_count": 19,
218
- "id": "d35f16e5",
219
- "metadata": {},
220
- "outputs": [
221
- {
222
- "data": {
223
- "text/plain": [
224
- "'The Bachelor of Computer Science program at Swinburne Sarawak is designed with a modern approach to the analysis, design, and implementation of large-scale systems, recognizing its importance in the field of software development. This program offers a specialized focus on application development involving mobile devices and web-based systems, with an emphasis on creating effective human-computer interfaces. Students have the opportunity to choose a specialization that aligns with their interests and future goals, such as cybersecurity, internet of things, or software development.'"
225
- ]
226
- },
227
- "execution_count": 19,
228
- "metadata": {},
229
- "output_type": "execute_result"
230
- }
231
- ],
232
- "source": [
233
- "texts[0]"
234
- ]
235
- },
236
- {
237
- "cell_type": "code",
238
- "execution_count": null,
239
- "id": "8a161ebe",
240
- "metadata": {},
241
- "outputs": [],
242
- "source": []
243
- },
244
- {
245
- "cell_type": "markdown",
246
- "id": "fca36537",
247
- "metadata": {},
248
- "source": [
249
- "## Create Embeddings"
250
- ]
251
- },
252
- {
253
- "cell_type": "code",
254
- "execution_count": 24,
255
- "id": "05602606",
256
- "metadata": {},
257
- "outputs": [],
258
- "source": [
259
- "# Download embeddings from OpenAI\n",
260
- "embeddings = OpenAIEmbeddings()"
261
- ]
262
- },
263
- {
264
- "cell_type": "code",
265
- "execution_count": 37,
266
- "id": "f4825600",
267
- "metadata": {
268
- "collapsed": true
269
- },
270
- "outputs": [
271
- {
272
- "name": "stderr",
273
- "output_type": "stream",
274
- "text": [
275
- "Retrying langchain.embeddings.openai.embed_with_retry.<locals>._embed_with_retry in 4.0 seconds as it raised RateLimitError: You exceeded your current quota, please check your plan and billing details..\n",
276
- "Retrying langchain.embeddings.openai.embed_with_retry.<locals>._embed_with_retry in 4.0 seconds as it raised RateLimitError: You exceeded your current quota, please check your plan and billing details..\n",
277
- "Retrying langchain.embeddings.openai.embed_with_retry.<locals>._embed_with_retry in 4.0 seconds as it raised RateLimitError: You exceeded your current quota, please check your plan and billing details..\n",
278
- "Retrying langchain.embeddings.openai.embed_with_retry.<locals>._embed_with_retry in 8.0 seconds as it raised RateLimitError: You exceeded your current quota, please check your plan and billing details..\n",
279
- "Retrying langchain.embeddings.openai.embed_with_retry.<locals>._embed_with_retry in 10.0 seconds as it raised RateLimitError: You exceeded your current quota, please check your plan and billing details..\n"
280
- ]
281
- },
282
- {
283
- "ename": "RateLimitError",
284
- "evalue": "You exceeded your current quota, please check your plan and billing details.",
285
- "output_type": "error",
286
- "traceback": [
287
- "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
288
- "\u001b[1;31mRateLimitError\u001b[0m Traceback (most recent call last)",
289
- "Cell \u001b[1;32mIn[37], line 1\u001b[0m\n\u001b[1;32m----> 1\u001b[0m docsearch \u001b[38;5;241m=\u001b[39m \u001b[43mFAISS\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mfrom_texts\u001b[49m\u001b[43m(\u001b[49m\u001b[43mtexts\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43membeddings\u001b[49m\u001b[43m)\u001b[49m\n",
290
- "File \u001b[1;32m~\\anaconda3\\envs\\tf\\lib\\site-packages\\langchain\\vectorstores\\faiss.py:425\u001b[0m, in \u001b[0;36mFAISS.from_texts\u001b[1;34m(cls, texts, embedding, metadatas, ids, **kwargs)\u001b[0m\n\u001b[0;32m 399\u001b[0m \u001b[38;5;129m@classmethod\u001b[39m\n\u001b[0;32m 400\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mfrom_texts\u001b[39m(\n\u001b[0;32m 401\u001b[0m \u001b[38;5;28mcls\u001b[39m,\n\u001b[1;32m (...)\u001b[0m\n\u001b[0;32m 406\u001b[0m \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs: Any,\n\u001b[0;32m 407\u001b[0m ) \u001b[38;5;241m-\u001b[39m\u001b[38;5;241m>\u001b[39m FAISS:\n\u001b[0;32m 408\u001b[0m \u001b[38;5;124;03m\"\"\"Construct FAISS wrapper from raw documents.\u001b[39;00m\n\u001b[0;32m 409\u001b[0m \n\u001b[0;32m 410\u001b[0m \u001b[38;5;124;03m This is a user friendly interface that:\u001b[39;00m\n\u001b[1;32m (...)\u001b[0m\n\u001b[0;32m 423\u001b[0m \u001b[38;5;124;03m faiss = FAISS.from_texts(texts, embeddings)\u001b[39;00m\n\u001b[0;32m 424\u001b[0m \u001b[38;5;124;03m \"\"\"\u001b[39;00m\n\u001b[1;32m--> 425\u001b[0m embeddings \u001b[38;5;241m=\u001b[39m \u001b[43membedding\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43membed_documents\u001b[49m\u001b[43m(\u001b[49m\u001b[43mtexts\u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m 426\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28mcls\u001b[39m\u001b[38;5;241m.\u001b[39m__from(\n\u001b[0;32m 427\u001b[0m texts,\n\u001b[0;32m 428\u001b[0m embeddings,\n\u001b[1;32m (...)\u001b[0m\n\u001b[0;32m 432\u001b[0m \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs,\n\u001b[0;32m 433\u001b[0m )\n",
291
- "File \u001b[1;32m~\\anaconda3\\envs\\tf\\lib\\site-packages\\langchain\\embeddings\\openai.py:297\u001b[0m, in \u001b[0;36mOpenAIEmbeddings.embed_documents\u001b[1;34m(self, texts, chunk_size)\u001b[0m\n\u001b[0;32m 285\u001b[0m \u001b[38;5;124;03m\"\"\"Call out to OpenAI's embedding endpoint for embedding search docs.\u001b[39;00m\n\u001b[0;32m 286\u001b[0m \n\u001b[0;32m 287\u001b[0m \u001b[38;5;124;03mArgs:\u001b[39;00m\n\u001b[1;32m (...)\u001b[0m\n\u001b[0;32m 293\u001b[0m \u001b[38;5;124;03m List of embeddings, one for each text.\u001b[39;00m\n\u001b[0;32m 294\u001b[0m \u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[0;32m 295\u001b[0m \u001b[38;5;66;03m# NOTE: to keep things simple, we assume the list may contain texts longer\u001b[39;00m\n\u001b[0;32m 296\u001b[0m \u001b[38;5;66;03m# than the maximum context and use length-safe embedding function.\u001b[39;00m\n\u001b[1;32m--> 297\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_get_len_safe_embeddings\u001b[49m\u001b[43m(\u001b[49m\u001b[43mtexts\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mengine\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mdeployment\u001b[49m\u001b[43m)\u001b[49m\n",
292
- "File \u001b[1;32m~\\anaconda3\\envs\\tf\\lib\\site-packages\\langchain\\embeddings\\openai.py:233\u001b[0m, in \u001b[0;36mOpenAIEmbeddings._get_len_safe_embeddings\u001b[1;34m(self, texts, engine, chunk_size)\u001b[0m\n\u001b[0;32m 231\u001b[0m _chunk_size \u001b[38;5;241m=\u001b[39m chunk_size \u001b[38;5;129;01mor\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mchunk_size\n\u001b[0;32m 232\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m i \u001b[38;5;129;01min\u001b[39;00m \u001b[38;5;28mrange\u001b[39m(\u001b[38;5;241m0\u001b[39m, \u001b[38;5;28mlen\u001b[39m(tokens), _chunk_size):\n\u001b[1;32m--> 233\u001b[0m response \u001b[38;5;241m=\u001b[39m \u001b[43membed_with_retry\u001b[49m\u001b[43m(\u001b[49m\n\u001b[0;32m 234\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[43m,\u001b[49m\n\u001b[0;32m 235\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;28;43minput\u001b[39;49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mtokens\u001b[49m\u001b[43m[\u001b[49m\u001b[43mi\u001b[49m\u001b[43m \u001b[49m\u001b[43m:\u001b[49m\u001b[43m \u001b[49m\u001b[43mi\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m+\u001b[39;49m\u001b[43m \u001b[49m\u001b[43m_chunk_size\u001b[49m\u001b[43m]\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 236\u001b[0m \u001b[43m \u001b[49m\u001b[43mengine\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mdeployment\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 237\u001b[0m \u001b[43m \u001b[49m\u001b[43mrequest_timeout\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mrequest_timeout\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 238\u001b[0m \u001b[43m \u001b[49m\u001b[43mheaders\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mheaders\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 239\u001b[0m \u001b[43m \u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m 240\u001b[0m batched_embeddings \u001b[38;5;241m+\u001b[39m\u001b[38;5;241m=\u001b[39m [r[\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124membedding\u001b[39m\u001b[38;5;124m\"\u001b[39m] \u001b[38;5;28;01mfor\u001b[39;00m r \u001b[38;5;129;01min\u001b[39;00m response[\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mdata\u001b[39m\u001b[38;5;124m\"\u001b[39m]]\n\u001b[0;32m 242\u001b[0m results: List[List[List[\u001b[38;5;28mfloat\u001b[39m]]] \u001b[38;5;241m=\u001b[39m [[] \u001b[38;5;28;01mfor\u001b[39;00m _ \u001b[38;5;129;01min\u001b[39;00m \u001b[38;5;28mrange\u001b[39m(\u001b[38;5;28mlen\u001b[39m(texts))]\n",
293
- "File \u001b[1;32m~\\anaconda3\\envs\\tf\\lib\\site-packages\\langchain\\embeddings\\openai.py:64\u001b[0m, in \u001b[0;36membed_with_retry\u001b[1;34m(embeddings, **kwargs)\u001b[0m\n\u001b[0;32m 60\u001b[0m \u001b[38;5;129m@retry_decorator\u001b[39m\n\u001b[0;32m 61\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21m_embed_with_retry\u001b[39m(\u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs: Any) \u001b[38;5;241m-\u001b[39m\u001b[38;5;241m>\u001b[39m Any:\n\u001b[0;32m 62\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m embeddings\u001b[38;5;241m.\u001b[39mclient\u001b[38;5;241m.\u001b[39mcreate(\u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs)\n\u001b[1;32m---> 64\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m _embed_with_retry(\u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs)\n",
294
- "File \u001b[1;32m~\\anaconda3\\envs\\tf\\lib\\site-packages\\tenacity\\__init__.py:289\u001b[0m, in \u001b[0;36mBaseRetrying.wraps.<locals>.wrapped_f\u001b[1;34m(*args, **kw)\u001b[0m\n\u001b[0;32m 287\u001b[0m \u001b[38;5;129m@functools\u001b[39m\u001b[38;5;241m.\u001b[39mwraps(f)\n\u001b[0;32m 288\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mwrapped_f\u001b[39m(\u001b[38;5;241m*\u001b[39margs: t\u001b[38;5;241m.\u001b[39mAny, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkw: t\u001b[38;5;241m.\u001b[39mAny) \u001b[38;5;241m-\u001b[39m\u001b[38;5;241m>\u001b[39m t\u001b[38;5;241m.\u001b[39mAny:\n\u001b[1;32m--> 289\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28mself\u001b[39m(f, \u001b[38;5;241m*\u001b[39margs, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkw)\n",
295
- "File \u001b[1;32m~\\anaconda3\\envs\\tf\\lib\\site-packages\\tenacity\\__init__.py:379\u001b[0m, in \u001b[0;36mRetrying.__call__\u001b[1;34m(self, fn, *args, **kwargs)\u001b[0m\n\u001b[0;32m 377\u001b[0m retry_state \u001b[38;5;241m=\u001b[39m RetryCallState(retry_object\u001b[38;5;241m=\u001b[39m\u001b[38;5;28mself\u001b[39m, fn\u001b[38;5;241m=\u001b[39mfn, args\u001b[38;5;241m=\u001b[39margs, kwargs\u001b[38;5;241m=\u001b[39mkwargs)\n\u001b[0;32m 378\u001b[0m \u001b[38;5;28;01mwhile\u001b[39;00m \u001b[38;5;28;01mTrue\u001b[39;00m:\n\u001b[1;32m--> 379\u001b[0m do \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43miter\u001b[49m\u001b[43m(\u001b[49m\u001b[43mretry_state\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mretry_state\u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m 380\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28misinstance\u001b[39m(do, DoAttempt):\n\u001b[0;32m 381\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n",
296
- "File \u001b[1;32m~\\anaconda3\\envs\\tf\\lib\\site-packages\\tenacity\\__init__.py:325\u001b[0m, in \u001b[0;36mBaseRetrying.iter\u001b[1;34m(self, retry_state)\u001b[0m\n\u001b[0;32m 323\u001b[0m retry_exc \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mretry_error_cls(fut)\n\u001b[0;32m 324\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mreraise:\n\u001b[1;32m--> 325\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[43mretry_exc\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mreraise\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m 326\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m retry_exc \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mfut\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mexception\u001b[39;00m()\n\u001b[0;32m 328\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mwait:\n",
297
- "File \u001b[1;32m~\\anaconda3\\envs\\tf\\lib\\site-packages\\tenacity\\__init__.py:158\u001b[0m, in \u001b[0;36mRetryError.reraise\u001b[1;34m(self)\u001b[0m\n\u001b[0;32m 156\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mreraise\u001b[39m(\u001b[38;5;28mself\u001b[39m) \u001b[38;5;241m-\u001b[39m\u001b[38;5;241m>\u001b[39m t\u001b[38;5;241m.\u001b[39mNoReturn:\n\u001b[0;32m 157\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mlast_attempt\u001b[38;5;241m.\u001b[39mfailed:\n\u001b[1;32m--> 158\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mlast_attempt\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mresult\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m 159\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;28mself\u001b[39m\n",
298
- "File \u001b[1;32m~\\anaconda3\\envs\\tf\\lib\\concurrent\\futures\\_base.py:451\u001b[0m, in \u001b[0;36mFuture.result\u001b[1;34m(self, timeout)\u001b[0m\n\u001b[0;32m 449\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m CancelledError()\n\u001b[0;32m 450\u001b[0m \u001b[38;5;28;01melif\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_state \u001b[38;5;241m==\u001b[39m FINISHED:\n\u001b[1;32m--> 451\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m__get_result\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m 453\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_condition\u001b[38;5;241m.\u001b[39mwait(timeout)\n\u001b[0;32m 455\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_state \u001b[38;5;129;01min\u001b[39;00m [CANCELLED, CANCELLED_AND_NOTIFIED]:\n",
299
- "File \u001b[1;32m~\\anaconda3\\envs\\tf\\lib\\concurrent\\futures\\_base.py:403\u001b[0m, in \u001b[0;36mFuture.__get_result\u001b[1;34m(self)\u001b[0m\n\u001b[0;32m 401\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_exception:\n\u001b[0;32m 402\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[1;32m--> 403\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_exception\n\u001b[0;32m 404\u001b[0m \u001b[38;5;28;01mfinally\u001b[39;00m:\n\u001b[0;32m 405\u001b[0m \u001b[38;5;66;03m# Break a reference cycle with the exception in self._exception\u001b[39;00m\n\u001b[0;32m 406\u001b[0m \u001b[38;5;28mself\u001b[39m \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mNone\u001b[39;00m\n",
300
- "File \u001b[1;32m~\\anaconda3\\envs\\tf\\lib\\site-packages\\tenacity\\__init__.py:382\u001b[0m, in \u001b[0;36mRetrying.__call__\u001b[1;34m(self, fn, *args, **kwargs)\u001b[0m\n\u001b[0;32m 380\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28misinstance\u001b[39m(do, DoAttempt):\n\u001b[0;32m 381\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[1;32m--> 382\u001b[0m result \u001b[38;5;241m=\u001b[39m fn(\u001b[38;5;241m*\u001b[39margs, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs)\n\u001b[0;32m 383\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m \u001b[38;5;167;01mBaseException\u001b[39;00m: \u001b[38;5;66;03m# noqa: B902\u001b[39;00m\n\u001b[0;32m 384\u001b[0m retry_state\u001b[38;5;241m.\u001b[39mset_exception(sys\u001b[38;5;241m.\u001b[39mexc_info()) \u001b[38;5;66;03m# type: ignore[arg-type]\u001b[39;00m\n",
301
- "File \u001b[1;32m~\\anaconda3\\envs\\tf\\lib\\site-packages\\langchain\\embeddings\\openai.py:62\u001b[0m, in \u001b[0;36membed_with_retry.<locals>._embed_with_retry\u001b[1;34m(**kwargs)\u001b[0m\n\u001b[0;32m 60\u001b[0m \u001b[38;5;129m@retry_decorator\u001b[39m\n\u001b[0;32m 61\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21m_embed_with_retry\u001b[39m(\u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs: Any) \u001b[38;5;241m-\u001b[39m\u001b[38;5;241m>\u001b[39m Any:\n\u001b[1;32m---> 62\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m embeddings\u001b[38;5;241m.\u001b[39mclient\u001b[38;5;241m.\u001b[39mcreate(\u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs)\n",
302
- "File \u001b[1;32m~\\anaconda3\\envs\\tf\\lib\\site-packages\\openai\\api_resources\\embedding.py:33\u001b[0m, in \u001b[0;36mEmbedding.create\u001b[1;34m(cls, *args, **kwargs)\u001b[0m\n\u001b[0;32m 31\u001b[0m \u001b[38;5;28;01mwhile\u001b[39;00m \u001b[38;5;28;01mTrue\u001b[39;00m:\n\u001b[0;32m 32\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[1;32m---> 33\u001b[0m response \u001b[38;5;241m=\u001b[39m \u001b[38;5;28msuper\u001b[39m()\u001b[38;5;241m.\u001b[39mcreate(\u001b[38;5;241m*\u001b[39margs, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs)\n\u001b[0;32m 35\u001b[0m \u001b[38;5;66;03m# If a user specifies base64, we'll just return the encoded string.\u001b[39;00m\n\u001b[0;32m 36\u001b[0m \u001b[38;5;66;03m# This is only for the default case.\u001b[39;00m\n\u001b[0;32m 37\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m user_provided_encoding_format:\n",
303
- "File \u001b[1;32m~\\anaconda3\\envs\\tf\\lib\\site-packages\\openai\\api_resources\\abstract\\engine_api_resource.py:153\u001b[0m, in \u001b[0;36mEngineAPIResource.create\u001b[1;34m(cls, api_key, api_base, api_type, request_id, api_version, organization, **params)\u001b[0m\n\u001b[0;32m 127\u001b[0m \u001b[38;5;129m@classmethod\u001b[39m\n\u001b[0;32m 128\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mcreate\u001b[39m(\n\u001b[0;32m 129\u001b[0m \u001b[38;5;28mcls\u001b[39m,\n\u001b[1;32m (...)\u001b[0m\n\u001b[0;32m 136\u001b[0m \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mparams,\n\u001b[0;32m 137\u001b[0m ):\n\u001b[0;32m 138\u001b[0m (\n\u001b[0;32m 139\u001b[0m deployment_id,\n\u001b[0;32m 140\u001b[0m engine,\n\u001b[1;32m (...)\u001b[0m\n\u001b[0;32m 150\u001b[0m api_key, api_base, api_type, api_version, organization, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mparams\n\u001b[0;32m 151\u001b[0m )\n\u001b[1;32m--> 153\u001b[0m response, _, api_key \u001b[38;5;241m=\u001b[39m \u001b[43mrequestor\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mrequest\u001b[49m\u001b[43m(\u001b[49m\n\u001b[0;32m 154\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mpost\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\n\u001b[0;32m 155\u001b[0m \u001b[43m \u001b[49m\u001b[43murl\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 156\u001b[0m \u001b[43m \u001b[49m\u001b[43mparams\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mparams\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 157\u001b[0m \u001b[43m \u001b[49m\u001b[43mheaders\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mheaders\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 158\u001b[0m \u001b[43m \u001b[49m\u001b[43mstream\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mstream\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 159\u001b[0m \u001b[43m \u001b[49m\u001b[43mrequest_id\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mrequest_id\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 160\u001b[0m \u001b[43m \u001b[49m\u001b[43mrequest_timeout\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mrequest_timeout\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 161\u001b[0m \u001b[43m \u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m 163\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m stream:\n\u001b[0;32m 164\u001b[0m \u001b[38;5;66;03m# must be an iterator\u001b[39;00m\n\u001b[0;32m 165\u001b[0m \u001b[38;5;28;01massert\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28misinstance\u001b[39m(response, OpenAIResponse)\n",
304
- "File \u001b[1;32m~\\anaconda3\\envs\\tf\\lib\\site-packages\\openai\\api_requestor.py:230\u001b[0m, in \u001b[0;36mAPIRequestor.request\u001b[1;34m(self, method, url, params, headers, files, stream, request_id, request_timeout)\u001b[0m\n\u001b[0;32m 209\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mrequest\u001b[39m(\n\u001b[0;32m 210\u001b[0m \u001b[38;5;28mself\u001b[39m,\n\u001b[0;32m 211\u001b[0m method,\n\u001b[1;32m (...)\u001b[0m\n\u001b[0;32m 218\u001b[0m request_timeout: Optional[Union[\u001b[38;5;28mfloat\u001b[39m, Tuple[\u001b[38;5;28mfloat\u001b[39m, \u001b[38;5;28mfloat\u001b[39m]]] \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mNone\u001b[39;00m,\n\u001b[0;32m 219\u001b[0m ) \u001b[38;5;241m-\u001b[39m\u001b[38;5;241m>\u001b[39m Tuple[Union[OpenAIResponse, Iterator[OpenAIResponse]], \u001b[38;5;28mbool\u001b[39m, \u001b[38;5;28mstr\u001b[39m]:\n\u001b[0;32m 220\u001b[0m result \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mrequest_raw(\n\u001b[0;32m 221\u001b[0m method\u001b[38;5;241m.\u001b[39mlower(),\n\u001b[0;32m 222\u001b[0m url,\n\u001b[1;32m (...)\u001b[0m\n\u001b[0;32m 228\u001b[0m request_timeout\u001b[38;5;241m=\u001b[39mrequest_timeout,\n\u001b[0;32m 229\u001b[0m )\n\u001b[1;32m--> 230\u001b[0m resp, got_stream \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_interpret_response\u001b[49m\u001b[43m(\u001b[49m\u001b[43mresult\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mstream\u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m 231\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m resp, got_stream, \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mapi_key\n",
305
- "File \u001b[1;32m~\\anaconda3\\envs\\tf\\lib\\site-packages\\openai\\api_requestor.py:624\u001b[0m, in \u001b[0;36mAPIRequestor._interpret_response\u001b[1;34m(self, result, stream)\u001b[0m\n\u001b[0;32m 616\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m (\n\u001b[0;32m 617\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_interpret_response_line(\n\u001b[0;32m 618\u001b[0m line, result\u001b[38;5;241m.\u001b[39mstatus_code, result\u001b[38;5;241m.\u001b[39mheaders, stream\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mTrue\u001b[39;00m\n\u001b[0;32m 619\u001b[0m )\n\u001b[0;32m 620\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m line \u001b[38;5;129;01min\u001b[39;00m parse_stream(result\u001b[38;5;241m.\u001b[39miter_lines())\n\u001b[0;32m 621\u001b[0m ), \u001b[38;5;28;01mTrue\u001b[39;00m\n\u001b[0;32m 622\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[0;32m 623\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m (\n\u001b[1;32m--> 624\u001b[0m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_interpret_response_line\u001b[49m\u001b[43m(\u001b[49m\n\u001b[0;32m 625\u001b[0m \u001b[43m \u001b[49m\u001b[43mresult\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mcontent\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mdecode\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mutf-8\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 626\u001b[0m \u001b[43m \u001b[49m\u001b[43mresult\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mstatus_code\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 627\u001b[0m \u001b[43m \u001b[49m\u001b[43mresult\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mheaders\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 628\u001b[0m \u001b[43m \u001b[49m\u001b[43mstream\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43;01mFalse\u001b[39;49;00m\u001b[43m,\u001b[49m\n\u001b[0;32m 629\u001b[0m \u001b[43m \u001b[49m\u001b[43m)\u001b[49m,\n\u001b[0;32m 630\u001b[0m \u001b[38;5;28;01mFalse\u001b[39;00m,\n\u001b[0;32m 631\u001b[0m )\n",
306
- "File \u001b[1;32m~\\anaconda3\\envs\\tf\\lib\\site-packages\\openai\\api_requestor.py:687\u001b[0m, in \u001b[0;36mAPIRequestor._interpret_response_line\u001b[1;34m(self, rbody, rcode, rheaders, stream)\u001b[0m\n\u001b[0;32m 685\u001b[0m stream_error \u001b[38;5;241m=\u001b[39m stream \u001b[38;5;129;01mand\u001b[39;00m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124merror\u001b[39m\u001b[38;5;124m\"\u001b[39m \u001b[38;5;129;01min\u001b[39;00m resp\u001b[38;5;241m.\u001b[39mdata\n\u001b[0;32m 686\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m stream_error \u001b[38;5;129;01mor\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;241m200\u001b[39m \u001b[38;5;241m<\u001b[39m\u001b[38;5;241m=\u001b[39m rcode \u001b[38;5;241m<\u001b[39m \u001b[38;5;241m300\u001b[39m:\n\u001b[1;32m--> 687\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mhandle_error_response(\n\u001b[0;32m 688\u001b[0m rbody, rcode, resp\u001b[38;5;241m.\u001b[39mdata, rheaders, stream_error\u001b[38;5;241m=\u001b[39mstream_error\n\u001b[0;32m 689\u001b[0m )\n\u001b[0;32m 690\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m resp\n",
307
- "\u001b[1;31mRateLimitError\u001b[0m: You exceeded your current quota, please check your plan and billing details."
308
- ]
309
- }
310
- ],
311
- "source": [
312
- "docsearch = FAISS.from_texts(texts, embeddings)"
313
- ]
314
- },
315
- {
316
- "cell_type": "code",
317
- "execution_count": null,
318
- "id": "8f4cf500",
319
- "metadata": {},
320
- "outputs": [],
321
- "source": []
322
- },
323
- {
324
- "cell_type": "code",
325
- "execution_count": 45,
326
- "id": "46e77ed0",
327
- "metadata": {},
328
- "outputs": [
329
- {
330
- "data": {
331
- "text/plain": [
332
- "OpenAIEmbeddings(client=<class 'openai.api_resources.embedding.Embedding'>, model='text-embedding-ada-002', deployment='text-embedding-ada-002', openai_api_version=None, openai_api_base=None, openai_api_type=None, openai_proxy=None, embedding_ctx_length=8191, openai_api_key=None, openai_organization=None, allowed_special=set(), disallowed_special='all', chunk_size=1000, max_retries=6, request_timeout=None, headers=None)"
333
- ]
334
- },
335
- "execution_count": 45,
336
- "metadata": {},
337
- "output_type": "execute_result"
338
- }
339
- ],
340
- "source": [
341
- "embeddings"
342
- ]
343
- },
344
- {
345
- "cell_type": "code",
346
- "execution_count": 38,
347
- "id": "f910d861",
348
- "metadata": {},
349
- "outputs": [
350
- {
351
- "data": {
352
- "text/plain": [
353
- "langchain.vectorstores.faiss.FAISS"
354
- ]
355
- },
356
- "execution_count": 38,
357
- "metadata": {},
358
- "output_type": "execute_result"
359
- }
360
- ],
361
- "source": [
362
- "type(docsearch)"
363
- ]
364
- },
365
- {
366
- "cell_type": "code",
367
- "execution_count": 27,
368
- "id": "b7929f68",
369
- "metadata": {},
370
- "outputs": [
371
- {
372
- "data": {
373
- "text/plain": [
374
- "<bound method OpenAIEmbeddings.embed_query of OpenAIEmbeddings(client=<class 'openai.api_resources.embedding.Embedding'>, model='text-embedding-ada-002', deployment='text-embedding-ada-002', openai_api_version=None, openai_api_base=None, openai_api_type=None, openai_proxy=None, embedding_ctx_length=8191, openai_api_key=None, openai_organization=None, allowed_special=set(), disallowed_special='all', chunk_size=1000, max_retries=6, request_timeout=None, headers=None)>"
375
- ]
376
- },
377
- "execution_count": 27,
378
- "metadata": {},
379
- "output_type": "execute_result"
380
- }
381
- ],
382
- "source": [
383
- "docsearch.embedding_function"
384
- ]
385
- },
386
- {
387
- "cell_type": "code",
388
- "execution_count": 30,
389
- "id": "032edfd9",
390
- "metadata": {},
391
- "outputs": [
392
- {
393
- "data": {
394
- "text/plain": [
395
- "4"
396
- ]
397
- },
398
- "execution_count": 30,
399
- "metadata": {},
400
- "output_type": "execute_result"
401
- }
402
- ],
403
- "source": [
404
- "query = \"What is the duration of the Bachelor of Computer Science program?\"\n",
405
- "docs = docsearch.similarity_search(query)\n",
406
- "len(docs)"
407
- ]
408
- },
409
- {
410
- "cell_type": "code",
411
- "execution_count": 33,
412
- "id": "c967f4ff",
413
- "metadata": {},
414
- "outputs": [
415
- {
416
- "data": {
417
- "text/plain": [
418
- "Document(page_content='The program places a strong emphasis on staying up-to-date with the latest technology and methods in the field. It provides students with a comprehensive understanding of software development, preparing them for careers in various industries. The program caters to applications in areas such as defence, aerospace, and medicine, where complex and safety-critical software is in demand. It also addresses the needs of businesses requiring extensive computer support, including banking and manufacturing sectors.\\nThe program has specific intakes in January, February, and September, providing flexibility for students to begin their studies at different times throughout the year. The duration of the Bachelor of Computer Science program is three years, ensuring that students receive a thorough and comprehensive education in the field.', metadata={})"
419
- ]
420
- },
421
- "execution_count": 33,
422
- "metadata": {},
423
- "output_type": "execute_result"
424
- }
425
- ],
426
- "source": [
427
- "docs[0]"
428
- ]
429
- },
430
- {
431
- "cell_type": "code",
432
- "execution_count": null,
433
- "id": "47200bbe",
434
- "metadata": {},
435
- "outputs": [],
436
- "source": []
437
- },
438
- {
439
- "cell_type": "markdown",
440
- "id": "043dc234",
441
- "metadata": {},
442
- "source": [
443
- "## Initialize qa model"
444
- ]
445
- },
446
- {
447
- "cell_type": "code",
448
- "execution_count": 42,
449
- "id": "55f56a6d",
450
- "metadata": {},
451
- "outputs": [
452
- {
453
- "ename": "RuntimeError",
454
- "evalue": "Failed to import transformers.pipelines because of the following error (look up to see its traceback):\n[WinError 182] The operating system cannot run %1. Error loading \"C:\\Users\\User\\anaconda3\\envs\\tf\\lib\\site-packages\\torch\\lib\\shm.dll\" or one of its dependencies.",
455
- "output_type": "error",
456
- "traceback": [
457
- "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
458
- "\u001b[1;31mOSError\u001b[0m Traceback (most recent call last)",
459
- "File \u001b[1;32m~\\anaconda3\\envs\\tf\\lib\\site-packages\\transformers\\utils\\import_utils.py:1093\u001b[0m, in \u001b[0;36m_LazyModule._get_module\u001b[1;34m(self, module_name)\u001b[0m\n\u001b[0;32m 1092\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[1;32m-> 1093\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mimportlib\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mimport_module\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43m.\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m \u001b[49m\u001b[38;5;241;43m+\u001b[39;49m\u001b[43m \u001b[49m\u001b[43mmodule_name\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[38;5;18;43m__name__\u001b[39;49m\u001b[43m)\u001b[49m\n\u001b[0;32m 1094\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m \u001b[38;5;167;01mException\u001b[39;00m \u001b[38;5;28;01mas\u001b[39;00m e:\n",
460
- "File \u001b[1;32m~\\anaconda3\\envs\\tf\\lib\\importlib\\__init__.py:126\u001b[0m, in \u001b[0;36mimport_module\u001b[1;34m(name, package)\u001b[0m\n\u001b[0;32m 125\u001b[0m level \u001b[38;5;241m+\u001b[39m\u001b[38;5;241m=\u001b[39m \u001b[38;5;241m1\u001b[39m\n\u001b[1;32m--> 126\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43m_bootstrap\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_gcd_import\u001b[49m\u001b[43m(\u001b[49m\u001b[43mname\u001b[49m\u001b[43m[\u001b[49m\u001b[43mlevel\u001b[49m\u001b[43m:\u001b[49m\u001b[43m]\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mpackage\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mlevel\u001b[49m\u001b[43m)\u001b[49m\n",
461
- "File \u001b[1;32m<frozen importlib._bootstrap>:1050\u001b[0m, in \u001b[0;36m_gcd_import\u001b[1;34m(name, package, level)\u001b[0m\n",
462
- "File \u001b[1;32m<frozen importlib._bootstrap>:1027\u001b[0m, in \u001b[0;36m_find_and_load\u001b[1;34m(name, import_)\u001b[0m\n",
463
- "File \u001b[1;32m<frozen importlib._bootstrap>:1006\u001b[0m, in \u001b[0;36m_find_and_load_unlocked\u001b[1;34m(name, import_)\u001b[0m\n",
464
- "File \u001b[1;32m<frozen importlib._bootstrap>:688\u001b[0m, in \u001b[0;36m_load_unlocked\u001b[1;34m(spec)\u001b[0m\n",
465
- "File \u001b[1;32m<frozen importlib._bootstrap_external>:883\u001b[0m, in \u001b[0;36mexec_module\u001b[1;34m(self, module)\u001b[0m\n",
466
- "File \u001b[1;32m<frozen importlib._bootstrap>:241\u001b[0m, in \u001b[0;36m_call_with_frames_removed\u001b[1;34m(f, *args, **kwds)\u001b[0m\n",
467
- "File \u001b[1;32m~\\anaconda3\\envs\\tf\\lib\\site-packages\\transformers\\pipelines\\__init__.py:48\u001b[0m\n\u001b[0;32m 40\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mutils\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m (\n\u001b[0;32m 41\u001b[0m HUGGINGFACE_CO_RESOLVE_ENDPOINT,\n\u001b[0;32m 42\u001b[0m is_kenlm_available,\n\u001b[1;32m (...)\u001b[0m\n\u001b[0;32m 46\u001b[0m logging,\n\u001b[0;32m 47\u001b[0m )\n\u001b[1;32m---> 48\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01maudio_classification\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m AudioClassificationPipeline\n\u001b[0;32m 49\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mautomatic_speech_recognition\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m AutomaticSpeechRecognitionPipeline\n",
468
- "File \u001b[1;32m~\\anaconda3\\envs\\tf\\lib\\site-packages\\transformers\\pipelines\\audio_classification.py:22\u001b[0m\n\u001b[0;32m 21\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mutils\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m add_end_docstrings, is_torch_available, logging\n\u001b[1;32m---> 22\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mbase\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m PIPELINE_INIT_ARGS, Pipeline\n\u001b[0;32m 25\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m is_torch_available():\n",
469
- "File \u001b[1;32m~\\anaconda3\\envs\\tf\\lib\\site-packages\\transformers\\pipelines\\base.py:34\u001b[0m\n\u001b[0;32m 33\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mfeature_extraction_utils\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m PreTrainedFeatureExtractor\n\u001b[1;32m---> 34\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mmodelcard\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m ModelCard\n\u001b[0;32m 35\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mmodels\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mauto\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mconfiguration_auto\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m AutoConfig\n",
470
- "File \u001b[1;32m~\\anaconda3\\envs\\tf\\lib\\site-packages\\transformers\\modelcard.py:47\u001b[0m\n\u001b[0;32m 32\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mmodels\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mauto\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mmodeling_auto\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m (\n\u001b[0;32m 33\u001b[0m MODEL_FOR_AUDIO_CLASSIFICATION_MAPPING_NAMES,\n\u001b[0;32m 34\u001b[0m MODEL_FOR_CAUSAL_LM_MAPPING_NAMES,\n\u001b[1;32m (...)\u001b[0m\n\u001b[0;32m 45\u001b[0m MODEL_FOR_TOKEN_CLASSIFICATION_MAPPING_NAMES,\n\u001b[0;32m 46\u001b[0m )\n\u001b[1;32m---> 47\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mtraining_args\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m ParallelMode\n\u001b[0;32m 48\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mutils\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m (\n\u001b[0;32m 49\u001b[0m MODEL_CARD_NAME,\n\u001b[0;32m 50\u001b[0m cached_file,\n\u001b[1;32m (...)\u001b[0m\n\u001b[0;32m 56\u001b[0m logging,\n\u001b[0;32m 57\u001b[0m )\n",
471
- "File \u001b[1;32m~\\anaconda3\\envs\\tf\\lib\\site-packages\\transformers\\training_args.py:28\u001b[0m\n\u001b[0;32m 26\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mpackaging\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m version\n\u001b[1;32m---> 28\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mdebug_utils\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m DebugOption\n\u001b[0;32m 29\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mtrainer_utils\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m (\n\u001b[0;32m 30\u001b[0m EvaluationStrategy,\n\u001b[0;32m 31\u001b[0m FSDPOption,\n\u001b[1;32m (...)\u001b[0m\n\u001b[0;32m 35\u001b[0m ShardedDDPOption,\n\u001b[0;32m 36\u001b[0m )\n",
472
- "File \u001b[1;32m~\\anaconda3\\envs\\tf\\lib\\site-packages\\transformers\\debug_utils.py:21\u001b[0m\n\u001b[0;32m 20\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m is_torch_available():\n\u001b[1;32m---> 21\u001b[0m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;21;01mtorch\u001b[39;00m\n\u001b[0;32m 24\u001b[0m logger \u001b[38;5;241m=\u001b[39m logging\u001b[38;5;241m.\u001b[39mget_logger(\u001b[38;5;18m__name__\u001b[39m)\n",
473
- "File \u001b[1;32m~\\anaconda3\\envs\\tf\\lib\\site-packages\\torch\\__init__.py:122\u001b[0m\n\u001b[0;32m 121\u001b[0m err\u001b[38;5;241m.\u001b[39mstrerror \u001b[38;5;241m+\u001b[39m\u001b[38;5;241m=\u001b[39m \u001b[38;5;124mf\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124m Error loading \u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;132;01m{\u001b[39;00mdll\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m or one of its dependencies.\u001b[39m\u001b[38;5;124m'\u001b[39m\n\u001b[1;32m--> 122\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m err\n\u001b[0;32m 123\u001b[0m \u001b[38;5;28;01melif\u001b[39;00m res \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n",
474
- "\u001b[1;31mOSError\u001b[0m: [WinError 182] The operating system cannot run %1. Error loading \"C:\\Users\\User\\anaconda3\\envs\\tf\\lib\\site-packages\\torch\\lib\\shm.dll\" or one of its dependencies.",
475
- "\nThe above exception was the direct cause of the following exception:\n",
476
- "\u001b[1;31mRuntimeError\u001b[0m Traceback (most recent call last)",
477
- "Cell \u001b[1;32mIn[42], line 1\u001b[0m\n\u001b[1;32m----> 1\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mtransformers\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m TFAutoModelForQuestionAnswering, pipeline\n",
478
- "File \u001b[1;32m<frozen importlib._bootstrap>:1075\u001b[0m, in \u001b[0;36m_handle_fromlist\u001b[1;34m(module, fromlist, import_, recursive)\u001b[0m\n",
479
- "File \u001b[1;32m~\\anaconda3\\envs\\tf\\lib\\site-packages\\transformers\\utils\\import_utils.py:1083\u001b[0m, in \u001b[0;36m_LazyModule.__getattr__\u001b[1;34m(self, name)\u001b[0m\n\u001b[0;32m 1081\u001b[0m value \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_get_module(name)\n\u001b[0;32m 1082\u001b[0m \u001b[38;5;28;01melif\u001b[39;00m name \u001b[38;5;129;01min\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_class_to_module\u001b[38;5;241m.\u001b[39mkeys():\n\u001b[1;32m-> 1083\u001b[0m module \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_get_module\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_class_to_module\u001b[49m\u001b[43m[\u001b[49m\u001b[43mname\u001b[49m\u001b[43m]\u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m 1084\u001b[0m value \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mgetattr\u001b[39m(module, name)\n\u001b[0;32m 1085\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n",
480
- "File \u001b[1;32m~\\anaconda3\\envs\\tf\\lib\\site-packages\\transformers\\utils\\import_utils.py:1095\u001b[0m, in \u001b[0;36m_LazyModule._get_module\u001b[1;34m(self, module_name)\u001b[0m\n\u001b[0;32m 1093\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m importlib\u001b[38;5;241m.\u001b[39mimport_module(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m.\u001b[39m\u001b[38;5;124m\"\u001b[39m \u001b[38;5;241m+\u001b[39m module_name, \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m\u001b[38;5;18m__name__\u001b[39m)\n\u001b[0;32m 1094\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m \u001b[38;5;167;01mException\u001b[39;00m \u001b[38;5;28;01mas\u001b[39;00m e:\n\u001b[1;32m-> 1095\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mRuntimeError\u001b[39;00m(\n\u001b[0;32m 1096\u001b[0m \u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mFailed to import \u001b[39m\u001b[38;5;132;01m{\u001b[39;00m\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m\u001b[38;5;18m__name__\u001b[39m\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m.\u001b[39m\u001b[38;5;132;01m{\u001b[39;00mmodule_name\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m because of the following error (look up to see its\u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[0;32m 1097\u001b[0m \u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m traceback):\u001b[39m\u001b[38;5;130;01m\\n\u001b[39;00m\u001b[38;5;132;01m{\u001b[39;00me\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m\"\u001b[39m\n\u001b[0;32m 1098\u001b[0m ) \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01me\u001b[39;00m\n",
481
- "\u001b[1;31mRuntimeError\u001b[0m: Failed to import transformers.pipelines because of the following error (look up to see its traceback):\n[WinError 182] The operating system cannot run %1. Error loading \"C:\\Users\\User\\anaconda3\\envs\\tf\\lib\\site-packages\\torch\\lib\\shm.dll\" or one of its dependencies."
482
- ]
483
- }
484
- ],
485
- "source": [
486
- "from transformers import TFAutoModelForQuestionAnswering, pipeline"
487
- ]
488
- },
489
- {
490
- "cell_type": "code",
491
- "execution_count": null,
492
- "id": "7635f071",
493
- "metadata": {},
494
- "outputs": [],
495
- "source": [
496
- "# Load model\n",
497
- "model = TFAutoModelForQuestionAnswering.from_pretrained(\"models/bert_finetuned_model\")\n",
498
- "\n",
499
- "# Initialize Transformer pipeline with our own model and tokenizer\n",
500
- "question_answerer = pipeline(\"question-answering\", model=model, tokenizer=tokenizer)"
501
- ]
502
- },
503
- {
504
- "cell_type": "code",
505
- "execution_count": null,
506
- "id": "a9eafb4c",
507
- "metadata": {},
508
- "outputs": [],
509
- "source": []
510
- },
511
- {
512
- "cell_type": "code",
513
- "execution_count": null,
514
- "id": "1f9d86a2",
515
- "metadata": {},
516
- "outputs": [],
517
- "source": []
518
- },
519
- {
520
- "cell_type": "markdown",
521
- "id": "e8df00d8",
522
- "metadata": {},
523
- "source": [
524
- "## Overall QA chatbot application (backend)"
525
- ]
526
- },
527
- {
528
- "cell_type": "code",
529
- "execution_count": null,
530
- "id": "7961a777",
531
- "metadata": {},
532
- "outputs": [],
533
- "source": [
534
- "# Get in a question about Bachelor of Computer Science program at Swinburne\n",
535
- "question = 'What is the duration of the Bachelor of Computer Science program?'\n",
536
- "\n",
537
- "docs = docsearch.similarity_search(question)\n",
538
- "\n",
539
- "question_answerer(question=question, context = docs[0])\n"
540
- ]
541
- },
542
- {
543
- "cell_type": "code",
544
- "execution_count": null,
545
- "id": "61cda0db",
546
- "metadata": {},
547
- "outputs": [],
548
- "source": []
549
- },
550
- {
551
- "cell_type": "code",
552
- "execution_count": null,
553
- "id": "09f68e08",
554
- "metadata": {},
555
- "outputs": [],
556
- "source": []
557
- },
558
- {
559
- "cell_type": "code",
560
- "execution_count": null,
561
- "id": "5a0b4755",
562
- "metadata": {},
563
- "outputs": [],
564
- "source": []
565
- }
566
- ],
567
- "metadata": {
568
- "kernelspec": {
569
- "display_name": "Python 3 (ipykernel)",
570
- "language": "python",
571
- "name": "python3"
572
- },
573
- "language_info": {
574
- "codemirror_mode": {
575
- "name": "ipython",
576
- "version": 3
577
- },
578
- "file_extension": ".py",
579
- "mimetype": "text/x-python",
580
- "name": "python",
581
- "nbconvert_exporter": "python",
582
- "pygments_lexer": "ipython3",
583
- "version": "3.10.9"
584
- }
585
- },
586
- "nbformat": 4,
587
- "nbformat_minor": 5
588
- }