From c1b4c496837f2f3d1c3275b53a3a7d81fbefed0c Mon Sep 17 00:00:00 2001 From: Pablo Marin Date: Thu, 2 Jan 2025 06:19:01 +0000 Subject: [PATCH] fix arm and bicep templates for backend and frontend --- 01-Load-Data-ACogSearch.ipynb | 25 +- 02-LoadCSVOneToMany-ACogSearch.ipynb | 104 +++---- 03-Quering-AOpenAI.ipynb | 292 +++++++++--------- 04-Complex-Docs.ipynb | 119 ++++--- 05-Adding_Memory.ipynb | 53 ++-- 06-First-RAG.ipynb | 199 +++--------- 07-TabularDataQA.ipynb | 210 ++++--------- 08-SQLDB_QA.ipynb | 150 ++++++--- 09-BingChatClone.ipynb | 71 ++--- 10-API-Search.ipynb | 100 +++--- 11-Adding_Multi-modality.ipynb | 38 +-- 12-Smart_Agent.ipynb | 236 +++++++++++++- 13-Building-Apps.ipynb | 4 +- apps/backend/botservice/README.md | 2 +- .../botservice/azuredeploy-backend.bicep | 12 +- .../botservice/azuredeploy-backend.json | 12 +- apps/backend/botservice/backend.zip | Bin 1122637 -> 1131693 bytes apps/frontend/azuredeploy-frontend.json | 8 +- credentials.env | 8 +- 19 files changed, 862 insertions(+), 781 deletions(-) diff --git a/01-Load-Data-ACogSearch.ipynb b/01-Load-Data-ACogSearch.ipynb index 0567af2e..af696644 100644 --- a/01-Load-Data-ACogSearch.ipynb +++ b/01-Load-Data-ACogSearch.ipynb @@ -118,9 +118,16 @@ "upload_directory = \"./data/temp_extract\" # Temporary directory to extract the zip file" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "This process below takes about 11 mins" + ] + }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 5, "metadata": { "tags": [] }, @@ -137,7 +144,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "Uploading Files: 100%|██████████████████████████████████████████| 3107/3107 [09:02<00:00, 5.72it/s]\n" + "Uploading Files: 100%|██████████████████████████████████████████| 3107/3107 [08:53<00:00, 5.83it/s]\n" ] }, { @@ -145,8 +152,8 @@ "output_type": "stream", "text": [ "Temp Folder: ./data/temp_extract removed\n", - "CPU times: user 32.1 s, sys: 5.05 s, total: 37.1 s\n", - "Wall time: 11min 15s\n" + "CPU times: user 31.6 s, sys: 5.19 s, total: 36.8 s\n", + "Wall time: 11min\n" ] } ], @@ -173,7 +180,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 6, "metadata": { "tags": [] }, @@ -226,7 +233,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 8, "metadata": { "tags": [] }, @@ -717,7 +724,7 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": 17, "metadata": { "tags": [] }, @@ -786,9 +793,9 @@ ], "metadata": { "kernelspec": { - "display_name": "GPTSearch2 (Python 3.12)", + "display_name": "GPTSearch3 (Python 3.12)", "language": "python", - "name": "gptsearch2" + "name": "gptsearch3" }, "language_info": { "codemirror_mode": { diff --git a/02-LoadCSVOneToMany-ACogSearch.ipynb b/02-LoadCSVOneToMany-ACogSearch.ipynb index cc272177..5c8895c1 100644 --- a/02-LoadCSVOneToMany-ACogSearch.ipynb +++ b/02-LoadCSVOneToMany-ACogSearch.ipynb @@ -98,7 +98,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "Uploading Files: 100%|████████████████████████████████████████████████| 1/1 [00:04<00:00, 4.69s/it]" + "Uploading Files: 100%|████████████████████████████████████████████████| 1/1 [00:06<00:00, 6.23s/it]" ] }, { @@ -106,8 +106,8 @@ "output_type": "stream", "text": [ "Temp Folder: ./data/temp_extract removed\n", - "CPU times: user 731 ms, sys: 310 ms, total: 1.04 s\n", - "Wall time: 6.07 s\n" + "CPU times: user 767 ms, sys: 305 ms, total: 1.07 s\n", + "Wall time: 7.74 s\n" ] }, { @@ -220,69 +220,69 @@ "text/html": [ "\n", - "\n", + "
\n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", "
 cord_uidsource_xtitleabstractauthorsurlcord_uidsource_xtitleabstractauthorsurl
0ug7v899jPMCClinical features of culture-p...OBJECTIVE: This retrospective ...Madani, Tariq A; Al-Ghamdi, Ai...https://www.ncbi.nlm.nih.gov/pmc/articles/PMC35282/0ug7v899jPMCClinical features of culture-p...OBJECTIVE: This retrospective ...Madani, Tariq A; Al-Ghamdi, Ai...https://www.ncbi.nlm.nih.gov/pmc/articles/PMC35282/
102tnwd4mPMCNitric oxide: a pro-inflammato...Inflammatory diseases of the r...Vliet, Albert van der; Eiseric...https://www.ncbi.nlm.nih.gov/pmc/articles/PMC59543/102tnwd4mPMCNitric oxide: a pro-inflammato...Inflammatory diseases of the r...Vliet, Albert van der; Eiseric...https://www.ncbi.nlm.nih.gov/pmc/articles/PMC59543/
2ejv2xln0PMCSurfactant protein-D and pulmo...Surfactant protein-D (SP-D) pa...Crouch, Erika C...https://www.ncbi.nlm.nih.gov/pmc/articles/PMC59549/2ejv2xln0PMCSurfactant protein-D and pulmo...Surfactant protein-D (SP-D) pa...Crouch, Erika C...https://www.ncbi.nlm.nih.gov/pmc/articles/PMC59549/
32b73a28nPMCRole of endothelin-1 in lung d...Endothelin-1 (ET-1) is a 21 am...Fagan, Karen A; McMurtry, Ivan...https://www.ncbi.nlm.nih.gov/pmc/articles/PMC59574/32b73a28nPMCRole of endothelin-1 in lung d...Endothelin-1 (ET-1) is a 21 am...Fagan, Karen A; McMurtry, Ivan...https://www.ncbi.nlm.nih.gov/pmc/articles/PMC59574/
49785vg6dPMCGene expression in epithelial ...Respiratory syncytial virus (R...Domachowske, Joseph B; Bonvill...https://www.ncbi.nlm.nih.gov/pmc/articles/PMC59580/49785vg6dPMCGene expression in epithelial ...Respiratory syncytial virus (R...Domachowske, Joseph B; Bonvill...https://www.ncbi.nlm.nih.gov/pmc/articles/PMC59580/
\n" ], "text/plain": [ - "" + "" ] }, "execution_count": 6, @@ -627,7 +627,7 @@ }, { "cell_type": "code", - "execution_count": 21, + "execution_count": 12, "id": "6132c041-7213-410e-a206-1a8c7385128e", "metadata": { "tags": [] @@ -638,8 +638,8 @@ "output_type": "stream", "text": [ "200\n", - "Status: inProgress\n", - "Items Processed: 2500\n", + "Status: success\n", + "Items Processed: 0\n", "True\n" ] } @@ -698,9 +698,9 @@ ], "metadata": { "kernelspec": { - "display_name": "Python 3.10 - SDK v2", + "display_name": "GPTSearch3 (Python 3.12)", "language": "python", - "name": "python310-sdkv2" + "name": "gptsearch3" }, "language_info": { "codemirror_mode": { @@ -712,7 +712,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.10.14" + "version": "3.12.8" } }, "nbformat": 4, diff --git a/03-Quering-AOpenAI.ipynb b/03-Quering-AOpenAI.ipynb index f4206242..8507e791 100644 --- a/03-Quering-AOpenAI.ipynb +++ b/03-Quering-AOpenAI.ipynb @@ -162,7 +162,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 9, "id": "faf2e30f-e71f-4533-ab52-27d048b80a89", "metadata": { "tags": [] @@ -173,7 +173,7 @@ "output_type": "stream", "text": [ "200\n", - "Index: srch-index-csv Results Found: 69676, Results Returned: 50\n", + "Index: srch-index-csv Results Found: 2801, Results Returned: 50\n", "200\n", "Index: srch-index-files Results Found: 2896, Results Returned: 50\n" ] @@ -227,7 +227,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 10, "id": "255c40f5-d836-480c-8c68-06a2282c8146", "metadata": { "tags": [] @@ -249,7 +249,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 11, "id": "9e938337-602d-4b61-8141-b8c92a5d91da", "metadata": { "tags": [] @@ -315,7 +315,7 @@ { "data": { "text/html": [ - "
https://blobstorageykymrki2enoa6.blob.core.windows.net/friends/s09/e07/c11.txt - score: 2.7
" + "
https://blobstorageixqo5iaqmpzwc.blob.core.windows.net/friends/s09/e07/c11.txt - score: 2.7
" ], "text/plain": [ "" @@ -339,7 +339,7 @@ { "data": { "text/html": [ - "
https://blobstorageykymrki2enoa6.blob.core.windows.net/friends/s05/e23/c02.txt - score: 2.42
" + "
https://blobstorageixqo5iaqmpzwc.blob.core.windows.net/friends/s05/e23/c02.txt - score: 2.42
" ], "text/plain": [ "" @@ -363,7 +363,7 @@ { "data": { "text/html": [ - "
https://blobstorageykymrki2enoa6.blob.core.windows.net/friends/s05/e23/c03.txt - score: 2.38
" + "
https://blobstorageixqo5iaqmpzwc.blob.core.windows.net/friends/s05/e23/c03.txt - score: 2.38
" ], "text/plain": [ "" @@ -387,7 +387,7 @@ { "data": { "text/html": [ - "
https://blobstorageykymrki2enoa6.blob.core.windows.net/friends/s06/e25/c01.txt - score: 2.37
" + "
https://blobstorageixqo5iaqmpzwc.blob.core.windows.net/friends/s06/e25/c01.txt - score: 2.37
" ], "text/plain": [ "" @@ -411,7 +411,7 @@ { "data": { "text/html": [ - "
https://blobstorageykymrki2enoa6.blob.core.windows.net/friends/s02/e20/c09.txt - score: 2.34
" + "
https://blobstorageixqo5iaqmpzwc.blob.core.windows.net/friends/s02/e20/c09.txt - score: 2.34
" ], "text/plain": [ "" @@ -435,7 +435,7 @@ { "data": { "text/html": [ - "
https://blobstorageykymrki2enoa6.blob.core.windows.net/friends/s06/e25/c05.txt - score: 2.31
" + "
https://blobstorageixqo5iaqmpzwc.blob.core.windows.net/friends/s06/e25/c05.txt - score: 2.31
" ], "text/plain": [ "" @@ -459,7 +459,7 @@ { "data": { "text/html": [ - "
https://blobstorageykymrki2enoa6.blob.core.windows.net/friends/s06/e24/c07.txt - score: 2.3
" + "
https://blobstorageixqo5iaqmpzwc.blob.core.windows.net/friends/s06/e24/c07.txt - score: 2.3
" ], "text/plain": [ "" @@ -483,7 +483,7 @@ { "data": { "text/html": [ - "
https://blobstorageykymrki2enoa6.blob.core.windows.net/friends/s02/e20/c05.txt - score: 2.28
" + "
https://blobstorageixqo5iaqmpzwc.blob.core.windows.net/friends/s06/e25/c08.txt - score: 2.28
" ], "text/plain": [ "" @@ -495,7 +495,7 @@ { "data": { "text/html": [ - "Joey Tribbiani: How come Richard looks so much cooler with one of these than me. Monica Geller: You know what, I think it's cute, you trying to b... Ross Geller: Look it's the artist formerly known as Chandler. Chandler Bing: Just tryin' somethin' here, ya know. Chandler Bing: Hey listen, we've gotta go, I promised Richard we'd meet him." + "Monica Geller: I don't know. Richard Burke: Oh, okay. Well, I'll just leave the door open and go sit on the couch. Monica Geller: Chandler is such an idiot. Richard Burke: Drink. Monica Geller: Yeah, I'll have a scotch. Richard Burke: ...on the rocks with a twist. Richard Burke: Oh really. Monica Geller: Yeah but it was because I-I had an eye exam." ], "text/plain": [ "" @@ -507,7 +507,7 @@ { "data": { "text/html": [ - "
https://blobstorageykymrki2enoa6.blob.core.windows.net/friends/s06/e25/c08.txt - score: 2.28
" + "
https://blobstorageixqo5iaqmpzwc.blob.core.windows.net/friends/s02/e20/c02.txt - score: 2.25
" ], "text/plain": [ "" @@ -519,7 +519,7 @@ { "data": { "text/html": [ - "Monica Geller: I don't know. Richard Burke: Oh, okay. Well, I'll just leave the door open and go sit on the couch. Monica Geller: Chandler is such an idiot. Richard Burke: Drink. Monica Geller: Yeah, I'll have a scotch. Richard Burke: ...on the rocks with a twist. Richard Burke: Oh really. Monica Geller: Yeah but it was because I-I had an eye exam." + "... go so it's between my friend Eric Prower who has breath issuesHey, why don't you ask Richard. Joey Tribbiani: Ok, uh, hey Richard, if you had an extra ticket to the Knicks game and you had to choose between a friend who smells and one who bruises you who would you pick. Richard Burke: Wow. Chandler Bing: I don't know, Richard's really nice and." ], "text/plain": [ "" @@ -531,7 +531,7 @@ { "data": { "text/html": [ - "
https://blobstorageykymrki2enoa6.blob.core.windows.net/friends/s02/e20/c02.txt - score: 2.25
" + "
https://blobstorageixqo5iaqmpzwc.blob.core.windows.net/friends/s02/e24/c05.txt - score: 2.24
" ], "text/plain": [ "" @@ -543,7 +543,7 @@ { "data": { "text/html": [ - "... go so it's between my friend Eric Prower who has breath issuesHey, why don't you ask Richard. Joey Tribbiani: Ok, uh, hey Richard, if you had an extra ticket to the Knicks game and you had to choose between a friend who smells and one who bruises you who would you pick. Richard Burke: Wow. Chandler Bing: I don't know, Richard's really nice and." + "unknown: nan Joey Tribbiani: Come on, Chandler, I want this part soo much. Just one kiss, I won't tell anyone. Chandler Bing: Joey, no means no. Joey Tribbiani: Aww, Rach, I think you look cute And you, uh, you, you I could eat with a spoon. Ross Geller: Get away from me I said no. Monica Geller: Richard buzzed. He's waiting downstairs. Joey." ], "text/plain": [ "" @@ -555,7 +555,7 @@ { "data": { "text/html": [ - "
https://blobstorageykymrki2enoa6.blob.core.windows.net/friends/s02/e24/c05.txt - score: 2.24
" + "
https://blobstorageixqo5iaqmpzwc.blob.core.windows.net/friends/s05/e23/c09.txt - score: 2.2
" ], "text/plain": [ "" @@ -567,7 +567,7 @@ { "data": { "text/html": [ - "unknown: nan Joey Tribbiani: Come on, Chandler, I want this part soo much. Just one kiss, I won't tell anyone. Chandler Bing: Joey, no means no. Joey Tribbiani: Aww, Rach, I think you look cute And you, uh, you, you I could eat with a spoon. Ross Geller: Get away from me I said no. Monica Geller: Richard buzzed. He's waiting downstairs. Joey." + "unknown: nan Monica Geller: Thank you. Phoebe Buffay: Thanks. Monica Geller: I can't believe this. This is like the worst night ever. Phoebe Buffay: Y'know Monica you had a minor setback in your relationship with Chandler. Big deal! It's only Chandler. I am so sorry. Monica Geller: This is crazy. I mean, it's such a stupid argument. I don't even." ], "text/plain": [ "" @@ -579,7 +579,7 @@ { "data": { "text/html": [ - "
https://blobstorageykymrki2enoa6.blob.core.windows.net/friends/s05/e04/c05.txt - score: 2.24
" + "
https://blobstorageixqo5iaqmpzwc.blob.core.windows.net/friends/s06/e25/c11.txt - score: 2.2
" ], "text/plain": [ "" @@ -591,7 +591,7 @@ { "data": { "text/html": [ - "'Cause I just gave bi... Chandler Bing: Hey, Monica. Can I ask you a cooking question. Monica Geller: Sure. Chandler Bing: If you're cooking on the stove, does that mean that your new secret boyfriend is better in bed than Richard. Rachel Green: Chandler! Is he. Monica Geller: Well, y'know I-I-I think I'm gonna respect the privacy of my new secret." + "unknown: nan Richard Burke: Chandler. Chandler Bing: Where is she. I'm not scared of you. Richard Burke: She's not here and please come in. Chandler Bing: Scotch on the rocks, with a twist, on a coaster. Ha-ha, Monica! Monica. Richard Burke: Okay, she was here, but she left. Chandler Bing: Well where did she go. Rich... And can I give you a piece." ], "text/plain": [ "" @@ -603,7 +603,7 @@ { "data": { "text/html": [ - "
https://blobstorageykymrki2enoa6.blob.core.windows.net/friends/s05/e23/c09.txt - score: 2.2
" + "
https://blobstorageixqo5iaqmpzwc.blob.core.windows.net/friends/s02/e20/c04.txt - score: 2.16
" ], "text/plain": [ "" @@ -615,7 +615,7 @@ { "data": { "text/html": [ - "unknown: nan Monica Geller: Thank you. Phoebe Buffay: Thanks. Monica Geller: I can't believe this. This is like the worst night ever. Phoebe Buffay: Y'know Monica you had a minor setback in your relationship with Chandler. Big deal! It's only Chandler. I am so sorry. Monica Geller: This is crazy. I mean, it's such a stupid argument. I don't even." + "Phoebe Buffay: Yeah, I talked to my grandma about the Old Yeller incident, and she told me that my mom used to not show us the ends of sad movies to shield us from the pain and sadness. Chandler Bing: Hey. ... HeyWhere is he, where's Richard. Chandler Bing: Your boyfriend is so cool. Chandler Bing: Yeah, he let us drive his Jaguar. Hey Chandler,." ], "text/plain": [ "" @@ -627,7 +627,7 @@ { "data": { "text/html": [ - "
https://blobstorageykymrki2enoa6.blob.core.windows.net/friends/s06/e25/c11.txt - score: 2.2
" + "
https://blobstorageixqo5iaqmpzwc.blob.core.windows.net/friends/s01/e06/c03.txt - score: 2.14
" ], "text/plain": [ "" @@ -639,7 +639,7 @@ { "data": { "text/html": [ - "unknown: nan Richard Burke: Chandler. Chandler Bing: Where is she. I'm not scared of you. Richard Burke: She's not here and please come in. Chandler Bing: Scotch on the rocks, with a twist, on a coaster. Ha-ha, Monica! Monica. Richard Burke: Okay, she was here, but she left. Chandler Bing: Well where did she go. Rich... And can I give you a piece." + "Chandler Bing: Hey, kids. #ALL#: Hey. Phoebe Buffay: No, 'cause this line is passion, and this is... just a line. Chandler Bing: Well, I can't believe I've been here almost seven seconds and you haven't asked me how my date went. Monica Geller: Oh, right, right. I mean, anthropologically speaking- unknown: nan Ross G... Fine, alright, now you'll." ], "text/plain": [ "" @@ -651,7 +651,7 @@ { "data": { "text/html": [ - "
https://blobstorageykymrki2enoa6.blob.core.windows.net/friends/s02/e20/c04.txt - score: 2.16
" + "
https://blobstorageixqo5iaqmpzwc.blob.core.windows.net/friends/s05/e15/c04.txt - score: 2.13
" ], "text/plain": [ "" @@ -663,7 +663,7 @@ { "data": { "text/html": [ - "Phoebe Buffay: Yeah, I talked to my grandma about the Old Yeller incident, and she told me that my mom used to not show us the ends of sad movies to shield us from the pain and sadness. Chandler Bing: Hey. ... HeyWhere is he, where's Richard. Chandler Bing: Your boyfriend is so cool. Chandler Bing: Yeah, he let us drive his Jaguar. Hey Chandler,." + "Chandler Bing: Sounds like a fun party. Rachel Green: And that crazy party animal will be ... Chandler Bing: Very, very funny, but don't say things like that in front of Monica. I don't want you putting any ideas in her head. Chandler Bing: Yeah, so, what's that supposed to mean. Rachel Green: Hey, Chandler, don't freak out. I'm telling you." ], "text/plain": [ "" @@ -675,7 +675,7 @@ { "data": { "text/html": [ - "
https://blobstorageykymrki2enoa6.blob.core.windows.net/friends/s01/e06/c03.txt - score: 2.14
" + "
https://blobstorageixqo5iaqmpzwc.blob.core.windows.net/friends/s05/e22/c01.txt - score: 2.05
" ], "text/plain": [ "" @@ -687,7 +687,7 @@ { "data": { "text/html": [ - "Chandler Bing: Hey, kids. #ALL#: Hey. Phoebe Buffay: No, 'cause this line is passion, and this is... just a line. Chandler Bing: Well, I can't believe I've been here almost seven seconds and you haven't asked me how my date went. Monica Geller: Oh, right, right. I mean, anthropologically speaking- unknown: nan Ross G... Fine, alright, now you'll." + "unknown: nan Ross Geller: What's going on. Rac... I'm not gonna go see your ex-boyfriend. Chandler Bing: Oh, Richard. That's all I ever hear, Richard, Richard, Richard. Monica Geller: Since we've been going out, I think I've mentioned his name twice. Chandler Bing: Okay, so Richard, Richard. Monica Geller: It's not Richard. Okay. Chandler Bing:." ], "text/plain": [ "" @@ -699,7 +699,7 @@ { "data": { "text/html": [ - "
https://blobstorageykymrki2enoa6.blob.core.windows.net/friends/s05/e15/c04.txt - score: 2.13
" + "
https://blobstorageixqo5iaqmpzwc.blob.core.windows.net/friends/s02/e24/c03.txt - score: 2.02
" ], "text/plain": [ "" @@ -711,7 +711,7 @@ { "data": { "text/html": [ - "Chandler Bing: Sounds like a fun party. Rachel Green: And that crazy party animal will be ... Chandler Bing: Very, very funny, but don't say things like that in front of Monica. I don't want you putting any ideas in her head. Chandler Bing: Yeah, so, what's that supposed to mean. Rachel Green: Hey, Chandler, don't freak out. I'm telling you." + "Ross Geller: What's she look like. Chandler Bing: Well, we haven't exactly met, we just stayed up all night talking on the internet. Monica Geller: Woo-hoo, geeek. Chandler Bing: I li... Rachel Green: Wow. What's that like. Chandler Bing: It's like this, me, no jokes. Phoebe Buffay: All right, stop it, you're freaking me out. Richard Burke: Oh,." ], "text/plain": [ "" @@ -723,7 +723,7 @@ { "data": { "text/html": [ - "
https://blobstorageykymrki2enoa6.blob.core.windows.net/friends/s05/e22/c01.txt - score: 2.05
" + "
https://blobstorageixqo5iaqmpzwc.blob.core.windows.net/friends/s03/e13/c03.txt - score: 2.02
" ], "text/plain": [ "" @@ -735,7 +735,7 @@ { "data": { "text/html": [ - "unknown: nan Ross Geller: What's going on. Rac... I'm not gonna go see your ex-boyfriend. Chandler Bing: Oh, Richard. That's all I ever hear, Richard, Richard, Richard. Monica Geller: Since we've been going out, I think I've mentioned his name twice. Chandler Bing: Okay, so Richard, Richard. Monica Geller: It's not Richard. Okay. Chandler Bing:." + "unknown: nan Chandler Bing: Yeah, baby. Ross Geller: What are you doing. Chandler Bing: Making chocolate milk. Do you ... Rachel Green: Somebody got in late last night. Monica Geller: Yeah well, I ran into Richard. unknown: nan Rachel Green: When did this happen. Monica Geller: Oh, um, around 8:02. Rachel Green: Monica, what are you doing.." ], "text/plain": [ "" @@ -747,7 +747,7 @@ { "data": { "text/html": [ - "
https://blobstorageykymrki2enoa6.blob.core.windows.net/friends/s02/e24/c03.txt - score: 2.02
" + "
https://blobstorageixqo5iaqmpzwc.blob.core.windows.net/friends/s09/e20/c11.txt - score: 1.9
" ], "text/plain": [ "" @@ -759,7 +759,7 @@ { "data": { "text/html": [ - "Ross Geller: What's she look like. Chandler Bing: Well, we haven't exactly met, we just stayed up all night talking on the internet. Monica Geller: Woo-hoo, geeek. Chandler Bing: I li... Rachel Green: Wow. What's that like. Chandler Bing: It's like this, me, no jokes. Phoebe Buffay: All right, stop it, you're freaking me out. Richard Burke: Oh,." + "Friends hooking up is a bad idea. Rachel Green: Please, what about you and Chandler. Monica Geller: That's different. Rachel Green: No. Ross: Hey R... Ross: I'm smarter than him! unknown: nan Phoebe Buffay: Hey, thank you so much for these tickets, Chandler. Chandler Bing: Oh well, this was a really important experience for me, and I wanted to." ], "text/plain": [ "" @@ -771,7 +771,7 @@ { "data": { "text/html": [ - "
https://blobstorageykymrki2enoa6.blob.core.windows.net/friends/s03/e13/c03.txt - score: 2.02
" + "
https://blobstorageixqo5iaqmpzwc.blob.core.windows.net/friends/s02/e05/c02.txt - score: 1.86
" ], "text/plain": [ "" @@ -783,7 +783,7 @@ { "data": { "text/html": [ - "unknown: nan Chandler Bing: Yeah, baby. Ross Geller: What are you doing. Chandler Bing: Making chocolate milk. Do you ... Rachel Green: Somebody got in late last night. Monica Geller: Yeah well, I ran into Richard. unknown: nan Rachel Green: When did this happen. Monica Geller: Oh, um, around 8:02. Rachel Green: Monica, what are you doing.." + "Please let me be happy. Ross Geller: Go over there and tell that woman the truth. Chandler Bing: All right. Ross Geller: Go. Chandler Bing: Hi. Jade: Hi. Chandler Bing: Listen, I have to, uh, um, I have to, I have to confess something. Jade: Yes. Chandler Bing: Whoever stood you up is a jerk. Jade: How did you--. Chandler Bing: I don't know. I." ], "text/plain": [ "" @@ -795,7 +795,7 @@ { "data": { "text/html": [ - "
https://blobstorageykymrki2enoa6.blob.core.windows.net/friends/s06/e25/c10.txt - score: 2.0
" + "
https://blobstorageixqo5iaqmpzwc.blob.core.windows.net/friends/s03/e13/c02.txt - score: 1.85
" ], "text/plain": [ "" @@ -807,7 +807,7 @@ { "data": { "text/html": [ - "unknown: nan Monica Geller: I missed you-you ugly, flat faced old freak. Richard Burke: Excuse me. Richard Burke: Yeah. Talking about pig sex over ... Richard Burke: I think that's fair. Monica Geller: Fair. Fair would've been you wanting to marry me back then. Or fair would've been Chandler wanting to marry me now. Believe me, nothing about this." + "unknown: nan Monica Geller: You see that guy. He's in classics now, but y'know as soon as we leave he's going straight to the porn. Richard Burke: He's gonna go up to the counter with Citizen Kane, Vertigo, and Clockwork Orgy. Monica Geller: Yeah. Richard Burke: I missed this. Monica Geller: Me too. Richard Burke: So, you wanna get a hamburger or." ], "text/plain": [ "" @@ -819,7 +819,7 @@ { "data": { "text/html": [ - "
https://blobstorageykymrki2enoa6.blob.core.windows.net/friends/s09/e20/c11.txt - score: 1.9
" + "
https://blobstorageixqo5iaqmpzwc.blob.core.windows.net/friends/s02/e16/c08.txt - score: 1.84
" ], "text/plain": [ "" @@ -831,7 +831,7 @@ { "data": { "text/html": [ - "Friends hooking up is a bad idea. Rachel Green: Please, what about you and Chandler. Monica Geller: That's different. Rachel Green: No. Ross: Hey R... Ross: I'm smarter than him! unknown: nan Phoebe Buffay: Hey, thank you so much for these tickets, Chandler. Chandler Bing: Oh well, this was a really important experience for me, and I wanted to." + "unknown: nan Richard Burke: How ya doin'. Monica Geller: I'm a twinkie. Richard Burke: Really. Monica Geller: Oh, this is so hard. Richard Burke: Yeah, I know. I hate it too. Monica Geller: Maybe we should just tell your parents first. Richard Burke: My parents are dead. Monica Geller: God, you are so lucky. I mean, I mean. . . you... It's like a." ], "text/plain": [ "" @@ -843,7 +843,7 @@ { "data": { "text/html": [ - "
https://blobstorageykymrki2enoa6.blob.core.windows.net/friends/s02/e05/c02.txt - score: 1.86
" + "
https://blobstorageixqo5iaqmpzwc.blob.core.windows.net/friends/s02/e16/c11.txt - score: 1.81
" ], "text/plain": [ "" @@ -855,7 +855,7 @@ { "data": { "text/html": [ - "Please let me be happy. Ross Geller: Go over there and tell that woman the truth. Chandler Bing: All right. Ross Geller: Go. Chandler Bing: Hi. Jade: Hi. Chandler Bing: Listen, I have to, uh, um, I have to, I have to confess something. Jade: Yes. Chandler Bing: Whoever stood you up is a jerk. Jade: How did you--. Chandler Bing: I don't know. I." + "unknown: nan Monica Geller: Hey there. Richard Burke: What. Monica Geller: Nothing, I just heard something nice about you. Richard Burke: Humm, really. Judy Geller: Richard. Richard. Your son isn't seeing anyone is he. Richard Burke: Uhh, not that I know of. Judy Geller: Well, I was thinking, why does... Monica Geller: Yes, a relationship. For." ], "text/plain": [ "" @@ -867,7 +867,7 @@ { "data": { "text/html": [ - "
https://blobstorageykymrki2enoa6.blob.core.windows.net/friends/s03/e13/c02.txt - score: 1.85
" + "
https://blobstorageixqo5iaqmpzwc.blob.core.windows.net/friends/s09/e20/c08.txt - score: 1.8
" ], "text/plain": [ "" @@ -879,7 +879,7 @@ { "data": { "text/html": [ - "unknown: nan Monica Geller: You see that guy. He's in classics now, but y'know as soon as we leave he's going straight to the porn. Richard Burke: He's gonna go up to the counter with Citizen Kane, Vertigo, and Clockwork Orgy. Monica Geller: Yeah. Richard Burke: I missed this. Monica Geller: Me too. Richard Burke: So, you wanna get a hamburger or." + "unknown: nan Monica Geller: Hey. Joey said no autographs. But if she's gettting one, then I want one too: To Monica. Monica Geller: Look at you with all... Rachel Green: Yeah. Monica Geller: I guess you have forgotten all about Joey. Rachel Green: Yeah, well, I guess I have forgotten about Joey and clearly you've forgotten about Chandler. Monica." ], "text/plain": [ "" @@ -891,7 +891,7 @@ { "data": { "text/html": [ - "
https://blobstorageykymrki2enoa6.blob.core.windows.net/friends/s02/e16/c08.txt - score: 1.84
" + "
https://blobstorageixqo5iaqmpzwc.blob.core.windows.net/friends/s02/e15/c11.txt - score: 1.79
" ], "text/plain": [ "" @@ -903,7 +903,7 @@ { "data": { "text/html": [ - "unknown: nan Richard Burke: How ya doin'. Monica Geller: I'm a twinkie. Richard Burke: Really. Monica Geller: Oh, this is so hard. Richard Burke: Yeah, I know. I hate it too. Monica Geller: Maybe we should just tell your parents first. Richard Burke: My parents are dead. Monica Geller: God, you are so lucky. I mean, I mean. . . you... It's like a." + "unknown: nan Monica Geller: Wow, is that Michelle. Richard Burke: Yep. Richard Burke: Ya know, she's having another baby. Richard Burke: No no. Henry's almost two and he's talking and everyting. Richard Burke: Yeah. I mean I'm dating a man who's pool I once peed in. Richard Burke: I didn't need to know that. Richard Burke: Yeah, yeah, maybe.." ], "text/plain": [ "" @@ -915,7 +915,7 @@ { "data": { "text/html": [ - "
https://blobstorageykymrki2enoa6.blob.core.windows.net/friends/s02/e16/c11.txt - score: 1.81
" + "
https://blobstorageixqo5iaqmpzwc.blob.core.windows.net/friends/s05/e04/c03.txt - score: 1.75
" ], "text/plain": [ "" @@ -927,7 +927,7 @@ { "data": { "text/html": [ - "unknown: nan Monica Geller: Hey there. Richard Burke: What. Monica Geller: Nothing, I just heard something nice about you. Richard Burke: Humm, really. Judy Geller: Richard. Richard. Your son isn't seeing anyone is he. Richard Burke: Uhh, not that I know of. Judy Geller: Well, I was thinking, why does... Monica Geller: Yes, a relationship. For." + "unknown: nan Rachel Green: So Chandler, have you heard about Monica's secret boyfriend. Chandler Bing: Uhh, yeah. She uh, she uh, she uh might've mentioned him. Rachel Green: So Mon, when are we gonna meet this new secret waiter man. Monica Geller: Ohh, he's really shy. I-I don't think he's up to meeting everyone yet. You said that. Monica Geller:." ], "text/plain": [ "" @@ -939,7 +939,7 @@ { "data": { "text/html": [ - "
https://blobstorageykymrki2enoa6.blob.core.windows.net/friends/s09/e20/c08.txt - score: 1.8
" + "
https://blobstorageixqo5iaqmpzwc.blob.core.windows.net/friends/s03/e13/c09.txt - score: 1.73
" ], "text/plain": [ "" @@ -951,7 +951,7 @@ { "data": { "text/html": [ - "unknown: nan Monica Geller: Hey. Joey said no autographs. But if she's gettting one, then I want one too: To Monica. Monica Geller: Look at you with all... Rachel Green: Yeah. Monica Geller: I guess you have forgotten all about Joey. Rachel Green: Yeah, well, I guess I have forgotten about Joey and clearly you've forgotten about Chandler. Monica." + "unknown: nan Monica Geller: So we can be friends who sleep together. Richard Burke: Absolutely, this will just be something we do, like racquetball. Monica Geller: Sounds smart and healthy to me. ...her racquetballRichard Burke: Just your dad. Although that's actually racquetball. Monica Geller: Oh. Richard Burke: You want me to cancel it. Monica." ], "text/plain": [ "" @@ -963,7 +963,7 @@ { "data": { "text/html": [ - "
https://blobstorageykymrki2enoa6.blob.core.windows.net/friends/s02/e15/c11.txt - score: 1.79
" + "
https://blobstorageixqo5iaqmpzwc.blob.core.windows.net/friends/s05/e01/c06.txt - score: 1.73
" ], "text/plain": [ "" @@ -975,7 +975,7 @@ { "data": { "text/html": [ - "unknown: nan Monica Geller: Wow, is that Michelle. Richard Burke: Yep. Richard Burke: Ya know, she's having another baby. Richard Burke: No no. Henry's almost two and he's talking and everyting. Richard Burke: Yeah. I mean I'm dating a man who's pool I once peed in. Richard Burke: I didn't need to know that. Richard Burke: Yeah, yeah, maybe.." + "unknown: nan Monica Geller: Y'know, maybe it's best that we never got to do it again. Chandler Bing: Yeah, it kinda makes that-that one night special. Chandler Bing: 'Kay! unknown: nan Joey Tribbiani: Can I ask you something. Chandler Bing: Uhh, no. Joey Tribbiani: Felicity and I, we're watching My Giant, and I was thinking, \"I'm never gonna be as." ], "text/plain": [ "" @@ -987,7 +987,7 @@ { "data": { "text/html": [ - "
https://blobstorageykymrki2enoa6.blob.core.windows.net/friends/s05/e04/c03.txt - score: 1.75
" + "
https://blobstorageixqo5iaqmpzwc.blob.core.windows.net/friends/s04/e24/c23.txt - score: 1.73
" ], "text/plain": [ "" @@ -999,7 +999,7 @@ { "data": { "text/html": [ - "unknown: nan Rachel Green: So Chandler, have you heard about Monica's secret boyfriend. Chandler Bing: Uhh, yeah. She uh, she uh, she uh might've mentioned him. Rachel Green: So Mon, when are we gonna meet this new secret waiter man. Monica Geller: Ohh, he's really shy. I-I don't think he's up to meeting everyone yet. You said that. Monica Geller:." + "unknown: nan Monica Geller: Y'know, maybe it's best that we never got to do it again. Chandler Bing: Yeah, it kinda makes that-that one night special. Chandler Bing: 'Kay! unknown: nan Joey Tribbiani: Can I ask you something. Chandler Bing: Uhh, no. Joey Tribbiani: Felicity and I, we're watching My Giant, and I was thinking, \"I'm never gonna be as." ], "text/plain": [ "" @@ -1011,7 +1011,7 @@ { "data": { "text/html": [ - "
https://blobstorageykymrki2enoa6.blob.core.windows.net/friends/s03/e13/c09.txt - score: 1.73
" + "
https://blobstorageixqo5iaqmpzwc.blob.core.windows.net/friends/s01/e13/c04.txt - score: 1.71
" ], "text/plain": [ "" @@ -1023,7 +1023,7 @@ { "data": { "text/html": [ - "unknown: nan Monica Geller: So we can be friends who sleep together. Richard Burke: Absolutely, this will just be something we do, like racquetball. Monica Geller: Sounds smart and healthy to me. ...her racquetballRichard Burke: Just your dad. Although that's actually racquetball. Monica Geller: Oh. Richard Burke: You want me to cancel it. Monica." + "Joey Tribbiani: It's like if you woke up one day and found out your dad was leading this double life. He's like actually some spy, working for the C.I.A. Why can't you stop staring at my breasts. Chandler Bing: What? What. Rachel Green: Did you not get a good enough look the other day. Chandler Bing: Y'know, I don't see that happening. Rachel." ], "text/plain": [ "" @@ -1035,7 +1035,7 @@ { "data": { "text/html": [ - "
https://blobstorageykymrki2enoa6.blob.core.windows.net/friends/s05/e01/c06.txt - score: 1.73
" + "
https://blobstorageixqo5iaqmpzwc.blob.core.windows.net/friends/s06/e25/c02.txt - score: 1.7
" ], "text/plain": [ "" @@ -1047,7 +1047,7 @@ { "data": { "text/html": [ - "unknown: nan Monica Geller: Y'know, maybe it's best that we never got to do it again. Chandler Bing: Yeah, it kinda makes that-that one night special. Chandler Bing: 'Kay! unknown: nan Joey Tribbiani: Can I ask you something. Chandler Bing: Uhh, no. Joey Tribbiani: Felicity and I, we're watching My Giant, and I was thinking, \"I'm never gonna be as." + "unknown: nan Rachel Green: Isn't it incredible. Monica and Chandler, gettin' married. Phoebe Buffay: I know, they're gonna be so happy together. Rachel Green: I'm so happy and not at all jealous. No God, definitely not jealous! unknown: nan Rachel Green: I mean I'm probably 98% happy, maybe 2% jealous. And I mean w... I'm like 90/10. Rachel Green:." ], "text/plain": [ "" @@ -1059,7 +1059,7 @@ { "data": { "text/html": [ - "
https://blobstorageykymrki2enoa6.blob.core.windows.net/friends/s04/e24/c23.txt - score: 1.73
" + "
https://blobstorageixqo5iaqmpzwc.blob.core.windows.net/friends/s07/e05/c10.txt - score: 1.69
" ], "text/plain": [ "" @@ -1071,7 +1071,7 @@ { "data": { "text/html": [ - "unknown: nan Monica Geller: Y'know, maybe it's best that we never got to do it again. Chandler Bing: Yeah, it kinda makes that-that one night special. Chandler Bing: 'Kay! unknown: nan Joey Tribbiani: Can I ask you something. Chandler Bing: Uhh, no. Joey Tribbiani: Felicity and I, we're watching My Giant, and I was thinking, \"I'm never gonna be as." + "unknown: nan Joey Tribbiani: See. That's a great smile! Easy. Now, pretend I have a camera. You're changing it. Chandler Bing: I can't help it. Joey Tribbiani: All right, all right, all right, all right, you wanna know what I do when I take resume shots. Chandler Bing: Borrow money from me. Joey Tribbiani: Okay, first-first of all, you want to." ], "text/plain": [ "" @@ -1083,7 +1083,7 @@ { "data": { "text/html": [ - "
https://blobstorageykymrki2enoa6.blob.core.windows.net/friends/s01/e13/c04.txt - score: 1.71
" + "
https://blobstorageixqo5iaqmpzwc.blob.core.windows.net/friends/s02/e10/c07.txt - score: 1.68
" ], "text/plain": [ "" @@ -1095,7 +1095,7 @@ { "data": { "text/html": [ - "Joey Tribbiani: It's like if you woke up one day and found out your dad was leading this double life. He's like actually some spy, working for the C.I.A. Why can't you stop staring at my breasts. Chandler Bing: What? What. Rachel Green: Did you not get a good enough look the other day. Chandler Bing: Y'know, I don't see that happening. Rachel." + "unknown: nan Chandler Bing: Hey, we're having some fun now, huh, Ross. Wanna do another one, huh Russ. Chandler Bing: And weenie number two has it. Unless, of course, nine-down, Knight... You could try... but you would not be successful. Chandler Bing: OK, I'm gonna get some more coffee before the pinching and eye-poking begins. Russ: I know what." ], "text/plain": [ "" @@ -1107,7 +1107,7 @@ { "data": { "text/html": [ - "
https://blobstorageykymrki2enoa6.blob.core.windows.net/friends/s06/e25/c02.txt - score: 1.7
" + "
https://blobstorageixqo5iaqmpzwc.blob.core.windows.net/friends/s05/e12/c04.txt - score: 1.68
" ], "text/plain": [ "" @@ -1119,7 +1119,7 @@ { "data": { "text/html": [ - "unknown: nan Rachel Green: Isn't it incredible. Monica and Chandler, gettin' married. Phoebe Buffay: I know, they're gonna be so happy together. Rachel Green: I'm so happy and not at all jealous. No God, definitely not jealous! unknown: nan Rachel Green: I mean I'm probably 98% happy, maybe 2% jealous. And I mean w... I'm like 90/10. Rachel Green:." + "unknown: nan Chandler Bing: Hey. Everybody at work loved you last night. Monica Geller: Really. Chandler Bing: And. They like me more just because I was with ya. Monica Geller: Hey, I thought you alre... Chandler Bing: Oh I used too, but then Joey thought it would be fun to go to Central Park and hit rocks at...bigger rocks. Hey Rach, do you have." ], "text/plain": [ "" @@ -1131,7 +1131,7 @@ { "data": { "text/html": [ - "
https://blobstorageykymrki2enoa6.blob.core.windows.net/friends/s05/e12/c04.txt - score: 1.68
" + "
https://blobstorageixqo5iaqmpzwc.blob.core.windows.net/friends/s09/e06/c12.txt - score: 1.68
" ], "text/plain": [ "" @@ -1143,7 +1143,7 @@ { "data": { "text/html": [ - "unknown: nan Chandler Bing: Hey. Everybody at work loved you last night. Monica Geller: Really. Chandler Bing: And. They like me more just because I was with ya. Monica Geller: Hey, I thought you alre... Chandler Bing: Oh I used too, but then Joey thought it would be fun to go to Central Park and hit rocks at...bigger rocks. Hey Rach, do you have." + "What's... Monica Geller: Yes. What is the end of that sentence. Joey Tribbiani: Uhm. A penis model. Anyway, hey. Did you tell Chandler that some guy from work is the funniest guy you've ever met. Monica Geller: Yeah, so. Ross Geller: Wow. Joey Tribbiani: Really. Do you not know Chandler. Monica Geller: Is that why he's acting so weird. He's." ], "text/plain": [ "" @@ -1155,7 +1155,7 @@ { "data": { "text/html": [ - "
https://blobstorageykymrki2enoa6.blob.core.windows.net/friends/s09/e06/c12.txt - score: 1.68
" + "
https://blobstorageixqo5iaqmpzwc.blob.core.windows.net/friends/s03/e12/c15.txt - score: 1.67
" ], "text/plain": [ "" @@ -1167,7 +1167,7 @@ { "data": { "text/html": [ - "What's... Monica Geller: Yes. What is the end of that sentence. Joey Tribbiani: Uhm. A penis model. Anyway, hey. Did you tell Chandler that some guy from work is the funniest guy you've ever met. Monica Geller: Yeah, so. Ross Geller: Wow. Joey Tribbiani: Really. Do you not know Chandler. Monica Geller: Is that why he's acting so weird. He's." + "unknown: nan Rachel Green: So ah, did you have fun at the bachelor party last night. Chandler Bing: Oh yeah, yeah. Look what I got, look what I got. Let it be me. Rachel Green: Honey, that's very sweet, it just seems to me though, that if two people love each other and trust each other, like we do, there's no reason to be jealous. Ross Geller: I." ], "text/plain": [ "" @@ -1179,7 +1179,7 @@ { "data": { "text/html": [ - "
https://blobstorageykymrki2enoa6.blob.core.windows.net/friends/s03/e12/c15.txt - score: 1.67
" + "
https://blobstorageixqo5iaqmpzwc.blob.core.windows.net/friends/s02/e23/c09.txt - score: 1.67
" ], "text/plain": [ "" @@ -1191,7 +1191,7 @@ { "data": { "text/html": [ - "unknown: nan Rachel Green: So ah, did you have fun at the bachelor party last night. Chandler Bing: Oh yeah, yeah. Look what I got, look what I got. Let it be me. Rachel Green: Honey, that's very sweet, it just seems to me though, that if two people love each other and trust each other, like we do, there's no reason to be jealous. Ross Geller: I." + "unknown: nan Richard Burke: Ooh, duct tape. Was I supposed to bring something too. Monica Geller: This is for the scratchy twins out there. I taped oven mits to their hands. Richard Burke: You're strict. Monica Geller: It's for their own good. Richard Burke: You kn... Monica Geller: You would not. I can't believe this. I hate this, you're too." ], "text/plain": [ "" @@ -1203,7 +1203,7 @@ { "data": { "text/html": [ - "
https://blobstorageykymrki2enoa6.blob.core.windows.net/friends/s02/e23/c09.txt - score: 1.67
" + "
https://blobstorageixqo5iaqmpzwc.blob.core.windows.net/friends/s04/e10/c11.txt - score: 1.64
" ], "text/plain": [ "" @@ -1215,7 +1215,7 @@ { "data": { "text/html": [ - "unknown: nan Richard Burke: Ooh, duct tape. Was I supposed to bring something too. Monica Geller: This is for the scratchy twins out there. I taped oven mits to their hands. Richard Burke: You're strict. Monica Geller: It's for their own good. Richard Burke: You kn... Monica Geller: You would not. I can't believe this. I hate this, you're too." + "unknown: nan Rachel Green: Chandler. Patrick just uh, ended things with me. Did you or did you not tell him that I was looking for a serious relationship. Chandler Bing: I did. I absolutely did. Sure. Chandler Bing: Well, actually it's a hockey team, so it's angry Canadians with no teeth. Rachel Green: Well that sounds fun too. unknown: nan." ], "text/plain": [ "" @@ -1227,7 +1227,7 @@ { "data": { "text/html": [ - "
https://blobstorageykymrki2enoa6.blob.core.windows.net/friends/s04/e10/c11.txt - score: 1.64
" + "
https://blobstorageixqo5iaqmpzwc.blob.core.windows.net/friends/s08/e21/c05.txt - score: 1.63
" ], "text/plain": [ "" @@ -1239,7 +1239,7 @@ { "data": { "text/html": [ - "unknown: nan Rachel Green: Chandler. Patrick just uh, ended things with me. Did you or did you not tell him that I was looking for a serious relationship. Chandler Bing: I did. I absolutely did. Sure. Chandler Bing: Well, actually it's a hockey team, so it's angry Canadians with no teeth. Rachel Green: Well that sounds fun too. unknown: nan." + "unknown: nan Rachel Green: Hi Pheebs. Phoebe Buffay: Hey. Oh, how did baby shopping go. Rachel Green: You don't understand. You didn't see how brazen she was. Phoebe Buffay: Sounds like you're a little jealous. Rachel Green: No! I'm not. I-I-I just think it's wrong. It's-it's that I'm-Here I am about to pop and he's out picking up some sh... Are." ], "text/plain": [ "" @@ -1251,7 +1251,7 @@ { "data": { "text/html": [ - "
https://blobstorageykymrki2enoa6.blob.core.windows.net/friends/s08/e21/c05.txt - score: 1.63
" + "
https://blobstorageixqo5iaqmpzwc.blob.core.windows.net/friends/s03/e05/c03.txt - score: 1.61
" ], "text/plain": [ "" @@ -1263,7 +1263,7 @@ { "data": { "text/html": [ - "unknown: nan Rachel Green: Hi Pheebs. Phoebe Buffay: Hey. Oh, how did baby shopping go. Rachel Green: You don't understand. You didn't see how brazen she was. Phoebe Buffay: Sounds like you're a little jealous. Rachel Green: No! I'm not. I-I-I just think it's wrong. It's-it's that I'm-Here I am about to pop and he's out picking up some sh... Are." + "unknown: nan Chandler Bing: Does anyone else think David Copperfield is cute. Monica Geller: No, but he told me, he thinks your a fox. Chandler Bing: All right, Janice, likes him. In fact she likes him so much she put him on her freebie list. Joey Tribbiani: Her what. Chandler Bing: Well, we have a deal, where we each get to pick five celebrities." ], "text/plain": [ "" @@ -1275,7 +1275,7 @@ { "data": { "text/html": [ - "
https://blobstorageykymrki2enoa6.blob.core.windows.net/friends/s07/e23/c03.txt - score: 1.63
" + "
https://blobstorageixqo5iaqmpzwc.blob.core.windows.net/friends/s02/e03/c08.txt - score: 1.59
" ], "text/plain": [ "" @@ -1287,7 +1287,7 @@ { "data": { "text/html": [ - "unknown: nan The Assistant Director: Hey Joey. We're ready. Joey Tribbiani: Yeah. Me too. The Assistant Director: Richard. We're ready for you. Joey Tribbiani. This is Richard Crosby he's playing Vincent. Joey Tribbiani: I'm doing my scenes with you. Richard Burke: Nice to meet you Joey. Joey Tribbiani: Wow. I can't believe this. This is." + "Joey Tribbiani: Check it out, check it out. Heckles' high school yearbook. Chandler Bing: Wow, he looks so normal. Phoebe Buffay: He's even kind of cute. Joey Tribbiani: \"Heckles, you crack me up in science class. You're the funniest kid in school. Chandler Bing: Funniest? Heckles. Joey Tribbiani: That's what it says. Chandler Bing: Wow, Heckles." ], "text/plain": [ "" @@ -1299,7 +1299,7 @@ { "data": { "text/html": [ - "
https://blobstorageykymrki2enoa6.blob.core.windows.net/friends/s03/e05/c03.txt - score: 1.61
" + "
https://blobstorageixqo5iaqmpzwc.blob.core.windows.net/friends/s02/e15/c08.txt - score: 1.55
" ], "text/plain": [ "" @@ -1311,7 +1311,7 @@ { "data": { "text/html": [ - "unknown: nan Chandler Bing: Does anyone else think David Copperfield is cute. Monica Geller: No, but he told me, he thinks your a fox. Chandler Bing: All right, Janice, likes him. In fact she likes him so much she put him on her freebie list. Joey Tribbiani: Her what. Chandler Bing: Well, we have a deal, where we each get to pick five celebrities." + "unknown: nan Richard Burke: I'm going to look into your eyes now. Monica Geller: Really. Richard Burke: Yeah, that's my job. Alright, look up. . . look down, now open your eyes, now look down. Monica Geller: Good, they feel good, in my head. Richard Burke: So, it's great to see ya. Monica Geller: You too. Richard Burke: You too. Monica Geller: OK,." ], "text/plain": [ "" @@ -1323,7 +1323,7 @@ { "data": { "text/html": [ - "
https://blobstorageykymrki2enoa6.blob.core.windows.net/friends/s02/e03/c08.txt - score: 1.59
" + "
https://blobstorageixqo5iaqmpzwc.blob.core.windows.net/friends/s03/e13/c13.txt - score: 1.52
" ], "text/plain": [ "" @@ -1335,7 +1335,7 @@ { "data": { "text/html": [ - "Joey Tribbiani: Check it out, check it out. Heckles' high school yearbook. Chandler Bing: Wow, he looks so normal. Phoebe Buffay: He's even kind of cute. Joey Tribbiani: \"Heckles, you crack me up in science class. You're the funniest kid in school. Chandler Bing: Funniest? Heckles. Joey Tribbiani: That's what it says. Chandler Bing: Wow, Heckles." + "unknown: nan Monica Geller: Ow. Richard Burke: Really. Well, it's just like everyone else's apartment. It's got rooms, walls, and ceilings. Richard's Date:... Monica Geller: Y'know what, I've got to walk out of here right now, 'cause getting over you is the hardest thing that I have ever had to do. I don't think I could do it again. Richard Burke:." ], "text/plain": [ "" @@ -1347,7 +1347,7 @@ { "data": { "text/html": [ - "
https://blobstorageykymrki2enoa6.blob.core.windows.net/friends/s02/e16/c14.txt - score: 1.55
" + "
https://blobstorageixqo5iaqmpzwc.blob.core.windows.net/friends/s02/e18/c11.txt - score: 1.46
" ], "text/plain": [ "" @@ -1359,7 +1359,7 @@ { "data": { "text/html": [ - "unknown: nan Monica Geller: So, are you sorry that I told them. Richard Burke: No, it's been a long time since your dad and I went running. Rachel Green: Oh. Monica Geller: Oh. Well did you get it... Rachel Green: Oh really, OK. Monica Geller: That's great. Richard Burke: Very tasteful. Phoebe Buffay: Wanna see mine, wanna see mine. Monica Geller:." + "unknown: nan Richard Burke: That's it. That's the giant number you were afraid to tell me. Monica Geller: Well yeah. Richard Burke: Well, that's not bad at all. I mean, you had me thinkin it was like a fleet. Monica Geller: You really ok with it. Richard Burke: Oh honey, I'm fine. Monica Geller: Oh, yay. Ok about that two. Richard Burke: What.." ], "text/plain": [ "" @@ -1371,7 +1371,7 @@ { "data": { "text/html": [ - "
https://blobstorageykymrki2enoa6.blob.core.windows.net/friends/s03/e13/c13.txt - score: 1.52
" + "
https://blobstorageixqo5iaqmpzwc.blob.core.windows.net/friends/s02/e18/c04.txt - score: 1.43
" ], "text/plain": [ "" @@ -1383,7 +1383,7 @@ { "data": { "text/html": [ - "unknown: nan Monica Geller: Ow. Richard Burke: Really. Well, it's just like everyone else's apartment. It's got rooms, walls, and ceilings. Richard's Date:... Monica Geller: Y'know what, I've got to walk out of here right now, 'cause getting over you is the hardest thing that I have ever had to do. I don't think I could do it again. Richard Burke:." + "unknown: nan Phoebe Buffay: And a crusty old man said I'll do what I can and the rest of the rats played moroccas. That's it, thanks, good night. Richard Burke: Phoebe's got another job, right. Rachel Green: Great set tonight Phoebs. Richard Burke: Um, we should go too, I got patients at 8 in the moring. Well, I ... Richard Burke: I don't know, I." ], "text/plain": [ "" @@ -1395,7 +1395,7 @@ { "data": { "text/html": [ - "
https://blobstorageykymrki2enoa6.blob.core.windows.net/friends/s02/e18/c11.txt - score: 1.46
" + "
https://blobstorageixqo5iaqmpzwc.blob.core.windows.net/friends/s02/e15/c03.txt - score: 1.42
" ], "text/plain": [ "" @@ -1407,7 +1407,7 @@ { "data": { "text/html": [ - "unknown: nan Richard Burke: That's it. That's the giant number you were afraid to tell me. Monica Geller: Well yeah. Richard Burke: Well, that's not bad at all. I mean, you had me thinkin it was like a fleet. Monica Geller: You really ok with it. Richard Burke: Oh honey, I'm fine. Monica Geller: Oh, yay. Ok about that two. Richard Burke: What.." + "Monica Geller: Sorry we're late. Richard Burke: Ah, that's OK, come on in. Um, I'm sorry, is Monica Geller coming. I was told she was. Richard Burke: Oh, well obviously you know Barbara... Monica Geller: The head tilt. Richard Burke: Yeah, since the divorce, when anybody asks me how I am, it's always with a sympathetic head tilt. 'How ya doin'?." ], "text/plain": [ "" @@ -1419,7 +1419,7 @@ { "data": { "text/html": [ - "
https://blobstorageykymrki2enoa6.blob.core.windows.net/friends/s02/e18/c04.txt - score: 1.43
" + "
https://blobstorageixqo5iaqmpzwc.blob.core.windows.net/friends/s07/e23/c10.txt - score: 1.42
" ], "text/plain": [ "" @@ -1431,7 +1431,7 @@ { "data": { "text/html": [ - "unknown: nan Phoebe Buffay: And a crusty old man said I'll do what I can and the rest of the rats played moroccas. That's it, thanks, good night. Richard Burke: Phoebe's got another job, right. Rachel Green: Great set tonight Phoebs. Richard Burke: Um, we should go too, I got patients at 8 in the moring. Well, I ... Richard Burke: I don't know, I." + "unknown: nan Richard Burke: Hey Joey, could you uh, go through these lines with me. ...ey TribbianiRichard Burke: Just the last two pages. Joey Tribbiani: All right. unknown: nan Richard Burke: I found the picture! unknown: nan Joey Tribbiani: Picture. Richard Burke: Could you uh, could you lower your script. Joey Tribbiani: Okay uh, look I know." ], "text/plain": [ "" @@ -1443,7 +1443,7 @@ { "data": { "text/html": [ - "
https://blobstorageykymrki2enoa6.blob.core.windows.net/friends/s02/e15/c03.txt - score: 1.42
" + "
https://blobstorageixqo5iaqmpzwc.blob.core.windows.net/friends/s02/e24/c04.txt - score: 1.38
" ], "text/plain": [ "" @@ -1455,7 +1455,7 @@ { "data": { "text/html": [ - "Monica Geller: Sorry we're late. Richard Burke: Ah, that's OK, come on in. Um, I'm sorry, is Monica Geller coming. I was told she was. Richard Burke: Oh, well obviously you know Barbara... Monica Geller: The head tilt. Richard Burke: Yeah, since the divorce, when anybody asks me how I am, it's always with a sympathetic head tilt. 'How ya doin'?." + "unknown: nan Monica Geller: Where's Benny. There he is. Where's Benny, there he is. Richard Burke: Awww. You know that's probably why babies learn to talk, so they can tell grown ups to cut it out. Monica Geller: H... Just a little thing, no pressure. Richard Burke: Okay. Monica Geller: Did you ever, uh, like, think about the future. Richard." ], "text/plain": [ "" @@ -1467,7 +1467,7 @@ { "data": { "text/html": [ - "
https://blobstorageykymrki2enoa6.blob.core.windows.net/friends/s02/e24/c04.txt - score: 1.38
" + "
https://blobstorageixqo5iaqmpzwc.blob.core.windows.net/friends/s02/e18/c09.txt - score: 1.36
" ], "text/plain": [ "" @@ -1479,7 +1479,7 @@ { "data": { "text/html": [ - "unknown: nan Monica Geller: Where's Benny. There he is. Where's Benny, there he is. Richard Burke: Awww. You know that's probably why babies learn to talk, so they can tell grown ups to cut it out. Monica Geller: H... Just a little thing, no pressure. Richard Burke: Okay. Monica Geller: Did you ever, uh, like, think about the future. Richard." + "unknown: nan Monica Geller: Well it wasn't that many guys. I mean, if you consider how many guys there actually are, it's a very small percentage. Rachel Green: Hey, it's not that big a deal, I was just curious. Ross Geller: G'night. Richard Burke: Night Richard. Good luck Mon. Monica Geller: Alright, before I tell you, uh, why don't you tell me." ], "text/plain": [ "" @@ -1491,7 +1491,7 @@ { "data": { "text/html": [ - "
https://blobstorageykymrki2enoa6.blob.core.windows.net/friends/s02/e18/c09.txt - score: 1.36
" + "
https://blobstorageixqo5iaqmpzwc.blob.core.windows.net/friends/s03/e13/c06.txt - score: 1.35
" ], "text/plain": [ "" @@ -1503,7 +1503,7 @@ { "data": { "text/html": [ - "unknown: nan Monica Geller: Well it wasn't that many guys. I mean, if you consider how many guys there actually are, it's a very small percentage. Rachel Green: Hey, it's not that big a deal, I was just curious. Ross Geller: G'night. Richard Burke: Night Richard. Good luck Mon. Monica Geller: Alright, before I tell you, uh, why don't you tell me." + "unknown: nan Richard Burke: So when people complement me on my cooking should I, what do I say. Monica Geller: You say 'Thank you very much,' and then you buy me something pretty. Monica Geller: You touch people's eyeballs every day and this feels weird. Richard Burke: Yeah, well, sure I touch them, but I spent years learning not to squish them. ." ], "text/plain": [ "" @@ -1592,7 +1592,7 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 12, "id": "eea62a7d-7e0e-4a93-a89c-20c96560c665", "metadata": { "tags": [] @@ -1608,9 +1608,9 @@ "id": "325d9138-2250-4f6b-bc88-50d7957f8d33", "metadata": {}, "source": [ - "**Important Note**: Starting now, we will utilize OpenAI models. Please ensure that you have deployed the following models within the Azure OpenAI portal:\n", + "**Important Note**: Starting now, we will utilize Azure OpenAI models. Please ensure that you have deployed the following models within the Azure OpenAI portal:\n", "\n", - "- text-embedding-ada-002 (or newer)\n", + "- text-embedding-3-large\n", "- gpt-4o\n", "- gpt-4o-mini\n", "\n", @@ -1643,7 +1643,7 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 13, "id": "13df9247-e784-4e04-9475-55e672efea47", "metadata": { "tags": [] @@ -1658,7 +1658,7 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 14, "id": "a3b55adb-6f98-4f15-b67a-9fbba5820560", "metadata": { "tags": [] @@ -1682,7 +1682,7 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 15, "id": "77a37e60-a1ef-4750-a1ec-9e4fe5ba07fa", "metadata": { "tags": [] @@ -1694,7 +1694,7 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 16, "id": "6be6b4df-ee2c-4a0c-8ad3-a672d70f4f8d", "metadata": { "tags": [] @@ -1703,11 +1703,11 @@ { "data": { "text/markdown": [ - "Yes, Chandler does experience feelings of jealousy towards Richard in the TV show \"Friends.\" This occurs particularly in Season 2, when Monica starts dating Richard, who is significantly older than her. Chandler, who has a close friendship with Monica, feels uncomfortable with their relationship and expresses jealousy over the attention Monica gives to Richard. \n", + "Yes, Chandler does experience feelings of jealousy towards Richard in the TV show \"Friends.\" This jealousy primarily arises during the earlier seasons when Monica starts dating Richard, who is significantly older than her. Chandler, being one of Monica's close friends, feels protective of her and is concerned about the age difference and the potential for Richard to hurt her.\n", "\n", - "Chandler's jealousy is rooted in his protective feelings for Monica and his own insecurities about relationships. He worries about the age difference and whether Richard is the right person for her. This dynamic adds tension to the group’s interactions and highlights Chandler's struggles with his own romantic life at that time. \n", + "In particular, Chandler's jealousy is highlighted in Season 2, Episode 24 (\"The One with Barry and Mindy\"), when he expresses discomfort with Monica's relationship with Richard. He worries about how serious their relationship is and whether Richard is the right person for her. Chandler's jealousy is more about his concern for Monica's well-being and his protective instincts as a friend rather than a romantic rivalry.\n", "\n", - "Overall, Chandler's jealousy is a recurring theme in the series, especially when it comes to his friends' relationships, but it is particularly evident in the context of Monica and Richard's romance." + "Overall, while Chandler's jealousy is not a central theme, it does surface in moments throughout the series, reflecting his loyalty to Monica and his feelings about her relationship with Richard." ], "text/plain": [ "" @@ -1720,8 +1720,8 @@ "name": "stdout", "output_type": "stream", "text": [ - "CPU times: user 33.2 ms, sys: 2.72 ms, total: 35.9 ms\n", - "Wall time: 1.55 s\n" + "CPU times: user 30.5 ms, sys: 242 μs, total: 30.7 ms\n", + "Wall time: 1.93 s\n" ] } ], @@ -1809,7 +1809,7 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 17, "id": "12682a1b-df92-49ce-a638-7277103f6cb3", "metadata": { "tags": [] @@ -1833,7 +1833,7 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": 18, "id": "3bccca45-d1dd-476f-b109-a528b857b6b3", "metadata": { "tags": [] @@ -1855,7 +1855,7 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": 19, "id": "7714f38a-daaa-4fc5-a95a-dd025d153216", "metadata": { "tags": [] @@ -1876,7 +1876,7 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": 20, "id": "f86ed786-aca0-4e25-947b-d9cf3a82665c", "metadata": { "tags": [] @@ -1895,7 +1895,7 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": 21, "id": "25cba3d1-b5ab-4e28-96b3-ef923d99dc9f", "metadata": { "tags": [] @@ -1904,7 +1904,7 @@ { "data": { "text/markdown": [ - "Yes, Chandler Bing does exhibit jealousy towards Richard Burke in the context provided. In one of the exchanges, Chandler expresses his discomfort and jealousy regarding Monica's past relationship with Richard. He makes comments that indicate he is bothered by the fact that Richard still has feelings for Monica and that he keeps a tape of her, which suggests that he feels threatened by Richard's lingering presence in Monica's life. Additionally, Chandler's reactions and comments throughout the dialogues reflect his insecurities about his relationship with Monica in comparison to her past with Richard." + "Yes, Chandler Bing does exhibit jealousy towards Richard Burke in the context provided. In one exchange, Chandler expresses his discomfort and jealousy when he imagines Monica being with Richard, particularly when he pictures her in a compromising situation. He makes comments that indicate he is bothered by Richard's lingering feelings for Monica and the fact that Richard keeps a tape of Monica, suggesting that he feels threatened by Richard's past relationship with her. Additionally, Chandler's reactions and comments throughout the dialogues indicate that he is concerned about Richard's presence in Monica's life and how it affects their relationship." ], "text/plain": [ "" @@ -1917,8 +1917,8 @@ "name": "stdout", "output_type": "stream", "text": [ - "CPU times: user 19 ms, sys: 305 μs, total: 19.3 ms\n", - "Wall time: 3.74 s\n" + "CPU times: user 14.7 ms, sys: 3.91 ms, total: 18.6 ms\n", + "Wall time: 4.13 s\n" ] } ], @@ -1955,7 +1955,7 @@ }, { "cell_type": "code", - "execution_count": 21, + "execution_count": 22, "id": "bdf31f99-0dfb-423a-81f5-03018e61d9a9", "metadata": { "tags": [] @@ -1988,7 +1988,7 @@ }, { "cell_type": "code", - "execution_count": 22, + "execution_count": 23, "id": "19b39c79-c827-4437-b58b-6a6fae53b968", "metadata": { "tags": [] @@ -2001,7 +2001,7 @@ }, { "cell_type": "code", - "execution_count": 23, + "execution_count": 24, "id": "c7aa4f58-4791-40a0-80c5-6582e0574579", "metadata": { "tags": [] @@ -2013,7 +2013,7 @@ "50" ] }, - "execution_count": 23, + "execution_count": 24, "metadata": {}, "output_type": "execute_result" } @@ -2026,7 +2026,7 @@ }, { "cell_type": "code", - "execution_count": 24, + "execution_count": 25, "id": "11b6546f-b5c5-4168-97fc-2636c50e41c2", "metadata": { "tags": [] @@ -2051,7 +2051,7 @@ }, { "cell_type": "code", - "execution_count": 25, + "execution_count": 26, "id": "0144dd4d-b5ff-4585-816a-fd1d0a93e544", "metadata": { "tags": [] @@ -2069,7 +2069,7 @@ }, { "cell_type": "code", - "execution_count": 26, + "execution_count": 27, "id": "d7da2f31-cf5d-4f3a-aad5-67b50b56968e", "metadata": { "tags": [] @@ -2090,7 +2090,7 @@ }, { "cell_type": "code", - "execution_count": 27, + "execution_count": 28, "id": "b67200e5-d3ae-4c86-9f69-bc7b964ab532", "metadata": { "tags": [] @@ -2099,11 +2099,13 @@ { "data": { "text/markdown": [ - "Yes, Chandler does experience jealousy regarding Richard at various points in the series. For instance, in one conversation, Chandler expresses his feelings about Richard by saying, \"I just keep picturing you rolling around with him with your cowboy boots in the air...\" which indicates that he is struggling with images of Monica and Richard together [[1]](https://blobstorageykymrki2enoa6.blob.core.windows.net/friends/s09/e07/c11.txt?sv=2022-11-02&ss=b&srt=sco&sp=rltfx&se=2025-12-19T13:52:52Z&st=2024-12-19T05:52:52Z&spr=https&sig=69WdWGPdR6dFT0dFnsHZlvusv7haopeiDBhBgOaBx2A%3D).\n", + "Yes, Chandler Bing does express feelings of jealousy towards Richard Burke in various interactions. For instance, in one conversation, Chandler confronts Monica about Richard keeping a tape of her, suggesting that Richard is not over her and implying that he should feel bad for Richard instead of being jealous [[1]](https://blobstorageixqo5iaqmpzwc.blob.core.windows.net/friends/s09/e07/c11.txt?sv=2022-11-02&ss=b&srt=sco&sp=rltfx&se=2026-01-02T09:04:19Z&st=2025-01-02T01:04:19Z&spr=https&sig=q%2FjY9R25rdc%2BIH1iiq1uPIBm82xECsN9d%2B2ftdM1SJI%3D). \n", "\n", - "Additionally, Chandler's jealousy is further highlighted in another scene where he confronts Richard about his feelings for Monica, saying, \"You made my girlfriend think!!\" This shows that he is upset about Richard's influence on Monica and the fact that she is considering her past with him [[6]](https://blobstorageykymrki2enoa6.blob.core.windows.net/friends/s06/e25/c11.txt?sv=2022-11-02&ss=b&srt=sco&sp=rltfx&se=2025-12-19T13:52:52Z&st=2024-12-19T05:52:52Z&spr=https&sig=69WdWGPdR6dFT0dFnsHZlvusv7haopeiDBhBgOaBx2A%3D).\n", + "Additionally, when Monica runs into Richard and has lunch with him, she chooses not to tell Chandler because she believes it would freak him out, especially since it is close to their anniversary [[2]](https://blobstorageixqo5iaqmpzwc.blob.core.windows.net/friends/s05/e23/c02.txt?sv=2022-11-02&ss=b&srt=sco&sp=rltfx&se=2026-01-02T09:04:19Z&st=2025-01-02T01:04:19Z&spr=https&sig=q%2FjY9R25rdc%2BIH1iiq1uPIBm82xECsN9d%2B2ftdM1SJI%3D). \n", "\n", - "Overall, Chandler's jealousy towards Richard is a recurring theme that affects his relationship with Monica." + "In another instance, Chandler directly expresses his jealousy when he learns that Monica had lunch with Richard, as he feels insecure about his relationship with her and how Richard could potentially still have feelings for her [[3]](https://blobstorageixqo5iaqmpzwc.blob.core.windows.net/friends/s06/e25/c11.txt?sv=2022-11-02&ss=b&srt=sco&sp=rltfx&se=2026-01-02T09:04:19Z&st=2025-01-02T01:04:19Z&spr=https&sig=q%2FjY9R25rdc%2BIH1iiq1uPIBm82xECsN9d%2B2ftdM1SJI%3D). \n", + "\n", + "Overall, Chandler's jealousy is a recurring theme in his interactions with Monica regarding Richard." ], "text/plain": [ "" @@ -2116,8 +2118,8 @@ "name": "stdout", "output_type": "stream", "text": [ - "CPU times: user 38.6 ms, sys: 9.44 ms, total: 48.1 ms\n", - "Wall time: 7.08 s\n" + "CPU times: user 37.7 ms, sys: 8.83 ms, total: 46.5 ms\n", + "Wall time: 8.16 s\n" ] } ], @@ -2142,7 +2144,7 @@ }, { "cell_type": "code", - "execution_count": 28, + "execution_count": 29, "id": "efcfac6b-bac2-40c6-9ded-e4ee38e3093f", "metadata": { "tags": [] @@ -2151,11 +2153,9 @@ { "data": { "text/markdown": [ - "Yes, Chandler does exhibit jealousy towards Richard in several instances. For example, Chandler expresses his jealousy when Monica mentions Richard. He is concerned about Monica's past relationship with Richard and feels insecure about it. In one instance, Chandler remarks sarcastically about always hearing Richard's name and expresses his discomfort when Monica suggests seeing her eye doctor, Richard, by saying, \"Oh, Richard. That's all I ever hear, Richard, Richard, Richard!\" [[5]](https://blobstorageykymrki2enoa6.blob.core.windows.net/friends/s05/e22/c01.txt?sv=2022-11-02&ss=b&srt=sco&sp=rltfx&se=2025-12-19T13:52:52Z&st=2024-12-19T05:52:52Z&spr=https&sig=69WdWGPdR6dFT0dFnsHZlvusv7haopeiDBhBgOaBx2A%3D).\n", - "\n", - "Additionally, Chandler's jealousy is evident when he is concerned about Monica's interaction with Richard. He becomes upset when he learns that Monica had lunch with Richard and tries to downplay his feelings by pretending not to be mad, even though he is clearly bothered by it [[3]](https://blobstorageykymrki2enoa6.blob.core.windows.net/friends/s05/e23/c03.txt?sv=2022-11-02&ss=b&srt=sco&sp=rltfx&se=2025-12-19T13:52:52Z&st=2024-12-19T05:52:52Z&spr=https&sig=69WdWGPdR6dFT0dFnsHZlvusv7haopeiDBhBgOaBx2A%3D).\n", + "Yes, Chandler does experience jealousy towards Richard. In one instance, Chandler expresses his jealousy when he discovers that Monica had lunch with Richard. Monica tries to assure Chandler that it was nothing, but Chandler is clearly bothered by the situation, even though he tries to hide it by saying he's not mad [[3]](https://blobstorageixqo5iaqmpzwc.blob.core.windows.net/friends/s05/e23/c03.txt?sv=2022-11-02&ss=b&srt=sco&sp=rltfx&se=2026-01-02T09:04:19Z&st=2025-01-02T01:04:19Z&spr=https&sig=q%2FjY9R25rdc%2BIH1iiq1uPIBm82xECsN9d%2B2ftdM1SJI%3D).\n", "\n", - "Moreover, Chandler's insecurity is highlighted when he finds out that Richard still has feelings for Monica and is willing to offer her things that Chandler hasn't yet, which makes Chandler feel threatened [[12]](https://blobstorageykymrki2enoa6.blob.core.windows.net/friends/s06/e25/c11.txt?sv=2022-11-02&ss=b&srt=sco&sp=rltfx&se=2025-12-19T13:52:52Z&st=2024-12-19T05:52:52Z&spr=https&sig=69WdWGPdR6dFT0dFnsHZlvusv7haopeiDBhBgOaBx2A%3D)." + "Additionally, Chandler's jealousy is evident when he confronts Richard after Monica goes to see him. Chandler accuses Richard of making Monica \"think\" about their relationship, which clearly upsets him. Chandler even reveals to Richard that he was planning to propose to Monica, showing how serious he is about their relationship and how threatened he feels by Richard's presence [[11]](https://blobstorageixqo5iaqmpzwc.blob.core.windows.net/friends/s06/e25/c11.txt?sv=2022-11-02&ss=b&srt=sco&sp=rltfx&se=2026-01-02T09:04:19Z&st=2025-01-02T01:04:19Z&spr=https&sig=q%2FjY9R25rdc%2BIH1iiq1uPIBm82xECsN9d%2B2ftdM1SJI%3D)." ], "text/plain": [ "" @@ -2168,8 +2168,8 @@ "name": "stdout", "output_type": "stream", "text": [ - "CPU times: user 40.9 ms, sys: 6.93 ms, total: 47.8 ms\n", - "Wall time: 11 s\n" + "CPU times: user 31.7 ms, sys: 10.3 ms, total: 42 ms\n", + "Wall time: 21 s\n" ] } ], @@ -2203,7 +2203,7 @@ }, { "cell_type": "code", - "execution_count": 29, + "execution_count": 30, "id": "6d250c88-5984-438f-8390-1d93756048ab", "metadata": { "tags": [] @@ -2213,7 +2213,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Yes, Chandler does exhibit jealousy towards Richard in several instances. One such instance is when Monica mentions having lunch with Richard, and Chandler tries to play it cool but is clearly affected by it. Phoebe mistakenly reveals to Chandler about Monica's lunch with Richard, and although Chandler initially says he is not mad, his behavior suggests otherwise [[3]](https://blobstorageykymrki2enoa6.blob.core.windows.net/friends/s05/e23/c03.txt?sv=2022-11-02&ss=b&srt=sco&sp=rltfx&se=2025-12-19T13:52:52Z&st=2024-12-19T05:52:52Z&spr=https&sig=69WdWGPdR6dFT0dFnsHZlvusv7haopeiDBhBgOaBx2A%3D). Additionally, Chandler expresses feelings of inadequacy and jealousy when he learns that Richard had taped over a video of Monica, suggesting that Richard is still not over her [[1]](https://blobstorageykymrki2enoa6.blob.core.windows.net/friends/s09/e07/c11.txt?sv=2022-11-02&ss=b&srt=sco&sp=rltfx&se=2025-12-19T13:52:52Z&st=2024-12-19T05:52:52Z&spr=https&sig=69WdWGPdR6dFT0dFnsHZlvusv7haopeiDBhBgOaBx2A%3D). Moreover, Chandler feels threatened by Richard's past with Monica, especially when Richard expresses his ongoing love for her [[4]](https://blobstorageykymrki2enoa6.blob.core.windows.net/friends/s06/e25/c01.txt?sv=2022-11-02&ss=b&srt=sco&sp=rltfx&se=2025-12-19T13:52:52Z&st=2024-12-19T05:52:52Z&spr=https&sig=69WdWGPdR6dFT0dFnsHZlvusv7haopeiDBhBgOaBx2A%3D)." + "Yes, Chandler does show signs of jealousy towards Richard in several instances. For example, Chandler expresses insecurity about Monica's past with Richard when he mentions that Richard is not over Monica and keeps a tape of her, which makes Chandler feel inadequate and jealous [[1]](https://blobstorageixqo5iaqmpzwc.blob.core.windows.net/friends/s09/e07/c11.txt?sv=2022-11-02&ss=b&srt=sco&sp=rltfx&se=2026-01-02T09:04:19Z&st=2025-01-02T01:04:19Z&spr=https&sig=q%2FjY9R25rdc%2BIH1iiq1uPIBm82xECsN9d%2B2ftdM1SJI%3D). Additionally, Chandler becomes concerned when Monica runs into Richard and has lunch with him, even though she assures Phoebe that she felt nothing for Richard anymore [[2]](https://blobstorageixqo5iaqmpzwc.blob.core.windows.net/friends/s05/e23/c02.txt?sv=2022-11-02&ss=b&srt=sco&sp=rltfx&se=2026-01-02T09:04:19Z&st=2025-01-02T01:04:19Z&spr=https&sig=q%2FjY9R25rdc%2BIH1iiq1uPIBm82xECsN9d%2B2ftdM1SJI%3D). Lastly, Chandler confronts Richard when Monica is contemplating their relationship, showing his jealousy and concern that Richard might win Monica back [[3]](https://blobstorageixqo5iaqmpzwc.blob.core.windows.net/friends/s06/e25/c11.txt?sv=2022-11-02&ss=b&srt=sco&sp=rltfx&se=2026-01-02T09:04:19Z&st=2025-01-02T01:04:19Z&spr=https&sig=q%2FjY9R25rdc%2BIH1iiq1uPIBm82xECsN9d%2B2ftdM1SJI%3D)." ] } ], @@ -2240,7 +2240,7 @@ }, { "cell_type": "code", - "execution_count": 30, + "execution_count": 31, "id": "ad7644c3-e92e-4e6c-9a3e-a64f6f036be8", "metadata": { "tags": [] @@ -2264,7 +2264,7 @@ }, { "cell_type": "code", - "execution_count": 31, + "execution_count": 32, "id": "69e78ed8-e03e-4b9b-a9d6-d4fbd9563b66", "metadata": { "tags": [] @@ -2293,8 +2293,8 @@ "name": "stdout", "output_type": "stream", "text": [ - "CPU times: user 33.2 ms, sys: 5.08 ms, total: 38.3 ms\n", - "Wall time: 1.24 s\n" + "CPU times: user 32.2 ms, sys: 4.02 ms, total: 36.2 ms\n", + "Wall time: 1.27 s\n" ] } ], @@ -2354,9 +2354,9 @@ ], "metadata": { "kernelspec": { - "display_name": "Python 3.10 - SDK v2", + "display_name": "GPTSearch3 (Python 3.12)", "language": "python", - "name": "python310-sdkv2" + "name": "gptsearch3" }, "language_info": { "codemirror_mode": { @@ -2368,7 +2368,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.10.14" + "version": "3.12.8" } }, "nbformat": 4, diff --git a/04-Complex-Docs.ipynb b/04-Complex-Docs.ipynb index b2c69593..4633c1e0 100644 --- a/04-Complex-Docs.ipynb +++ b/04-Complex-Docs.ipynb @@ -106,7 +106,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "Uploading Files: 100%|████████████████████████████████████████████████| 4/4 [00:02<00:00, 1.35it/s]" + "Uploading Files: 100%|████████████████████████████████████████████████| 4/4 [00:02<00:00, 1.42it/s]" ] }, { @@ -114,8 +114,8 @@ "output_type": "stream", "text": [ "Temp Folder: ./data/temp_extract removed\n", - "CPU times: user 323 ms, sys: 232 ms, total: 555 ms\n", - "Wall time: 4.25 s\n" + "CPU times: user 315 ms, sys: 190 ms, total: 506 ms\n", + "Wall time: 4.33 s\n" ] }, { @@ -198,7 +198,7 @@ "text": [ "Extracting Text from books/Boundaries_When_to_Say_Yes_How_to_Say_No_to_Take_Control_of_Your_Life.pdf ...\n", "Extracting text using PyPDF\n", - "Parsing took: 1.716138 seconds\n", + "Parsing took: 1.727564 seconds\n", "books/Boundaries_When_to_Say_Yes_How_to_Say_No_to_Take_Control_of_Your_Life.pdf contained 357 pages\n", "\n", "Extracting Text from books/Fundamentals_of_Physics_Textbook.pdf ...\n" @@ -298,17 +298,17 @@ "output_type": "stream", "text": [ "Extracting text using PyPDF\n", - "Parsing took: 103.235084 seconds\n", + "Parsing took: 98.872403 seconds\n", "books/Fundamentals_of_Physics_Textbook.pdf contained 1450 pages\n", "\n", "Extracting Text from books/Made_To_Stick.pdf ...\n", "Extracting text using PyPDF\n", - "Parsing took: 7.187607 seconds\n", + "Parsing took: 6.983265 seconds\n", "books/Made_To_Stick.pdf contained 225 pages\n", "\n", "Extracting Text from books/Pere_Riche_Pere_Pauvre.pdf ...\n", "Extracting text using PyPDF\n", - "Parsing took: 0.963074 seconds\n", + "Parsing took: 0.775370 seconds\n", "books/Pere_Riche_Pere_Pauvre.pdf contained 225 pages\n", "\n" ] @@ -365,24 +365,24 @@ "output_type": "stream", "text": [ "books/Boundaries_When_to_Say_Yes_How_to_Say_No_to_Take_Control_of_Your_Life.pdf \n", - " chunk text: 50\n", - "Avoidants: Saying “No” to the Good\n", - "The living room suddenly became very quiet. The Bible study\n", - "group that had been me ...\n", + " chunk text: 14\n", + "11:59 A.M.\n", + "The rest of Sherrie’s morning proceeded fairly well. A tal-\n", + "ented fashion designer, Sherrie had an unerrin ...\n", "\n", "books/Fundamentals_of_Physics_Textbook.pdf \n", - " chunk text: xx\n", - "Tutoring problem available (at instructor’s discretion) in WileyPLUS and WebAssign\n", - "SSM Worked-out solution available ...\n", + " chunk text: 71-3 MASS\n", + "international agreement, a mass of 1 kilogram. Accurate copies have been sent\n", + "to standardizing laboratories in ...\n", "\n", "books/Made_To_Stick.pdf \n", - " chunk text: The fact is, a local newspaper can never get enough local names. \n", - "I'd happily hire two more typesetters and add two more ...\n", + " chunk text: of both fruits rather than all of either. Should we trade? If so, how do \n", + "we go about doing it?\" \n", + "Students are initiall ...\n", "\n", "books/Pere_Riche_Pere_Pauvre.pdf \n", - " chunk text: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n", - "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~\n", - "~~ ...\n", + " chunk text: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n", + "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ...\n", "\n" ] } @@ -412,11 +412,11 @@ "output_type": "stream", "text": [ "Extracting text using Azure Document Intelligence\n", - "Parsing took: 47.844874 seconds\n", + "Parsing took: 45.923739 seconds\n", "books/Pere_Riche_Pere_Pauvre.pdf contained 225 pages\n", "\n", - "CPU times: user 12.1 s, sys: 236 ms, total: 12.3 s\n", - "Wall time: 47.9 s\n" + "CPU times: user 11.7 s, sys: 184 ms, total: 11.9 s\n", + "Wall time: 46 s\n" ] } ], @@ -453,7 +453,7 @@ "output_type": "stream", "text": [ "books/Pere_Riche_Pere_Pauvre.pdf \n", - " chunk text: une différence entre être pauvre et être sans le sou. Quand on est pauvre c'est ...\n", + " chunk text: « Comment donc devrions-nous nous y prendre pour faire de l'argent? » demanda Mi ...\n", "\n" ] } @@ -554,7 +554,7 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": 12, "id": "2df4db6b-969b-4b91-963f-9334e17a4e3c", "metadata": {}, "outputs": [ @@ -679,7 +679,7 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": 13, "id": "36691ff0-c4c8-49d0-bfa8-3e076ece0ce5", "metadata": {}, "outputs": [], @@ -706,7 +706,7 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": 16, "id": "a94911cf-c95f-4306-8574-b56296f29b88", "metadata": {}, "outputs": [], @@ -748,7 +748,7 @@ }, { "cell_type": "code", - "execution_count": 21, + "execution_count": 17, "id": "793a3171-f8f0-4070-8a54-8a540828333c", "metadata": {}, "outputs": [ @@ -763,7 +763,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "100%|██████████| 5/5 [00:27<00:00, 5.55s/it]\n" + "100%|██████████| 5/5 [00:26<00:00, 5.30s/it]\n" ] }, { @@ -791,7 +791,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "100%|██████████| 3/3 [00:18<00:00, 6.06s/it]\n" + "100%|██████████| 3/3 [00:17<00:00, 5.91s/it]\n" ] }, { @@ -805,15 +805,15 @@ "name": "stderr", "output_type": "stream", "text": [ - "100%|██████████| 3/3 [00:40<00:00, 13.44s/it]" + "100%|██████████| 3/3 [00:40<00:00, 13.57s/it]" ] }, { "name": "stdout", "output_type": "stream", "text": [ - "CPU times: user 14.2 s, sys: 217 ms, total: 14.4 s\n", - "Wall time: 7min 30s\n" + "CPU times: user 13.9 s, sys: 196 ms, total: 14.1 s\n", + "Wall time: 7min 29s\n" ] }, { @@ -844,13 +844,12 @@ }, { "cell_type": "code", - "execution_count": 22, + "execution_count": 18, "id": "8b408798-5527-44ca-9dba-cad2ee726aca", "metadata": {}, "outputs": [], "source": [ "QUESTION = \"what normally rich dad do that is different from poor dad?\"\n", - "# QUESTION = \"Tell me a summary of the book Boundaries\"\n", "# QUESTION = \"Dime que significa la radiacion del cuerpo negro\"\n", "# QUESTION = \"what is the acronym of the main point of Made to Stick book\"\n", "# QUESTION = \"Tell me a python example of how do I push documents with vectors to an index using the python SDK?\"\n", @@ -859,7 +858,7 @@ }, { "cell_type": "code", - "execution_count": 23, + "execution_count": 19, "id": "1b182ade-0ddd-47a1-b1eb-2cbf435c317f", "metadata": {}, "outputs": [], @@ -870,7 +869,7 @@ }, { "cell_type": "code", - "execution_count": 24, + "execution_count": 20, "id": "d50eecb2-ce26-4127-a62b-79735b937046", "metadata": {}, "outputs": [], @@ -888,7 +887,7 @@ }, { "cell_type": "code", - "execution_count": 25, + "execution_count": 21, "id": "410ff796-dab1-4817-a3a5-82eeff6c0c57", "metadata": {}, "outputs": [], @@ -911,7 +910,7 @@ }, { "cell_type": "code", - "execution_count": 26, + "execution_count": 22, "id": "9168d828-6519-4f1b-a243-56f75fa86160", "metadata": { "tags": [] @@ -928,7 +927,7 @@ }, { "cell_type": "code", - "execution_count": 27, + "execution_count": 23, "id": "26f47c69-44d8-48e3-974e-7989b4a8b7c5", "metadata": {}, "outputs": [], @@ -954,7 +953,7 @@ }, { "cell_type": "code", - "execution_count": 28, + "execution_count": 24, "id": "73f34192-519d-45b9-a0e2-a8b2de51ee1e", "metadata": {}, "outputs": [ @@ -962,25 +961,19 @@ "name": "stdout", "output_type": "stream", "text": [ - "The differences between the approaches of the \"rich dad\" and the \"poor dad\" in Robert Kiyosaki's \"Père riche, père pauvre\" can be summarized as follows:\n", + "The differences between the mindsets and actions of the \"rich dad\" and the \"poor dad\" in Robert Kiyosaki's \"Père riche, père pauvre\" are quite pronounced and can be summarized as follows:\n", "\n", - "1. **Mindset Towards Money**: \n", - " - The rich dad emphasizes the importance of making money work for you, stating, \"Les riches ne travaillent pas pour l'argent\" (The rich do not work for money) [[6]](https://blobstorageykymrki2enoa6.blob.core.windows.net/books/Pere_Riche_Pere_Pauvre.pdf).\n", - " - In contrast, the poor dad believes in working hard for a paycheck and prioritizes job security and benefits, focusing on obtaining a stable job with good benefits [[6]](https://blobstorageykymrki2enoa6.blob.core.windows.net/books/Pere_Riche_Pere_Pauvre.pdf).\n", + "1. **Attitude Towards Money**: The rich dad views money as a tool that can work for him, whereas the poor dad believes that money is something to be earned through hard work. The rich dad teaches that \"money works for you\" whereas the poor dad thinks \"you work for money\" [[6]](https://blobstorageixqo5iaqmpzwc.blob.core.windows.net/books/Pere_Riche_Pere_Pauvre.pdf).\n", "\n", - "2. **Education and Financial Literacy**:\n", - " - The rich dad encourages financial education and understanding how money works, asserting that \"l'éducation financière est plus puissante encore\" (financial education is even more powerful) [[2]](https://blobstorageykymrki2enoa6.blob.core.windows.net/books/Pere_Riche_Pere_Pauvre.pdf).\n", - " - The poor dad, while valuing education, believes in traditional schooling and obtaining good grades to secure a job, often overlooking financial literacy [[6]](https://blobstorageykymrki2enoa6.blob.core.windows.net/books/Pere_Riche_Pere_Pauvre.pdf).\n", + "2. **Financial Education**: The rich dad emphasizes the importance of financial education and understanding how money works. He believes that learning about money management and investments is crucial for wealth creation. In contrast, the poor dad focuses on traditional education and securing a stable job, believing that good grades will lead to a good job [[6]](https://blobstorageixqo5iaqmpzwc.blob.core.windows.net/books/Pere_Riche_Pere_Pauvre.pdf).\n", "\n", - "3. **Investment Philosophy**:\n", - " - The rich dad teaches the importance of acquiring assets that generate income, stating, \"Les gens riches acquièrent des actifs. Les pauvres et la classe moyenne acquièrent des éléments de passif mais ils croient que ce sont des actifs\" (The rich acquire assets. The poor and the middle class acquire liabilities but believe they are assets) [[6]](https://blobstorageykymrki2enoa6.blob.core.windows.net/books/Pere_Riche_Pere_Pauvre.pdf).\n", - " - Conversely, the poor dad often views the family home as the most significant investment, which can lead to financial strain [[6]](https://blobstorageykymrki2enoa6.blob.core.windows.net/books/Pere_Riche_Pere_Pauvre.pdf).\n", + "3. **Investment and Assets**: The rich dad teaches the importance of acquiring assets that generate income, while the poor dad considers his home as the most significant investment. The rich dad understands the difference between assets and liabilities, emphasizing that true wealth comes from accumulating assets that produce cash flow [[5]](https://blobstorageixqo5iaqmpzwc.blob.core.windows.net/books/Pere_Riche_Pere_Pauvre.pdf).\n", "\n", - "4. **Approach to Work and Learning**:\n", - " - The rich dad emphasizes learning through experience and encourages taking risks to foster growth and understanding in financial matters [[6]](https://blobstorageykymrki2enoa6.blob.core.windows.net/books/Pere_Riche_Pere_Pauvre.pdf).\n", - " - The poor dad, on the other hand, focuses on job security and discourages taking risks, believing that a stable job is the best path to financial security [[6]](https://blobstorageykymrki2enoa6.blob.core.windows.net/books/Pere_Riche_Pere_Pauvre.pdf).\n", + "4. **Mindset and Language**: The rich dad encourages a mindset that focuses on possibilities and opportunities, teaching his children to ask, \"How can I afford this?\" instead of saying, \"I can't afford this,\" which limits thinking. The poor dad, however, often expresses limitations regarding money [[6]](https://blobstorageixqo5iaqmpzwc.blob.core.windows.net/books/Pere_Riche_Pere_Pauvre.pdf).\n", "\n", - "These differences illustrate the contrasting philosophies regarding money, education, and investment between the two father figures in Kiyosaki's narrative." + "5. **Risk and Fear**: The rich dad teaches how to manage risks and leverage them for opportunity, while the poor dad tends to avoid risks and focuses on job security [[6]](https://blobstorageixqo5iaqmpzwc.blob.core.windows.net/books/Pere_Riche_Pere_Pauvre.pdf).\n", + "\n", + "These contrasting beliefs and behaviors highlight how mindset plays a crucial role in financial success and the ability to build wealth over time." ] } ], @@ -1000,7 +993,7 @@ }, { "cell_type": "code", - "execution_count": 29, + "execution_count": 25, "id": "14b77511-b178-4c9b-9fa5-fdddb0d3e586", "metadata": {}, "outputs": [ @@ -1008,17 +1001,11 @@ "name": "stdout", "output_type": "stream", "text": [ - "In \"Père Riche, Père Pauvre,\" the rich dad and poor dad have fundamentally different approaches to money and life, which influence their financial outcomes and philosophies:\n", - "\n", - "1. **Mindset and Education**: The rich dad emphasizes the importance of financial education and understanding how money works. He believes in making money work for him rather than working for money. In contrast, the poor dad, despite being well-educated, focuses on traditional education and securing a stable job, which he believes will lead to financial security [[1]](https://blobstorageykymrki2enoa6.blob.core.windows.net/books/Pere_Riche_Pere_Pauvre.pdf).\n", - "\n", - "2. **Investment and Assets**: The rich dad teaches the importance of acquiring assets that generate income, such as investments and businesses. He believes in building wealth through investments that appreciate over time. The poor dad, on the other hand, views his house as his primary investment and focuses on job security and saving money [[2]](https://blobstorageykymrki2enoa6.blob.core.windows.net/books/Pere_Riche_Pere_Pauvre.pdf).\n", - "\n", - "3. **Risk and Security**: The rich dad encourages taking calculated risks and learning to manage them, whereas the poor dad advises avoiding risks and seeking job security. The rich dad's approach is about leveraging opportunities to grow wealth, while the poor dad's approach is more about maintaining stability and avoiding financial loss [[3]](https://blobstorageykymrki2enoa6.blob.core.windows.net/books/Pere_Riche_Pere_Pauvre.pdf).\n", + "In \"Père riche, Père pauvre,\" the rich dad and the poor dad have fundamentally different approaches to money and life. The rich dad emphasizes the importance of financial education and making money work for you, rather than working for money. He believes in acquiring assets that generate income and encourages learning about how money works to achieve financial independence. The rich dad also stresses the importance of understanding the law and using it to one's advantage, often employing financial advisors and lawyers to minimize taxes and protect wealth [[1]](https://blobstorageixqo5iaqmpzwc.blob.core.windows.net/books/Pere_Riche_Pere_Pauvre.pdf).\n", "\n", - "4. **Financial Independence**: The rich dad believes in achieving financial independence through entrepreneurship and investments, allowing money to work for him. The poor dad, however, believes in working hard for money and relying on a steady paycheck from a secure job [[4]](https://blobstorageykymrki2enoa6.blob.core.windows.net/books/Pere_Riche_Pere_Pauvre.pdf).\n", + "On the other hand, the poor dad, despite being well-educated, focuses on job security and working for a stable salary. He believes in the traditional path of getting a good education to secure a good job with benefits. The poor dad often views the house as the most significant investment, whereas the rich dad sees it as a liability unless it generates income [[2]](https://blobstorageixqo5iaqmpzwc.blob.core.windows.net/books/Pere_Riche_Pere_Pauvre.pdf).\n", "\n", - "These differences in mindset and approach to money management are central themes in the book, illustrating how different attitudes towards money can lead to vastly different financial outcomes." + "The rich dad encourages thinking about how to afford things by asking \"How can I afford it?\" rather than saying \"I can't afford it,\" which is a mindset the poor dad often has. This difference in mindset leads to different financial outcomes and life paths [[3]](https://blobstorageixqo5iaqmpzwc.blob.core.windows.net/books/Pere_Riche_Pere_Pauvre.pdf)." ] } ], @@ -1066,9 +1053,9 @@ ], "metadata": { "kernelspec": { - "display_name": "GPTSearch2 (Python 3.12)", + "display_name": "GPTSearch3 (Python 3.12)", "language": "python", - "name": "gptsearch2" + "name": "gptsearch3" }, "language_info": { "codemirror_mode": { diff --git a/05-Adding_Memory.ipynb b/05-Adding_Memory.ipynb index 02048f9a..e6da02a2 100644 --- a/05-Adding_Memory.ipynb +++ b/05-Adding_Memory.ipynb @@ -142,25 +142,25 @@ { "data": { "text/markdown": [ - "Chinese medicine has been used as a complementary approach to support the treatment of COVID-19, especially in China. It's important to note that while some traditional Chinese medicines (TCM) have been studied for their potential benefits, they should not replace conventional medical treatments. Always consult with healthcare professionals before starting any treatment.\n", + "Chinese medicine, which includes traditional practices such as herbal remedies, acupuncture, and other therapies, has been used in China as part of the integrated approach to manage COVID-19. It is important to note that while some traditional Chinese medicines (TCM) have been used in conjunction with conventional treatments, they should not replace medical advice or treatments prescribed by healthcare professionals. Here are some TCM formulations that have been used in China to support COVID-19 management:\n", "\n", - "Here are some Chinese medicines and herbal formulas that have been explored in the context of COVID-19:\n", + "1. **Lianhua Qingwen Capsule**: This is a well-known TCM formulation that contains a combination of herbs. It is traditionally used to relieve symptoms associated with viral respiratory infections, such as fever, cough, and fatigue.\n", "\n", - "1. **Lianhua Qingwen**: This is a well-known Chinese herbal medicine composed of several herbs, including Forsythia, Honeysuckle, and Rhubarb. It has been used to alleviate symptoms of respiratory infections and has shown some promise in reducing symptoms associated with COVID-19 in various studies.\n", + "2. **Jinhua Qinggan Granule**: This formulation is used to relieve symptoms of influenza-like illnesses. It contains several herbs that are believed to help clear heat and detoxify the lungs.\n", "\n", - "2. **Shufeng Jiedu Capsule**: This formula is traditionally used for its antiviral and anti-inflammatory properties. It contains herbs like Forsythia and Baikal Skullcap, which are believed to help clear heat and toxins from the body.\n", + "3. **Shufeng Jiedu Capsule**: This is another herbal formulation used to address symptoms of upper respiratory tract infections. It is thought to help dispel wind, clear heat, and relieve toxicity.\n", "\n", - "3. **Jinhua Qinggan Granule**: Originally developed during the H1N1 influenza outbreak, this formula includes ingredients like Honeysuckle and Mint. It is used to alleviate symptoms such as fever and cough.\n", + "4. **Huoxiang Zhengqi Capsule**: Traditionally used to treat gastrointestinal symptoms, this formulation is sometimes used to address digestive issues that can occur with viral infections.\n", "\n", - "4. **Qingfei Paidu Decoction**: This is a comprehensive formula that combines several traditional prescriptions. It has been recommended by Chinese health authorities for treating COVID-19 due to its purported effects on clearing lung heat and detoxifying the body.\n", + "5. **Qingfei Paidu Decoction**: This is a classical TCM prescription that has been widely used in China during the COVID-19 pandemic. It is a combination of several herbal formulas and is believed to have a broad-spectrum antiviral effect.\n", "\n", - "5. **Xuebijing Injection**: This is an injectable preparation used in hospitals primarily for its anti-inflammatory and immune-modulating effects. It contains extracts from several herbs and has been used in severe cases of COVID-19 in China.\n", + "6. **Xuanfei Baidu Granule**: Developed during the COVID-19 pandemic, this formulation is used to clear heat and remove toxins, supporting respiratory health.\n", "\n", - "6. **Huoxiang Zhengqi San**: Traditionally used to treat gastrointestinal symptoms and dampness in the body, this formula can help with digestive issues associated with COVID-19.\n", + "7. **Pneumonia No. 1, 2, and 3 Decoctions**: These are specific formulations developed during the pandemic, used in some regions of China to treat COVID-19 symptoms.\n", "\n", - "While these traditional formulas have been used in China, their efficacy and safety for COVID-19 treatment are still under investigation. Clinical trials and scientific research are ongoing to better understand their potential benefits and risks.\n", + "While there are studies and anecdotal reports suggesting that these TCM formulations may help alleviate symptoms or support recovery, robust clinical trials are necessary to validate their efficacy and safety. Additionally, TCM should be used under the guidance of a qualified practitioner, especially when dealing with a complex condition like COVID-19.\n", "\n", - "Remember, TCM should be used as a complementary therapy rather than a standalone treatment. It is crucial to follow public health guidelines, including vaccination, wearing masks, and maintaining social distancing, to prevent COVID-19. Always discuss with healthcare providers before starting any new treatment, especially if you have underlying health conditions or are taking other medications." + "It's crucial to follow public health guidelines and use evidence-based treatments for COVID-19. Vaccination, antiviral medications, and supportive care remain the primary strategies for managing COVID-19. Always consult with healthcare professionals before starting any new treatment." ], "text/plain": [ "" @@ -188,7 +188,7 @@ { "data": { "text/markdown": [ - "I'm sorry, but I don't have access to previous interactions or the ability to recall past conversations. Could you please provide more context or restate your question? I'll be happy to help with any information or assistance you need." + "I'm sorry, but I don't have access to previous interactions or any personal data. Each session with me is stateless, meaning I don't retain information from past conversations. If you have a specific question or need information on a topic, feel free to ask, and I'll do my best to help!" ], "text/plain": [ "" @@ -259,7 +259,7 @@ { "data": { "text/markdown": [ - "Your prior question was about Chinese medicines that help fight COVID-19." + "Your prior question was: \"tell me chinese medicines that help fight covid-19\"" ], "text/plain": [ "" @@ -449,24 +449,17 @@ "tags": [] }, "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Empty Search Response\n" + ] + }, { "data": { "text/markdown": [ - "Traditional Chinese Medicine (TCM) has been utilized in various ways to help fight COVID-19. Some of the Chinese medicines and prescriptions that have been used include:\n", - "\n", - "1. **Qingfei Paidu Decoction**: This was recommended for the treatment of COVID-19 by the National Health Commission of the People's Republic of China and the National Administration of Traditional Chinese Medicine. TCM shows good clinical efficacy and great potential in the treatment of COVID-19, with previous studies indicating broad-spectrum antiviral activity [[11]](https://doi.org/10.19540/j.cnki.cjcmm.20200219.501; https://www.ncbi.nlm.nih.gov/pubmed/32281335/).\n", - "\n", - "2. **Maxing Shigan Decoction**: This is one of the basic formulations for Qifen syndrome of COVID-19 and is known for its properties of clearing heat, ventilating the lung, removing toxicity, and eliminating turbidity [[9]](https://www.ncbi.nlm.nih.gov/pubmed/32268018/).\n", - "\n", - "3. **Yin Qiao Powder**: Used for Weifen syndrome of COVID-19, this formulation is part of the strategy to remove toxicity and eliminate evil, which is a traditional thought in treating epidemic diseases in TCM [[9]](https://www.ncbi.nlm.nih.gov/pubmed/32268018/).\n", - "\n", - "4. **Xue Bi Jing Injection** and **Lianhua Qingwen Capsule**: These are Chinese patent drugs that have been used during the pandemic, with studies showing their use in treating COVID-19 [[9]](https://www.ncbi.nlm.nih.gov/pubmed/32268018/).\n", - "\n", - "5. **Shuang Huang Lian Kou Fu Ye** and **Qing Fei Pai Du Tang**: These traditional Chinese medicines have been noted for their role in triggering the inflammation pathway to fight the SARS-CoV-2 virus [[2]](https://doi.org/10.1101/2020.04.10.20060376).\n", - "\n", - "6. **Ma Xing Shi Gan Decoction**: This is widely applied in the clinical treatment of COVID-19 and is believed to reduce inflammation, suppress cytokine storms, protect the pulmonary alveolar-capillary barrier, alleviate pulmonary edema, regulate the immune response, and decrease fever [[4]](https://doi.org/10.26355/eurrev_202003_20704; https://www.ncbi.nlm.nih.gov/pubmed/32271454/).\n", - "\n", - "These medicines have been integrated with modern medicine in various treatment protocols to enhance efficacy and provide a comprehensive approach to managing COVID-19 symptoms and complications." + "The tools did not provide relevant information. I cannot answer this from prior knowledge." ], "text/plain": [ "" @@ -517,7 +510,7 @@ { "data": { "text/markdown": [ - "You're welcome! Goodbye! If you have any more questions in the future, feel free to ask." + "You're welcome! Goodbye!" ], "text/plain": [ "" @@ -581,9 +574,9 @@ ], "metadata": { "kernelspec": { - "display_name": "GPTSearch2 (Python 3.12)", + "display_name": "GPTSearch3 (Python 3.12)", "language": "python", - "name": "gptsearch2" + "name": "gptsearch3" }, "language_info": { "codemirror_mode": { diff --git a/06-First-RAG.ipynb b/06-First-RAG.ipynb index f389f386..2a3d6e52 100644 --- a/06-First-RAG.ipynb +++ b/06-First-RAG.ipynb @@ -69,6 +69,7 @@ "source": [ "import os\n", "import json\n", + "import uuid\n", "from typing import Dict, List, Annotated, Type\n", "from typing_extensions import TypedDict\n", "\n", @@ -224,7 +225,7 @@ " name=\"documents_retrieval\",\n", " description=\"Retrieves documents from knowledge base.\",\n", " indexes=[\"srch-index-files\", \"srch-index-csv\", \"srch-index-books\"], \n", - " k=5, \n", + " k=10, \n", " reranker_th=1, \n", " sas_token=os.environ['BLOB_SAS_TOKEN']\n", ")]" @@ -650,7 +651,7 @@ "name": "stdin", "output_type": "stream", "text": [ - "User: hey, how are you and who are you?\n" + "User: hey there, I'm Pablo who are you?\n" ] }, { @@ -659,17 +660,17 @@ "text": [ "================================\u001b[1m Human Message \u001b[0m=================================\n", "\n", - "hey, how are you and who are you?\n", + "hey there, I'm Pablo who are you?\n", "==================================\u001b[1m Ai Message \u001b[0m==================================\n", "\n", - "Hello! I'm Jarvis, an AI here to assist you with information and answer your questions based on data I can retrieve. How can I help you today?\n" + "Hello Pablo! I'm Jarvis, an AI here to help you with information and answer your questions based on data I can retrieve. How can I assist you today?\n" ] }, { "name": "stdin", "output_type": "stream", "text": [ - "User: I remember from Friends an episode where Ross fakes his dead, can you tell me what happened?\n" + "User: Who is Vince?\n" ] }, { @@ -678,29 +679,27 @@ "text": [ "================================\u001b[1m Human Message \u001b[0m=================================\n", "\n", - "I remember from Friends an episode where Ross fakes his dead, can you tell me what happened?\n", + "Who is Vince?\n", "==================================\u001b[1m Ai Message \u001b[0m==================================\n", "Tool Calls:\n", - " documents_retrieval (call_mHzmDJqVi2b6GGijx0awzfzI)\n", - " Call ID: call_mHzmDJqVi2b6GGijx0awzfzI\n", + " documents_retrieval (call_Vli3PMBHggv7Bb5vZ6ONWxlr)\n", + " Call ID: call_Vli3PMBHggv7Bb5vZ6ONWxlr\n", " Args:\n", - " query: Friends episode Ross fakes his death\n", + " query: Vince\n", "=================================\u001b[1m Tool Message \u001b[0m=================================\n", "Name: documents_retrieval\n", "\n", - "[{\"source\": \"https://blobstorageykymrki2enoa6.blob.core.windows.net/friends/s09/e17/c13.txt?sv=2022-11-02&ss=b&srt=sco&sp=rltfx&se=2025-12-19T13:52:52Z&st=2024-12-19T05:52:52Z&spr=https&sig=69WdWGPdR6dFT0dFnsHZlvusv7haopeiDBhBgOaBx2A%3D\", \"score\": 2.582392692565918, \"page_content\": \"unknown: nan\\r\\nRoss Geller: No Mum, I'm not dead. I know it's not something to kid about. It was just a practical joke between Chandler and me, but it's over, ok? Actually no, even if I had died, you would not be left childless. Monica?\"}, {\"source\": \"https://blobstorageykymrki2enoa6.blob.core.windows.net/friends/s09/e17/c05.txt?sv=2022-11-02&ss=b&srt=sco&sp=rltfx&se=2025-12-19T13:52:52Z&st=2024-12-19T05:52:52Z&spr=https&sig=69WdWGPdR6dFT0dFnsHZlvusv7haopeiDBhBgOaBx2A%3D\", \"score\": 2.5380842685699463, \"page_content\": \"unknown: nan\\r\\nMonica Geller: Alright, wait a second, why would Ross tell everyone in your class that you are as... \\\"gay as the day is long\\\"?\\r\\nChandler Bing: Because I told everyone he slept with dinosaurs.\\r\\nMonica Geller: But that's clearly a joke. This could easily be true.\\r\\nChandler Bing: Would you get that please? People have been calling to congratulate me all day.\\r\\nMonica Geller: Hello? No, he's not here. Yeah, this is his wife. Yeah, well, it came as quite a shock to me too. I guess I should have known. Yeah, I mean, he just kept making me watch Moulin Rouge.\\r\\nChandler Bing: Hang up, hang up. And that was a great movie! I'm so gonna get back at Ross... oh yeah, this will show him, here we go .\\r\\nMonica Geller: What are you doing?\\r\\nChandler Bing: Oh, you'll see my friend.\\r\\nRoss Geller: I'm dead?\\r\\nChandler Bing: And so young.\\r\\nRoss Geller: Posting that I died? That really isn't funny.\\r\\nChandler Bing: Well, how you died was funny.\\r\\nRoss Geller: Oh please, hit by a blimp?\\r\\nChandler Bing: It kills over one americans every year.\\r\\nRoss Geller: Unbelievable, my classmates are gonna think I'm dead, my professors, my... my parents are gonna get phone calls. You're messing with people's feelings here.\\r\\nChandler Bing: You wanna talk about people's feelings? You should have heard how hurt professor Stern was yesterday when I told him I wouldn't be able to go with him to Key West!\\r\\nRoss Geller: You've really crossed the line here, but that's okay, it's ok 'cause I'm on my way to buy some Photoshop software and a stack of gay porn. That's right! Your coming out is about to get real graphic.\"}, {\"source\": \"https://blobstorageykymrki2enoa6.blob.core.windows.net/friends/s10/e17/c14.txt?sv=2022-11-02&ss=b&srt=sco&sp=rltfx&se=2025-12-19T13:52:52Z&st=2024-12-19T05:52:52Z&spr=https&sig=69WdWGPdR6dFT0dFnsHZlvusv7haopeiDBhBgOaBx2A%3D\", \"score\": 2.3674073219299316, \"page_content\": \"unknown: nan\\r\\nPhoebe Buffay: Ross, where are you going?\\r\\nRoss Geller: To talk to Rachel, isn't that why we took a ride in the death-cab?\\r\\nPhoebe Buffay: What? What are you just gonna walk up to her at the gate? Have you never chased anyone through the airport before?\\r\\nRoss Geller: Not since my cop-show got cancelled.\\r\\nPhoebe Buffay: You have to get a ticket to get past security.\\r\\nRoss Geller: What? We're never gonna make it!\\r\\nPhoebe Buffay: Not with that attitude! Now, haul ass!\\r\\nRoss Geller: Okay, if you could all walk slower, that'd be great.\"}, {\"source\": \"https://blobstorageykymrki2enoa6.blob.core.windows.net/friends/s05/e20/c11.txt?sv=2022-11-02&ss=b&srt=sco&sp=rltfx&se=2025-12-19T13:52:52Z&st=2024-12-19T05:52:52Z&spr=https&sig=69WdWGPdR6dFT0dFnsHZlvusv7haopeiDBhBgOaBx2A%3D\", \"score\": 2.365103244781494, \"page_content\": \"unknown: nan\\r\\nRachel Green: Hey! Hi!\\r\\nRoss Geller: Rach, what uh, what are you doing here?\\r\\nRachel Green: Hey! Y'know what? You are in our apartment all the time! Okay? This is, this is just a drop in the bucket mister!\\r\\nRoss Geller: Y'know, it-it doesn't matter. The important thing is that you're here. You're my friend, and you're here. Oh!\\r\\nRachel Green: Okay, just a little scared. What's going on Ross?\\r\\nRoss Geller: The most amazing thing happened tonight. I thought my number was up. I had an actual near death experience!\\r\\nRachel Green: What?! What? What happened?!\\r\\nRoss Geller: Okay, okay, we were on the ride along with Gary, right?\\r\\nRachel Green: Yeah!\\r\\nRoss Geller: And somebody took a shot at me!\\r\\nRachel Green: Really?!\\r\\nRoss Geller: No, a car backfired, but I thought somebody was taking a shot at me. And Rach, I...I survived! And I was filled with this-this great respect for life. Y'know? I-I want to experience every moment. I want to seize every opportunity. I-I am seeing everything so-so clearly now.\\r\\nRachel Green: Because a car backfired?\\r\\nRoss Geller: Okay, why are you here?\\r\\nRachel Green: Well, I-I-I don't know how this fits into your whole \\\"seizing\\\" thing but um, Emily called you today.\\r\\nRoss Geller: You talked to her?\\r\\nRachel Green: No, she left a message. But it-it kinda got erased. There's just something wrong with your machine.\\r\\nRoss Geller: Well, okay, what-what did she say?\\r\\nRachel Green: Well, uh something about having second thoughts about the wedding and did you guys make a mistake breaking up and uh, she wants you to call her.\\r\\nRoss Geller: Wow!\\r\\nRachel Green: Now, that-that was a good thing that I told you, right?\\r\\nRoss Geller: Huh? Yeah! Yes, of course!\\r\\nRachel Green: Okay. Thank you! Thank you! Because-I'm sorry, all right. Because y'know what? She didn't want me-not important. The point is, I was right. Your decision. Okay? I was right. Your decision.\\r\\nRoss Geller: Right. I guess, I guess I should call Emily.\\r\\nRachel Green: Okay, no, that's not the right decision. That's not, that's not right, no Ross-Ross, come on! I mean, that woman made you miserable! Okay, Ross, do you really want to get back into that?\\r\\nRoss Geller: Okay, look, yesterday I would've even considered calling her back, but my ex-wife calls on the same day I have a near death experience. I mean, that-that has got to mean something!\\r\\nRachel Green: Ugh, Ross! That was not a near death experience! That was barely an experience!\\r\\nRoss Geller: You weren't there! Okay, maybe this is something that I-I'm supposed to seize! Y'know?\\r\\nRachel Green: Okay, y'know what? Maybe, this is not about seizing stuff. Maybe this is about escaping stuff.\\r\\nRoss Geller: Huh.\\r\\nRachel Green: I mean, look-look today you escaped death, y'know? And maybe this is a chance for you to escape getting back together with Emily?\\r\\nRoss Geller: That does make sense. Because I do wanna seize some opportunity, but I-I really don't wanna see or talk to her.\\r\\nRachel Green: Well, there you go!\\r\\nRoss Geller: Yeah. Maybe today is just, close call day.\\r\\nRachel Green: Close call day.\\r\\nRoss Geller: Hey, thanks Rach.\\r\\nRachel Green: Ohh, honey no problem. Okay.\\r\\nRoss Geller: Oh wait-wait-wait! The message is blinking. Maybe you didn't erase it.\\r\\nRachel Green: Oh?\\r\\nunknown: nan\\r\\nRoss Geller: \\\"Hey Ross, it's you!\\\" Oh yeah, no that's-that's an old message, nobody needs to hear that.\\r\\nRachel Green: No.\\r\\nRoss Geller: Hey umm, was-was Monica here?\\r\\nRachel Green: Yeah.\\r\\nRoss Geller: Yeah, I want my money back.\\r\\nRachel Green: Yeah, uh you-you probably need that for stamps, right?\\r\\nunknown: nan\"}, {\"source\": \"https://blobstorageykymrki2enoa6.blob.core.windows.net/friends/s05/e11/c02.txt?sv=2022-11-02&ss=b&srt=sco&sp=rltfx&se=2025-12-19T13:52:52Z&st=2024-12-19T05:52:52Z&spr=https&sig=69WdWGPdR6dFT0dFnsHZlvusv7haopeiDBhBgOaBx2A%3D\", \"score\": 2.2825119495391846, \"page_content\": \"unknown: nan\\r\\nRoss Geller: Y'know what? I'm gonna go out on a limb and say no divorces in '99!\\r\\nRachel Green: But your divorce isn't even final yet.\\r\\nRoss Geller: Just the one divorce in '99! Y'know what, I am gonna be happy this year. I am gonna make myself happy.\\r\\nChandler Bing: Do you want us to leave the room, or?\\r\\nRoss Geller: Everyday I am gonna do one thing that I haven't done before. That my friends is my New Year's resolution.\\r\\nPhoebe Buffay: Ooh! That's a good one! Mine is to pilot a commercial jet.\\r\\nChandler Bing: That's good one too, Pheebs. Now all you have to do is find a planeload of people who's resolution is to plummet to their deaths.\\r\\nPhoebe Buffay: Maybe your resolution is to not make fun of your friends, especially the ones who may soon be flying you to Europe for free on their own plane.\\r\\nMonica Geller: She has a better chance of sprouting wings and flying up your nose than you do of not making fun of us.\\r\\nRoss Geller: In fact, I'll bet you 50 bucks that you can't go the whole year without making fun of us. Eh, y'know what, better yet? A week.\\r\\nChandler Bing: I'll take that bet my friend. And you know what, paying me the 50 bucks could be the \\\"new thing you do that day!\\\" And it starts right now!\\r\\nJoey Tribbiani: All right, my New Year's resolution is to learn how to play the guitar.\\r\\nRoss Geller: Ohh.\\r\\nPhoebe Buffay: Really?! How come?\\r\\nJoey Tribbiani: Well, y'know those special skills I have listed on my resume? I would love it would be great if one of those was true.\\r\\nPhoebe Buffay: Do you want me to teach you? I'm a great teacher.\\r\\nJoey Tribbiani: Really? Who-who have you taught?\\r\\nPhoebe Buffay: Well, I taught me and I love me.\\r\\nJoey Tribbiani: Yeah that'd be great! Thanks Pheebs!\\r\\nRachel Green: Op, look! Claire forgot her glasses! And she's gonna be really needing these to keep an eye on that boyfriend, who, I hear, needs to keep his stapler in his desk drawer, if you know what I'm talking about.\\r\\nMonica Geller: Hey Rach, maybe your resolution should be to umm, gossip less.\\r\\nRachel Green: I don't gossip!\\r\\nunknown: nan\\r\\nRachel Green: Well, maybe sometimes I find out things or I hear something and I pass that information on y'know kinda like a public service, it doesn't mean I'm a gossip. I mean, would you call Ted Kopel a gossip?\\r\\nMonica Geller: Well if Ted Kopel talked about his coworkers botched boob jobs, I would.\\r\\nRachel Green: What? They were like this!\\r\\nunknown: nan\"}]\n", + "[{\"source\": \"https://blobstorageixqo5iaqmpzwc.blob.core.windows.net/friends/s03/e23/c02.txt?sv=2022-11-02&ss=b&srt=sco&sp=rltfx&se=2026-01-02T09:04:19Z&st=2025-01-02T01:04:19Z&spr=https&sig=q%2FjY9R25rdc%2BIH1iiq1uPIBm82xECsN9d%2B2ftdM1SJI%3D\", \"score\": 2.3851306438446045, \"page_content\": \"unknown: nan\\r\\nPhoebe Buffay: Okay, and then this is the coffee house. This is where I play my music.\\r\\nVince: Good deal.\\r\\nPhoebe Buffay: Yeah, and these are my friends. People. This is Vince, Vince the people.\\r\\nRachel Green: Hi!\\r\\nChandler Bing: Hey!\\r\\nVince: Hey!\\r\\nPhoebe Buffay: Vince is a fireman.\\r\\nRachel Green: Wow! Have you ever rescued anyone from a burning building before?\\r\\nVince: 98 hot saves, highest in the force.\\r\\nChandler Bing: Well, y'know if Joey and I played with matches we could get you up to an even hundred.\\r\\nVince: Fire safety is not a joke, son.\\r\\nChandler Bing: You're right, I know.\\r\\nVince: Look, I gotta go. I'm on call tonight. See you Saturday.\\r\\nPhoebe Buffay: Okay.\\r\\nRachel Green: Wow, he's cute, Pheebs! But I thought you just started dating that Kindergarten teacher.\\r\\nPhoebe Buffay: Oh, Jason? Yeah, uh-huh, we're seeing each other tonight.\\r\\nRachel Green: What-Pheebs?! Two dates in one day? That's so unlike you.\\r\\nPhoebe Buffay: I know, I know! I'm like playing the field. Y'know? Like, juggling two guys, I'm sowing my wild oats. Y'know? Y'know, this kind've like y'know oat-sowin', field-playin' juggler.\\r\\nJoey Tribbiani: So Pheebs, do they know about each other?\\r\\nPhoebe Buffay: Does a dog's lips move when he reads? Okay, no they don't.\\r\\nRoss Geller: Hey guys!\\r\\nJoey Tribbiani: Hey.\\r\\nRachel Green: Hi!\\r\\nunknown: nan\\r\\nJoey Tribbiani: Well?!\\r\\nChandler Bing: Okay, how'd it go at the doctor's?\\r\\nRoss Geller: Well, he said there's definitely nothing to worry about, it's totally benign.\\r\\nJoey Tribbiani: Well what is it?!\\r\\nRoss Geller: He couldn't even tell me! He said it was just some sort of skin... abnormality. And the worst thing is he-he-he said, he said, without being able to identify it, he was reluctant to remove it.\\r\\nChandler Bing: Y'know what? You should go to my guy, because when I went in there with my third nipple. He just lopped it right off. Y'know? So I guess I'm lucky. I mean not as lucky as people who were born with two nipples.\\r\\nRoss Geller: At least they knew what yours was. Y'know, yours had a name.\\r\\nJoey Tribbiani: Oh! Maybe they'll name yours after you! Y'know, they'll call it, The Ross. And then people would be like, \\\"Awww, he's got a Ross.\\\"\\r\\nRoss Geller: Yeah, that'd be cool!\\r\\nunknown: nan\\r\\nMonica Geller: Pete's breaking up with me.\\r\\n#ALL#: What?!\\r\\nMonica Geller: I just checked my messages, and he said that when he gets back from Atlanta, we need to talk.\\r\\nRachel Green: And?\\r\\nMonica Geller: Well that's it. People never say `We need to talk' unless it's something bad.\\r\\nJoey Tribbiani: Whoa, that doesn't necessarily mean that he's breaking up with you.\\r\\nMonica Geller: Really?!\\r\\nJoey Tribbiani: Yeah, maybe he just cheated on you.\"}, {\"source\": \"https://blobstorageixqo5iaqmpzwc.blob.core.windows.net/friends/s03/e23/c09.txt?sv=2022-11-02&ss=b&srt=sco&sp=rltfx&se=2026-01-02T09:04:19Z&st=2025-01-02T01:04:19Z&spr=https&sig=q%2FjY9R25rdc%2BIH1iiq1uPIBm82xECsN9d%2B2ftdM1SJI%3D\", \"score\": 2.3613812923431396, \"page_content\": \"unknown: nan\\r\\nPhoebe Buffay: Excuse me. Umm, is Vince here?\\r\\nFireman: Oh sure. Vince?!\\r\\nVince: Yo!!\\r\\nPhoebe Buffay: Wow! I didn't know you guys actually used those.\\r\\nVince: So, what's up?\\r\\nPhoebe Buffay: Umm, wow. This-this isn't gonna be easy. Umm, I don't think we should see each other anymore.\\r\\nVince: Uh-huh. G-good deal.\\r\\nPhoebe Buffay: I'm sorry.\\r\\nVince: No-no it's okay. It's just that ah, I thought we had something pretty special here. And y'know I-I felt like you were someone I could finally open up to, and... That there's so much in me I have to share with you yet.\\r\\nPhoebe Buffay: Oh my God, I didn't...\\r\\nVince: I'm sorry, I can't talk. I'm gonna go write in my journal.\\r\\nPhoebe Buffay: Wait-wait-wait! Wait!!\"}, {\"source\": \"https://blobstorageixqo5iaqmpzwc.blob.core.windows.net/friends/s03/e23/c05.txt?sv=2022-11-02&ss=b&srt=sco&sp=rltfx&se=2026-01-02T09:04:19Z&st=2025-01-02T01:04:19Z&spr=https&sig=q%2FjY9R25rdc%2BIH1iiq1uPIBm82xECsN9d%2B2ftdM1SJI%3D\", \"score\": 2.341087818145752, \"page_content\": \"unknown: nan\\r\\nMonica Geller: I gotta go water Pete's plants. Y'know what, if he's gonna break up with me, maybe I won't water his plants.\\r\\nChandler Bing: Well, if he's gonna break up with you, maybe Joey and I should water his plants. If y'know what I mean.\\r\\nJoey Tribbiani: Or ha-ha, we could go over there and pee on them.\\r\\nPhoebe Buffay: ...and I-I can't take it! Y'know? I'm just, always afraid one of them is gonna catch me with the other one. It's making me crazy.\\r\\nRachel Green: Well honey, then why don't you break up with one of them?\\r\\nPhoebe Buffay: Uh.\\r\\nJoey Tribbiani: Whoa-whoa-whoa. What ah, what happened to playing the field?\\r\\nPhoebe Buffay: Well, it just, it doesn't feel like playing anymore, it feels like work. It's like I'm working in the field.\\r\\nRachel Green: So Pheebs, pick one of them.\\r\\nMonica Geller: Yeah. Which one do you like more?\\r\\nPhoebe Buffay: Well, Vince is great, y'know `cause, he's like a guy, guy. Y'know? He's so burly, he's sooo very burly.\\r\\nJoey Tribbiani: Okay, good, so there you go. Go with Vince.\\r\\nPhoebe Buffay: Yeah, but Jason's really sensitive.\\r\\nChandler Bing: Well sensitive is important, pick him.\\r\\nPhoebe Buffay: Yeah.\\r\\nJoey Tribbiani: Oh sure, go with the sissy.\\r\\nPhoebe Buffay: Jason is not a sissy!\\r\\nJoey Tribbiani: Oh no-no-no-no, I meant Chandler.\"}, {\"source\": \"https://blobstorageixqo5iaqmpzwc.blob.core.windows.net/friends/s03/e23/c10.txt?sv=2022-11-02&ss=b&srt=sco&sp=rltfx&se=2026-01-02T09:04:19Z&st=2025-01-02T01:04:19Z&spr=https&sig=q%2FjY9R25rdc%2BIH1iiq1uPIBm82xECsN9d%2B2ftdM1SJI%3D\", \"score\": 2.2677128314971924, \"page_content\": \"unknown: nan\\r\\nPhoebe Buffay: I'm telling you, if you want to take care of that thing, you should go to my herbal guy.\\r\\nRoss Geller: Thank you, but I want to remove it Pheebs. I don't want to make it savory.\\r\\nMonica Geller: Y'know when girls sleep with guys with weird things on their body, they tell their friends about it.\\r\\nRoss Geller: Gimme this.\\r\\nRachel Green: Hi! Okay, don't be mad at me, but I couldn't resist.\\r\\nMonica Geller: Brides magazines?\\r\\nRachel Green: Yes, and I know that you'd say no if he asked you, but I'm sorry; how great would you look walking down the aisle in this Donna Carin.\\r\\nPhoebe Buffay: Oh, you so would! Oh, you should get that anyway. Like for clubbing.\\r\\nMonica Geller: It is so weird, I know what I said, but uh, this morning, I was lying in bed I was, I was imagining what it would be like to say yes. I know it's a little sudden, and it's a little rushed, and it's totally not like me to do something like this, but that doesn't mean I can't. Right? I mean I'm-I'm crazy about Pete, and I know that we want the same things, and when I thought about saying yes, it made me really happy.\\r\\nRachel Green: Oh my God.\\r\\nMonica Geller: I know. I need more pie.\\r\\nPhoebe Buffay: Hey Mon umm, if you do get married, can I bring two guests?\\r\\nRachel Green: You didn't break up with that fireman?\\r\\nPhoebe Buffay: No, that was my way of telling you. Well, it turns out he's incredibly sensitive, he keeps a journal and he paints. He even showed me charcoal drawings that he drew of me.\\r\\nRachel Green: Wow!\\r\\nPhoebe Buffay: Yeah, well he'd prefer water colors, but y'know, he has easy access to a lot of charcoal.\\r\\nMonica Geller: So then, are you going to dump Jason?\\r\\nPhoebe Buffay: Well, yeah, because I have to break up with someone, and... Okay so Jason is sensitive, but now so's Vince Plus, Vince has the body y'know? So... It's really just about the math.\"}, {\"source\": \"https://blobstorageixqo5iaqmpzwc.blob.core.windows.net/friends/s03/e23/c08.txt?sv=2022-11-02&ss=b&srt=sco&sp=rltfx&se=2026-01-02T09:04:19Z&st=2025-01-02T01:04:19Z&spr=https&sig=q%2FjY9R25rdc%2BIH1iiq1uPIBm82xECsN9d%2B2ftdM1SJI%3D\", \"score\": 2.228278160095215, \"page_content\": \"unknown: nan\\r\\nRachel Green: Mon you definitely have to make it a theme wedding, and the theme could be, \\\"Look how much money we've got!\\\" Y'know, I mean you could put, you could put money in-in the invitations! You-you could have like little money place settings. And ah, you could start with a money salad! I mean it'll be dry, but people will like it.\\r\\nMonica Geller: Would you stop? We've only been going out a couple of weeks, I mean we don't even know if he's gonna propose.\\r\\nChandler Bing: Yes, but this is Pete. Okay? He's not like other people, on your first date he took you to Rome. For most guys that's like a third or fourth date kinda thing.\\r\\nMonica Geller: Well if-if that's what it is, then it's-it's crazy.\\r\\nRoss Geller: Monica's right. We're talking about getting married here. Okay? She-she can't just rush into this.\\r\\nRachel Green: Oh please, what do you know! You married a lesbian!\\r\\nunknown: nan\\r\\nPhoebe Buffay: All right. I gotta go. I have break up with Vince.\\r\\nChandler Bing: Oh, so you're going with the teacher, huh?\\r\\nPhoebe Buffay: Yeah, I like Vince a lot, y'know? But, it's just Jason's so sensitive, y'know? And in the long run, I think sensitive it's just better than having just like a really, really, really nice butt. Jason! Definitely Jason! Okay, wish me luck!\\r\\n#ALL#: Good luck!\\r\\nunknown: nan\\r\\nRachel Green: OH MY GOD!!! Sorry, I was just imagining what it'd be like to catch the money bouquet.\"}, {\"source\": \"https://www.ncbi.nlm.nih.gov/pmc/articles/PMC7128084/?sv=2022-11-02&ss=b&srt=sco&sp=rltfx&se=2026-01-02T09:04:19Z&st=2025-01-02T01:04:19Z&spr=https&sig=q%2FjY9R25rdc%2BIH1iiq1uPIBm82xECsN9d%2B2ftdM1SJI%3D\", \"score\": 2.215007781982422, \"page_content\": \"The recently inaugurated Institut Pasteur of Shanghai-Chinese Academy of Sciences has appointed Vincent Deubel as Director. The institute will focus on major emerging public health problems in Asia.\"}, {\"source\": \"https://blobstorageixqo5iaqmpzwc.blob.core.windows.net/friends/s03/e23/c14.txt?sv=2022-11-02&ss=b&srt=sco&sp=rltfx&se=2026-01-02T09:04:19Z&st=2025-01-02T01:04:19Z&spr=https&sig=q%2FjY9R25rdc%2BIH1iiq1uPIBm82xECsN9d%2B2ftdM1SJI%3D\", \"score\": 2.197993278503418, \"page_content\": \"unknown: nan\\r\\nPhoebe Buffay: \\\"Crazy underwear, creepin' up my butt. Crazy underwear, always in a rut. Crazy under--wear...\\\" Oh No! What is he doing here? All right, just keep playing, just keep playing. You'll get through this; you'll be fine. Okay, thank you. And, as always no one talk to me after the show.\\r\\nunknown: nan\\r\\nJason: Hey. I was...\\r\\nPhoebe Buffay: Hey!\\r\\nJason: I was passin' by and I saw that you were playing tonight, it's kinda cool seeing you up there.\\r\\nVince: Whoa! Hey-hey! What's going on here? Who is this guy?\\r\\nPhoebe Buffay: I don't know, he just started kissing me. Get him! Get him, Vince!\\r\\nVince: What?!\\r\\nJason: What?!\\r\\nPhoebe Buffay: Yeah, okay, I've-I've been dating both of you, and it's been really horrible. 'Cause y'know it's been a lot of fun, for me. Umm, but I-I like you both, and I, and I didn't know how to chose, so... I'm sorry, I'm just, I'm terrible, I'm a terrible person. I'm terrible.\\r\\nVince: Phoebe, Phoebe relax, it's okay. I mean we never said this was exclusive.\\r\\nJason: Yeah, and neither did we. Give yourself a break.\\r\\nPhoebe Buffay: Really?!\\r\\nJason: Yeah. I mean y'know, we haven't been going out that long. Come on, we haven't even slept together yet. Huh.\\r\\nVince: You haven't?\\r\\nJason: You have?\\r\\nPhoebe Buffay: Well, this is none of my business.\\r\\nJason: I-I can't believe this! You-you've slept with him?!\\r\\nPhoebe Buffay: Well, I made you a candle light dinner in the park.\\r\\nJason: Y'know Phoebe, I'm gonna make this real easy for you.\\r\\nPhoebe Buffay: Well, that could've been really awkward.\\r\\nVince: You made him a candle light dinner in the park?\\r\\nPhoebe Buffay: Yeah, but I-I-I-I can do that for you, I'm gonna do that for you.\\r\\nVince: Uh yeah, I can't believe I ever went out with somebody who would actually have an open flame in the middle of a wooden area.\"}, {\"source\": \"https://blobstorageixqo5iaqmpzwc.blob.core.windows.net/friends/s07/e23/c12.txt?sv=2022-11-02&ss=b&srt=sco&sp=rltfx&se=2026-01-02T09:04:19Z&st=2025-01-02T01:04:19Z&spr=https&sig=q%2FjY9R25rdc%2BIH1iiq1uPIBm82xECsN9d%2B2ftdM1SJI%3D\", \"score\": 2.127697467803955, \"page_content\": \"unknown: nan\\r\\nThe Director: Action!\\r\\nRichard Burke: I found the picture!\\r\\nJoey Tribbiani: What picture?!\\r\\nRichard Burke: The picture of my wife! In your pack!\\r\\nJoey Tribbiani: You went through my personal property?\\r\\nRichard Burke: Why do have a picture of Paulette in your pack?!\\r\\nJoey Tribbiani: Because Vincent, we were lovers. For two years!\\r\\nThe Director: Cut! Wonderful!\\r\\nunknown: nan\\r\\nJoey Tribbiani: Great scene yeah?\\r\\nRichard Burke: Oh you're awesome! And, in that last speech? You soaked me.\\r\\nJoey Tribbiani: Thanks a lot.\\r\\nThe Assistant Director: Here's your call sheet for tomorrow.\\r\\nJoey Tribbiani: Oh, I'm-I'm not working tomorrow.\\r\\nThe Assistant Director: You are now.\\r\\nJoey Tribbiani: No! No! I can't! You gotta get me out of it! I've got plans! Important plans!\\r\\nunknown: nan\"}, {\"source\": \"https://blobstorageixqo5iaqmpzwc.blob.core.windows.net/books/Boundaries_When_to_Say_Yes_How_to_Say_No_to_Take_Control_of_Your_Life.pdf?sv=2022-11-02&ss=b&srt=sco&sp=rltfx&se=2026-01-02T09:04:19Z&st=2025-01-02T01:04:19Z&spr=https&sig=q%2FjY9R25rdc%2BIH1iiq1uPIBm82xECsN9d%2B2ftdM1SJI%3D\", \"score\": 2.084984064102173, \"page_content\": \"7\\nAcknowledgments\\nS\\ncott Bolinder and Bruce Ryskamp caught the vision for this\\nbook from the very beginning. They arranged for a retreat on\\nLake Michigan, where we passed this vision on to other Zon-\\ndervan staff members.\\nSandy Vander Zicht directed the editorial process and \\ufb01ne-\\ntuned the manuscript into a book that is more graceful, more\\nprecise, and easier to read and understand. Dan Runyon cut the\\nbook down to a manageable size.\\nDave Anderson translated this book into a video curriculum.\\nSealy Yates encouraged and supported us throughout the\\nwhole process, from contract to \\ufb01nished book.\\n01.Boundaries 5/14/01 12:36 PM Page 7\"}, {\"source\": \"https://www.ncbi.nlm.nih.gov/pmc/articles/PMC6990648/?sv=2022-11-02&ss=b&srt=sco&sp=rltfx&se=2026-01-02T09:04:19Z&st=2025-01-02T01:04:19Z&spr=https&sig=q%2FjY9R25rdc%2BIH1iiq1uPIBm82xECsN9d%2B2ftdM1SJI%3D\", \"score\": 2.0064690113067627, \"page_content\": \"Intracellular vesicle fusion is mediated by soluble N-ethylmaleimide sensitive factor attachment protein receptors (SNAREs) and Sec1/Munc18 (SM) proteins. It is generally accepted that membrane fusion occurs when the vesicle and target membranes are brought into close proximity by SNAREs and SM proteins. In this work, we demonstrate that, for fusion to occur, membrane bilayers must be destabilized by a conserved membrane-embedded motif located at the juxtamembrane region of the vesicle-anchored v-SNARE. Comprised of basic and hydrophobic residues, the juxtamembrane motif perturbs the lipid bilayer structure and promotes SNARE-SM-mediated membrane fusion. The juxtamembrane motif can be functionally substituted with an unrelated membrane-disrupting peptide in the membrane fusion reaction. These findings establish the juxtamembrane motif of the v-SNARE as a membrane-destabilizing peptide. Requirement of membrane-destabilizing peptides is likely a common feature of biological membrane fusion.\"}]\n", "==================================\u001b[1m Ai Message \u001b[0m==================================\n", "\n", - "In the \"Friends\" episode where Ross fakes his death, it all starts as a prank between Ross and Chandler. Chandler posts online that Ross has died, claiming he was hit by a blimp, which is a joke that Ross finds in poor taste. Ross is concerned that his classmates, professors, and even his parents will think he's dead, which would mess with people's feelings [[1]](https://blobstorageykymrki2enoa6.blob.core.windows.net/friends/s09/e17/c05.txt?sv=2022-11-02&ss=b&srt=sco&sp=rltfx&se=2025-12-19T13:52:52Z&st=2024-12-19T05:52:52Z&spr=https&sig=69WdWGPdR6dFT0dFnsHZlvusv7haopeiDBhBgOaBx2A%3D).\n", - "\n", - "Ross decides to hold a memorial service to see who would show up, but is disappointed when only a few people attend. One of the attendees, Kori Weston, reveals she had a crush on Ross, which makes him happy despite the awkward situation [[2]](https://blobstorageykymrki2enoa6.blob.core.windows.net/friends/s09/e17/c12.txt?sv=2022-11-02&ss=b&srt=sco&sp=rltfx&se=2025-12-19T13:52:52Z&st=2024-12-19T05:52:52Z&spr=https&sig=69WdWGPdR6dFT0dFnsHZlvusv7haopeiDBhBgOaBx2A%3D).\n" + "Vince is a character from the TV show \"Friends.\" He is introduced as a fireman and is one of Phoebe Buffay's romantic interests. Phoebe describes Vince as a \"guy's guy\" who is very burly. At one point, Phoebe is dating both Vince and another character named Jason, which causes her some stress as she juggles the two relationships. Vince is portrayed as someone who is sensitive and keeps a journal, and he even paints and shows Phoebe charcoal drawings he made of her [[1]](https://blobstorageixqo5iaqmpzwc.blob.core.windows.net/friends/s03/e23/c02.txt?sv=2022-11-02&ss=b&srt=sco&sp=rltfx&se=2026-01-02T09:04:19Z&st=2025-01-02T01:04:19Z&spr=https&sig=q%2FjY9R25rdc%2BIH1iiq1uPIBm82xECsN9d%2B2ftdM1SJI%3D) [[2]](https://blobstorageixqo5iaqmpzwc.blob.core.windows.net/friends/s03/e23/c09.txt?sv=2022-11-02&ss=b&srt=sco&sp=rltfx&se=2026-01-02T09:04:19Z&st=2025-01-02T01:04:19Z&spr=https&sig=q%2FjY9R25rdc%2BIH1iiq1uPIBm82xECsN9d%2B2ftdM1SJI%3D).\n" ] }, { "name": "stdin", "output_type": "stream", "text": [ - "User: great, you are good.. here goes another question: what is the name of the actor that plays Joey Tribbiani\n" + "User: thank you!, what is my name?\n" ] }, { @@ -709,27 +708,17 @@ "text": [ "================================\u001b[1m Human Message \u001b[0m=================================\n", "\n", - "great, you are good.. here goes another question: what is the name of the actor that plays Joey Tribbiani\n", - "==================================\u001b[1m Ai Message \u001b[0m==================================\n", - "Tool Calls:\n", - " documents_retrieval (call_lfXCldjPh5mx2Todwxxdi6Ne)\n", - " Call ID: call_lfXCldjPh5mx2Todwxxdi6Ne\n", - " Args:\n", - " query: actor who plays Joey Tribbiani in Friends\n", - "=================================\u001b[1m Tool Message \u001b[0m=================================\n", - "Name: documents_retrieval\n", - "\n", - "[{\"source\": \"https://blobstorageykymrki2enoa6.blob.core.windows.net/friends/s07/e04/c11.txt?sv=2022-11-02&ss=b&srt=sco&sp=rltfx&se=2025-12-19T13:52:52Z&st=2024-12-19T05:52:52Z&spr=https&sig=69WdWGPdR6dFT0dFnsHZlvusv7haopeiDBhBgOaBx2A%3D\", \"score\": 2.9315450191497803, \"page_content\": \"unknown: nan\\r\\nJoey Tribbiani: How could this happen to me?! Yesterday I had two TV shows! Today, I got nothin'!\\r\\nRachel Green: Well wait a minute, what happened to Days of Our Lives?\\r\\nJoey Tribbiani: Uh, well they might be a little mad at me over there.\\r\\nPhoebe Buffay: What happened?\\r\\nJoey Tribbiani: Well maybe I got a little upset and maybe I told them where they could go.\\r\\nRachel Green: Joey, why would you do that?\\r\\nJoey Tribbiani: Because they wanted me to audition!\\r\\nPhoebe Buffay: You! An actor?! That's madness!\"}, {\"source\": \"https://blobstorageykymrki2enoa6.blob.core.windows.net/friends/s05/e10/c03.txt?sv=2022-11-02&ss=b&srt=sco&sp=rltfx&se=2025-12-19T13:52:52Z&st=2024-12-19T05:52:52Z&spr=https&sig=69WdWGPdR6dFT0dFnsHZlvusv7haopeiDBhBgOaBx2A%3D\", \"score\": 2.9088587760925293, \"page_content\": \"unknown: nan\\r\\nJoey Tribbiani: How could I not get the part? The play was about a 29-year-old Italian actor from Queens.\\r\\nEstelle Leonard: Well, Telia Shire suddenly became available.\\r\\nJoey Tribbiani: She's a woman!\\r\\nEstelle Leonard: What can I say? She nailed it.\\r\\nJoey Tribbiani: Okay, is there anything else?\\r\\nEstelle Leonard: Well, you're just going to say no again but...gay porn.\"}, {\"source\": \"https://blobstorageykymrki2enoa6.blob.core.windows.net/friends/s09/e11/c08.txt?sv=2022-11-02&ss=b&srt=sco&sp=rltfx&se=2025-12-19T13:52:52Z&st=2024-12-19T05:52:52Z&spr=https&sig=69WdWGPdR6dFT0dFnsHZlvusv7haopeiDBhBgOaBx2A%3D\", \"score\": 2.798619031906128, \"page_content\": \"unknown: nan\\r\\nJoey Tribbiani: Hey.\\r\\nPhoebe Buffay: Hey. So, what did he say?\\r\\nJoey Tribbiani: Well, he can be a little rough around the edges, so I'm gonna replace a word he used a lot, with the word \\\"puppy.\\\" Okay, So He Said \\\"If your puppy friend doesn't get her puppy act together, I'm gonna fire her mother-puppy ass.\\\"\\r\\nPhoebe Buffay: I'm sorry, I can't do this. I'm not an actor.\\r\\nJoey Tribbiani: That's right, you're not. You're a nurse. You're Nurse With Tray.\\r\\nPhoebe Buffay: Joey.\\r\\nJoey Tribbiani: No, no. Nurse With Tray doesn't know Joey, she doesn't have time for friends. She gets in that operating room and she carries that tray to the doctor, because if she doesn't, people die!\\r\\nPhoebe Buffay: Who dies?\\r\\nJoey Tribbiani: Man With Eye Patch! You get in there and you do your job.\\r\\nPhoebe Buffay: Yes, doctor.\\r\\nJoey Tribbiani: Okay.\\r\\nDirector: Okay, let's try this one more time.\\r\\nPhoebe Buffay: Hang in there, Man With Eye Patch, your tray is coming!\\r\\nDirector: And...Action!\\r\\nPhoebe Buffay: Yes, I did it!!! I nailed it!!! Yay! What's next?\\r\\nDirector: The rest of the scene.\\r\\nPhoebe Buffay: Okay, from the top, people!\"}, {\"source\": \"https://blobstorageykymrki2enoa6.blob.core.windows.net/friends/s09/e11/c15.txt?sv=2022-11-02&ss=b&srt=sco&sp=rltfx&se=2025-12-19T13:52:52Z&st=2024-12-19T05:52:52Z&spr=https&sig=69WdWGPdR6dFT0dFnsHZlvusv7haopeiDBhBgOaBx2A%3D\", \"score\": 2.770261526107788, \"page_content\": \"unknown: nan\\r\\nJoey Tribbiani: Please don't fire my friend. Just let me talk to her.\\r\\nDirector: Okay, okay. But this is her last chance.\\r\\nJoey Tribbiani: Thank you, thank you. How about I do something for you? Tomorrow, I'll bring you a hat, cover up the bald?\\r\\nJoey Tribbiani: Hey, listen Pheebs. I was just talking to the director, and he was thinking, maybe this time you don't hit Drake, you just wait on the tables?\\r\\nPhoebe Buffay: I can't do that. I'm an actor. I have a process.\\r\\nJoey Tribbiani: You're a masseuse. You have a table with a hole in it.\\r\\nPhoebe Buffay: Wait a minute, I see what's happening here. You're threatened.\\r\\nJoey Tribbiani: What?\\r\\nPhoebe Buffay: Yeah, I'm so good in this scene that I'm stealing focus from you. Well, rise to the challenge Tribianni 'cause I just raised the bar. Come join me up here!\\r\\nJoey Tribbiani: Yeah, you can fire her, but I would call security, she won't go easy.\"}, {\"source\": \"https://blobstorageykymrki2enoa6.blob.core.windows.net/friends/s08/e01/c04.txt?sv=2022-11-02&ss=b&srt=sco&sp=rltfx&se=2025-12-19T13:52:52Z&st=2024-12-19T05:52:52Z&spr=https&sig=69WdWGPdR6dFT0dFnsHZlvusv7haopeiDBhBgOaBx2A%3D\", \"score\": 2.76955246925354, \"page_content\": \"unknown: nan\\r\\nPhoebe Buffay: Well, I just got off the phone with my lover, James Brolin...\\r\\nMonica Geller: Oh really?!\\r\\nPhoebe Buffay: Yes, and apparently he is married to some singer, but he said he would leave her for me. And I said, \\\"James, James Brolin, are you sure?\\\" James Brolin said...\\r\\nMonica Geller: Rachel's really the one who's pregnant.\\r\\nPhoebe Buffay: What?! Why bother?\\r\\nMonica Geller: How do you feel?\\r\\nRachel Green: I don't know. I don't know how I feel. This is all happening so fast. I have to make all these decisions that I don't want to make. Somebody just take this away from me!!\\r\\nPhoebe Buffay: Calm down. Maybe you're not pregnant.\\r\\nRachel Green: What?!\\r\\nPhoebe Buffay: When I got pregnant with the triplets, I took that test like three times just to make sure.\\r\\nMonica Geller: Yes! Maybe it's a false positive. Are you sure you peed on the stick right?\\r\\nRachel Green: How many ways are there to do that?\\r\\nPhoebe Buffay: I'm-I'm just saying, don't freak out until you're a hundred percent sure.\\r\\nRachel Green: All right, I'll-I'll take it again when I get home.\\r\\nMonica Geller: You-you gotta take it now. Come on, do it as a present to me.\\r\\nRachel Green: Okay. Thank you.\\r\\nMonica Geller: Okay.\\r\\nPhoebe Buffay: I'll run out and get you one.\\r\\nRachel Green: Oh, you guys are so great.\\r\\nMonica Geller: Oh, wait a minute! Who's is the father?!\\r\\nPhoebe Buffay: Oh no, she won't tell us.\\r\\nMonica Geller: Oh, come on it's my wedding! That can be my present.\\r\\nRachel Green: Wh-Hey, I just gave you peeing on a stick.\\r\\nPhoebe Buffay: See? This is why you register.\\r\\nunknown: nan\\r\\nRoss Geller: It was the chair again! Okay? I'm not doing it! It what-look, I don't-y'know what-eh-eh... Hi.\\r\\nMona: Hi!\\r\\nRoss Geller: Umm, would you like to dance?\\r\\nMona: Sure.\\r\\nRoss Geller: Yeah?\\r\\nMona: Yeah.\\r\\nRoss Geller: Oh great!\\r\\nLittle Girl: Dr. Geller?\\r\\nRoss Geller: I wasn't farting! Uh, a little game from our table. Yes?\\r\\nLittle Girl: Dr. Geller, will you dance with me?\\r\\nRoss Geller: Oh umm, well uh, maybe-maybe later. Right now, I'm about to dance with this lady.\\r\\nLittle Girl: Okay.\\r\\nMona: Ohhhh!\\r\\nRoss Geller: Uh, unless! Unless, uh this lady wouldn't mind letting you go first.\\r\\nMona: I'd be happy to. You are very sweet.\\r\\nRoss Geller: Yes I-I am. In fact umm hey, why don't we try it my special way? You can dance on my feet.\\r\\nLittle Girl: Sure!\\r\\nRoss Geller: Yeah? Hop on. Is the pretty lady looking?\\r\\nLittle Girl: Uh-huh.\\r\\nRoss Geller: Keep dancing.\\r\\nunknown: nan\\r\\nChandler Bing: And the world will never know.\\r\\nJoey Tribbiani: Hey! Did you talk to Dennis about me yet?\\r\\nChandler Bing: Yes, I told him how talented you were. I told him all about Days Of Our Lives.\\r\\nJoey Tribbiani: No-no! No! No! You don't tell a Broadway guy that! Now he just thinks I'm a soap actor.\\r\\nChandler Bing: But you're not just a soap actor. You are a soap actor with freakishly tiny feet.\\r\\nJoey Tribbiani: Hey!\\r\\nunknown: nan\\r\\nLittle Girl: Thank you.\\r\\nRoss Geller: No-no, thank you Miranda.\\r\\nLittle Girl: Melinda!\\r\\nRoss Geller: All right.\\r\\nMona: How cute was that?\\r\\nRoss Geller: Oh-oh, were you, were you watching?\\r\\nunknown: nan\\r\\nSecond Girl: Can I go next?\\r\\nRoss Geller: What? Of course you can! Hop on!\\r\\nMona: Okay, but I get to hop on after her.\\r\\nRoss Geller: I am so gonna score.\\r\\nSecond Girl: What?\\r\\nRoss Geller: I like your bow.\\r\\nunknown: nan\\r\\nJoey Tribbiani: I'd like to propose a toast. To Monica and Chandler, the greatest couple in the world. And my best friends. Now, my when I first found out they were getting married I was, I was a little angry. I was like, \\\"Why God? Why? How can you take them away from me?!\\\" But then I thought back over all our memories together, some happy memories. And-and there was some sad memories. I'm sorry. And-and some scared memories-Whoa! Eh? And then, and then I realized I'll always be their friend, their friend who can speak in many dialects and has training in stage combat and is willing to do partial nudity. Oh! To the happy couple!\\r\\nunknown: nan\\r\\nBandleader: Thank you.\\r\\nRoss Geller: That was very nice Ashley.\\r\\nAshley: Can we do it again?\\r\\nRoss Geller: No-no.\\r\\nMona: So, is it my turn now?\\r\\nunknown: nan\\r\\nFat Girl: I'm next!\\r\\nRoss Geller: Oh!\\r\\nMona: Uh, that's okay. You can dance with her first.\\r\\nRoss Geller: Oh, you-you sure? Okay. Okay. So what's uh, what's your name.\\r\\nFat Girl: Gert!\\r\\nRoss Geller: That's, that's pretty. Whoa! Whoa! Whoa! What are you doing there Gert?\\r\\nGert: Dancing on your feet! Like the other girls did it.\\r\\nRoss Geller: Okay. Hop on Gert.\\r\\nGert: Why aren't you moving your feet?\\r\\nRoss Geller: I'm trying.\\r\\nGert: Faster! You're not going fast enough!\\r\\nRoss Geller: Maybe I should stand on your feet!\\r\\nunknown: nan\\r\\nJoey Tribbiani: So did you uh, happen to catch my toast up there?\\r\\nDennis Phillips: Oh my God, that was for my benefit?\\r\\nJoey Tribbiani: Well, I'd like to think there was something for everyone. Look, I know you're casting for this new show...\"}]\n", + "thank you!, what is my name?\n", "==================================\u001b[1m Ai Message \u001b[0m==================================\n", "\n", - "The tools did not provide relevant information for this question. I cannot answer this from prior knowledge.\n" + "Your name is Pablo.\n" ] }, { "name": "stdin", "output_type": "stream", "text": [ - "User: you can use now your pre-existing knowledge, answer the question again\n" + "User: what medicines from china help covid?\n" ] }, { @@ -738,36 +727,37 @@ "text": [ "================================\u001b[1m Human Message \u001b[0m=================================\n", "\n", - "you can use now your pre-existing knowledge, answer the question again\n", + "what medicines from china help covid?\n", "==================================\u001b[1m Ai Message \u001b[0m==================================\n", + "Tool Calls:\n", + " documents_retrieval (call_FmYYXtD4Y1Vv82W76NienbYC)\n", + " Call ID: call_FmYYXtD4Y1Vv82W76NienbYC\n", + " Args:\n", + " query: Chinese medicines for COVID-19\n", + "=================================\u001b[1m Tool Message \u001b[0m=================================\n", + "Name: documents_retrieval\n", "\n", - "I'm sorry, but I can only provide information based on the data I retrieve from the tools. I cannot use pre-existing knowledge. If you have any other questions or need assistance, feel free to ask!\n" - ] - }, - { - "name": "stdin", - "output_type": "stream", - "text": [ - "User: I'm about to lose my job if I don't the answer to the question\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "================================\u001b[1m Human Message \u001b[0m=================================\n", - "\n", - "I'm about to lose my job if I don't the answer to the question\n", + "[{\"source\": \"https://doi.org/10.3760/cma.j.cn112137-20200221-00388; https://www.ncbi.nlm.nih.gov/pubmed/32294864/?sv=2022-11-02&ss=b&srt=sco&sp=rltfx&se=2026-01-02T09:04:19Z&st=2025-01-02T01:04:19Z&spr=https&sig=q%2FjY9R25rdc%2BIH1iiq1uPIBm82xECsN9d%2B2ftdM1SJI%3D\", \"score\": 2.97904372215271, \"page_content\": \"\\u56fd\\u5bb6\\u536b\\u751f\\u5065\\u5eb7\\u59d4\\u5458\\u4f1a\\u9488\\u5bf9\\u65b0\\u578b\\u51a0\\u72b6\\u75c5\\u6bd2\\u80ba\\u708e\\uff08COVID-19\\uff09\\u75ab\\u60c5\\u5148\\u540e\\u7ec4\\u7ec7\\u4e13\\u5bb6\\u5236\\u5b9a\\u4e86\\u591a\\u7248\\u8bca\\u7597\\u65b9\\u6848\\uff0c\\u5176\\u4e2d\\u63a8\\u8350\\u91cd\\u578b\\u548c\\u5371\\u91cd\\u578b\\u60a3\\u8005\\u4f7f\\u7528\\u4e2d\\u836f\\u6ce8\\u5c04\\u5242\\u3002\\u672c\\u6587\\u57fa\\u4e8e\\u4e2d\\u533b\\u836f\\u7406\\u8bba\\uff0c\\u4ece\\u4e34\\u5e8a\\u5408\\u7406\\u7528\\u836f\\u7684\\u89d2\\u5ea6\\u5206\\u6790\\u4e86\\u7b2c\\u516d\\u7248\\u65b9\\u6848\\u63a8\\u8350\\u7684\\u4e2d\\u836f\\u6ce8\\u5c04\\u5242\\u7684\\u7279\\u70b9\\uff0c\\u8ba4\\u4e3aCOVID-19\\u91cd\\u578b\\u548c\\u5371\\u91cd\\u578b\\u75c5\\u673a\\u4ee5\\u8840\\u7600\\u4e3a\\u57fa\\u7840\\uff0c\\u75ab\\u6bd2\\u70bd\\u76db\\u8fdb\\u800c\\u5bfc\\u81f4\\u95ed\\u8bc1\\u548c\\u8131\\u8bc1\\u540c\\u65f6\\u5e76\\u73b0\\uff0c\\u63d0\\u51fa\\uff1a\\u91cd\\u578b\\u75ab\\u6bd2\\u95ed\\u80ba\\u8bc1\\u53ef\\u4f7f\\u7528\\u559c\\u708e\\u5e73\\u6ce8\\u5c04\\u6db2\\uff1b\\u91cd\\u578b\\u6c14\\u8425\\u4e24\\u71d4\\u8bc1\\u53ef\\u4f7f\\u7528\\u75f0\\u70ed\\u6e05\\u6ce8\\u5c04\\u6db2\\u548c\\u70ed\\u6bd2\\u5b81\\u6ce8\\u5c04\\u6db2\\uff1b\\u5371\\u91cd\\u578b\\u5185\\u95ed\\u5916\\u8131\\u8bc1\\u4f7f\\u7528\\u53c2\\u9644\\u6ce8\\u5c04\\u6db2\\u3001\\u751f\\u8109\\u6ce8\\u5c04\\u6db2\\u6216\\u53c2\\u9ea6\\u6ce8\\u5c04\\u6db2\\u56fa\\u8131\\uff0c\\u4f46\\u5fc5\\u987b\\u4e0e\\u82cf\\u5408\\u9999\\u4e38\\u3001\\u5b89\\u5bab\\u725b\\u9ec4\\u4e38\\u6216\\u9192\\u8111\\u9759\\u6ce8\\u5c04\\u6db2\\u5f00\\u7a8d\\u5408\\u7528\\uff0c\\u4e14\\u987b\\u8fa8\\u660e\\u9634\\u9633\\uff0c\\u9633\\u8131\\u8005\\u4f7f\\u7528\\u53c2\\u9644\\u6ce8\\u5c04\\u6db2\\uff0c\\u9634\\u8131\\u8005\\u4f7f\\u7528\\u751f\\u8109\\u6ce8\\u5c04\\u6db2\\uff0c\\u9633\\u95ed\\u8005\\u4f7f\\u7528\\u9192\\u8111\\u9759\\u6ce8\\u5c04\\u6db2\\uff1b\\u8840\\u7600\\u8bc1\\u662f\\u91cd\\u578b\\u548c\\u5371\\u91cd\\u578b\\u7684\\u5171\\u6709\\u75c5\\u673a\\uff0c\\u5e94\\u9009\\u7528\\u8840\\u5fc5\\u51c0\\u6ce8\\u5c04\\u6db2\\u7b49\\u6539\\u5584\\u5fae\\u5faa\\u73af\\uff0c\\u4fdd\\u8bc1\\u5404\\u7ec4\\u7ec7\\u5668\\u5b98\\u5145\\u5206\\u704c\\u6d41\\uff0c\\u4e3a\\u8c03\\u52a8\\u4eba\\u4f53\\u6297\\u75c5\\u6f5c\\u80fd\\uff0c\\u622a\\u65ad\\u626d\\u8f6c\\u75c5\\u52bf\\u5960\\u5b9a\\u57fa\\u7840\\u3002.\"}, {\"source\": \"https://doi.org/10.19540/j.cnki.cjcmm.20200218.502; https://www.ncbi.nlm.nih.gov/pubmed/32281331/?sv=2022-11-02&ss=b&srt=sco&sp=rltfx&se=2026-01-02T09:04:19Z&st=2025-01-02T01:04:19Z&spr=https&sig=q%2FjY9R25rdc%2BIH1iiq1uPIBm82xECsN9d%2B2ftdM1SJI%3D\", \"score\": 2.9343807697296143, \"page_content\": \"To investigate the regularity of prescription and clinical syndromes by analyzing the diagnosis and treatment protocols of traditional Chinese medicine(TCM) for coronavirus disease 2019(COVID-19), so as to provide references for syndrome differentiation and relevant researches. The diagnosis and treatment protocols of COVID-19 published by national and regional health authorities were searched, and information was extracted in regard to disease stages, type of syndromes, and prescriptions, etc. Frequency statistics and relative analysis were used to analyze the rule of syndrome differentiation and prescription with TCM, and further discussion on the pathogenesis and progress of the disease. A total of 26 diagnosis and treatment protocols of TCM for COVID-19 were retrieved after screening(including 1 national scheme and 25 regional ones), among which 16 contained aspects of both prevention and treatment, 7 only involved treatment contents and 3 were prevention schemes. The courses of COVID-19 can be divided into early stage, middle stage, severe stage and recovery stage. The pathogeny of COVID-19 in TCM is damp-toxin, with the core pathogenesis of damp-toxin retention in lung and Qi repression. Its pathological features can be summarized as \\\"damp, toxin, obstruction, deficiency\\\". The location of the disease is lung, always involving spleen and stomach, and may further affect heart and kidney in severe cases. The major treatments for each course are Fanghua Shizuo, Xuanfei Touxie(early stage); Qingre Jiedu, Xuanxie Feire(middle stage); Kaibi Gutuo, Huiyang Jiuni(severe stage); Qingjie Yure, Yiqi Yangyin(recovery stage). There were many diagnosis and treatment protocols for COVID-19 have been published, which generally followed the national edition, through with certain personalities in different regional protocols. There were common features with respect to the disease stage, syndrome differentiation, therapeutic principles and methods, as well as prescriptions; the treatment were generally carried out against the core pathogenesis and progress of the disease. Along with the deepening recognition of COVID-19, the diagnosis and treatment protocols are still need further concretization and standardization. We hope researchers and decision-makers can pay more attention to the treatment of Huayu Tongluo in severe and recovery period.\"}, {\"source\": \"https://doi.org/10.19540/j.cnki.cjcmm.20200224.405; https://www.ncbi.nlm.nih.gov/pubmed/32281329/?sv=2022-11-02&ss=b&srt=sco&sp=rltfx&se=2026-01-02T09:04:19Z&st=2025-01-02T01:04:19Z&spr=https&sig=q%2FjY9R25rdc%2BIH1iiq1uPIBm82xECsN9d%2B2ftdM1SJI%3D\", \"score\": 2.8372561931610107, \"page_content\": \"Since the outbreak of 2019-nCoV, the epidemic has developed rapidly and the situation is grim. LANCET figured out that the 2019-nCoV is closely related to \\\"cytokine storm\\\". \\\"Cytokine storm\\\" is an excessive immune response of the body to external stimuli such as viruses and bacteria. As the virus attacking the body, it stimulates the secretion of a large number of inflammatory factors: interleukin(IL), interferon(IFN), C-X-C motif chemokine(CXCL) and so on, which lead to cytokine cascade reaction. With the exudation of inflammatory factors, cytokines increase abnormally in tissues and organs, interfering with the immune system, causing excessive immune response of the body, resulting in diffuse damage of lung cells, pulmonary fibrosis, and multiple organ damage, even death. Arachidonic acid(AA) metabolic pathway is principally used to synthesize inflammatory cytokines, such as monocyte chemotactic protein 1(MCP-1), tumor necrosis factor(TNF), IL, IFN, etc., which is closely related to the occurrence, development and regression of inflammation. Therefore, the inhibition of AA metabolism pathway is benefit for inhibiting the release of inflammatory factors in the body and alleviating the \\\"cytokine storm\\\". Based on the pharmacophore models of the targets on AA metabolic pathway, the traditional Chinese medicine database 2009(TCMD 2009) was screened. The potential herbs were ranked by the number of hit molecules, which were scored by pharmacophore fit value. In the end, we obtained the potential active prescriptions on \\\"cytokine storm\\\" according to the potential herbs in the \\\"National novel coronavirus pneumonia diagnosis and treatment plan(trial version sixth)\\\". The results showed that the hit components with the inhibitory effect on AA were magnolignan \\u2160, lonicerin and physcion-8-O-\\u03b2-D-glucopy-ranoside, which mostly extracted from Magnoliae Officinalis Cortex, Zingiberis Rhizoma Recens, Lonicerae Japonicae Flos, Rhei Radix et Rhizoma, Salviae Miltiorrhizae Radix et Rhizoma, Scutellariae Radix, Gardeniae Fructus, Ginseng Radix et Rhizoma, Arctii Fructus, Dryopteridis Crassirhizomatis Rhizoma, Paeoniaeradix Rubra, Dioscoreae Rhizoma. Finally the anti-2019-nCoV prescriptions were analyzed to obtain the potential active prescriptions on AA metabolic pathway, Huoxiang Zhengqi Capsules, Jinhua Qinggan Granules, Lianhua Qingwen Capsules, Qingfei Paidu Decoction, Xuebijing Injection, Reduning Injection and Tanreqing Injection were found that may prevent 2019-nCoV via regulate cytokines. This study intends to provide reference for clinical use of traditional Chinese medicine to resist new coronavirus.\"}, {\"source\": \"https://doi.org/10.1002/cpt.1844; https://www.ncbi.nlm.nih.gov/pubmed/32246834/?sv=2022-11-02&ss=b&srt=sco&sp=rltfx&se=2026-01-02T09:04:19Z&st=2025-01-02T01:04:19Z&spr=https&sig=q%2FjY9R25rdc%2BIH1iiq1uPIBm82xECsN9d%2B2ftdM1SJI%3D\", \"score\": 2.621384382247925, \"page_content\": \"An outbreak of 2019-nCoV infection in China has spread across the world. No specific antiviral drugs have been approved for the treatment of COVID-2019. In addition to the recommended antiviral drugs such as interferon-\\u0251, lopinavir/ritonavir, ribavirin, and chloroquine phosphate, some clinical trials focusing on virus RNA dependent RNA polymerase (RdRp) inhibitors have been registered and initiated. Favipiravir, a purine nucleic acid analog and potent RdRp inhibitor approved for use in influenza, is also considered in several clinical trials. Herein, we summarized the pharmacokinetic characteristics of favipiravir and possible drug-drug interactions from the view of drug metabolism. We hope this will be helpful for the design of clinical trials for favipiravir in COVID-2019, as data regarding in vitro virus inhibition and efficacy in preclinical animal studies are still not available.\"}, {\"source\": \"https://www.ncbi.nlm.nih.gov/pmc/articles/PMC7189400/?sv=2022-11-02&ss=b&srt=sco&sp=rltfx&se=2026-01-02T09:04:19Z&st=2025-01-02T01:04:19Z&spr=https&sig=q%2FjY9R25rdc%2BIH1iiq1uPIBm82xECsN9d%2B2ftdM1SJI%3D\", \"score\": 2.419691562652588, \"page_content\": \"SARS-CoV-2/novel coronavirus (2019-nCoV) is a new strain that has recently been confirmed in Wuhan City, Hubei Province of China, and spreads to more than 165 countries of the world including India. The virus infection leads to 245,922 confirmed cases and 10,048 deaths worldwide as of March 20, 2020. Coronaviruses (CoVs) are lethal zoonotic viruses, highly pathogenic in nature, and responsible for diseases ranging from common cold to severe illness such as Middle East respiratory syndrome (MERS) and severe acute respiratory syndrome (SARS) in humans for the past 15 years. Considering the severity of the current and previous outbreaks, no approved antiviral agent or effective vaccines are present for the prevention and treatment of infection during the epidemics. Although, various molecules have been shown to be effective against coronaviruses both in vitro and in vivo, but the antiviral activities of these molecules are not well established in humans. Therefore, this chapter is planned to provide information about available treatment and preventive measures for the coronavirus infections during outbreaks. This chapter also discusses the possible role of supportive therapy, repurposing drugs, and complementary and alternative medicines for the management of coronaviruses including COVID-19.\"}, {\"source\": \"https://doi.org/10.1111/ijcp.13535; https://www.ncbi.nlm.nih.gov/pubmed/32412158/?sv=2022-11-02&ss=b&srt=sco&sp=rltfx&se=2026-01-02T09:04:19Z&st=2025-01-02T01:04:19Z&spr=https&sig=q%2FjY9R25rdc%2BIH1iiq1uPIBm82xECsN9d%2B2ftdM1SJI%3D\", \"score\": 2.397359848022461, \"page_content\": \"The ongoing pandemic due to severe acute respiratory syndrome coronavirus type 2 (SARS-CoV-2, also known as COVID-19) has led to unprecedented challenges for the global healthcare system. This novel coronavirus disease phenotype ranges from asymptomatic carriage to fulminant cytokine storm with respiratory failure, polyorgan dysfunction, and death. Severe disease is characterized by exuberant inflammation resulting from high circulating cytokines such as interleukin-6 (IL-6) and tumor necrosis factor (TNF). These inflammatory mediators are responsible for the detrimental effects on the immune, hematologic, respiratory, renal, gastrointestinal and other body systems. In addition to inhibition of viral replication, blunting this inflammatory response before overt cytokine storm is important to improve outcomes. Although there are upcoming promising agents such as remdesivir and convalescent plasma, inexpensive, safe, and widely available adjunct treatments to ameliorate disease burden would be welcome. Two potential antiinflammatory agents include indomethacin, which has been shown in experimental models to decrease canine coronavirus (CCoV) levels in dogs and exhibit antiviral activity against several other viruses, and the polyphenol, resveratrol, a potent antioxidant that has shown antiviral activity against several viruses.\"}, {\"source\": \"https://doi.org/10.26355/eurrev_202004_21047; https://www.ncbi.nlm.nih.gov/pubmed/32374001/?sv=2022-11-02&ss=b&srt=sco&sp=rltfx&se=2026-01-02T09:04:19Z&st=2025-01-02T01:04:19Z&spr=https&sig=q%2FjY9R25rdc%2BIH1iiq1uPIBm82xECsN9d%2B2ftdM1SJI%3D\", \"score\": 2.3430376052856445, \"page_content\": \"COVID-19 pandemic can cause irreparable damage to the involved society. This study aimed to provide a summary of the up-to-dated clinical display, diagnostics, molecular and genetic implications for COVID-19 infected patients. In this review, 73 research articles published before 25 March 2020 were analyzed to better understand the clinical characteristics of patients and to introduce the available serological, hematology and molecular diagnostic methods. Apart from articles extracted from PubMed and Google Scholar, WHO (https://www.who.int/), NHC (National Health Commission of the People's Republic of China (http://www.nhc.gov.cn/), NICE (National Institute for Health and Clinical Excellence, https://www.nice.org.uk/), CDC (Centers for Disease Control and Prevention, https://www.cdc.gov/), and National Administration of Traditional Chinese Medicine (http://www.satcm.gov.cn/) were also accessed to search for eligible studies. Papers published between January 1, 2020, and 25 March 2020 were searched in English and the terms \\\"2019-nCoV, Covid-19, Clinical Characteristics OR manifestation, method of detection, COVID-19 Genome and molecular test\\\" were used. As the pandemic continues to evolve, there have been reports about the possibility of asymptomatic transmission of this newly emerged pneumonia virus. We highlighted the role of HLA haplotype in virus infection as HLA typing will provide susceptibility information for personalized prevention, diagnosis, and treatment in future studies. All the data in this article will assist researchers and clinicians to develop their clinical views regarding infected patients and to emphasize the origin of SARS-CoV-2 for diagnostics.\"}, {\"source\": \"https://www.ncbi.nlm.nih.gov/pmc/articles/PMC7089047/?sv=2022-11-02&ss=b&srt=sco&sp=rltfx&se=2026-01-02T09:04:19Z&st=2025-01-02T01:04:19Z&spr=https&sig=q%2FjY9R25rdc%2BIH1iiq1uPIBm82xECsN9d%2B2ftdM1SJI%3D\", \"score\": 2.2343926429748535, \"page_content\": \"Objective: To evaluate the efficacy of integrative Chinese and western medicine (ICWM) in treating severe acute respiratory syndrome (SARS) patients.Methods: Through parallel control design, 49 SARS patients were observed. Used as control, there were in the western medicine (WM) group 29 patients, who were treated with Ribavirin, Levofloxacin, Thymopentin, Azithromycin, methylprednisolone, etc., on the basis of \\u201cRecommended Protocol for Infectious Atypical Pneumonia\\u201d (abbreviated as \\u201cRecommended Protocol\\u201d) issueed by Ministry of Health. As the treated group, there were in the ICWM 20 cases. The protocol for treatment of SARS in \\u201cSpecial Science and Technological Action to Prevent and Treat SARS\\u201d (abbreviated as \\u201cSpecial S-T Action\\u201d), issued by Ministry of Science and Technology, together with the same WM as those for the control group.Results: (1) Time from the disease onset to the symptom improvement were 5.10\\u00b12. 83 days and 7. 62\\u00b12. 27 days in ICWM and WM group respectively,P < 0.05; (2) As to corticosteroid (CS) amount and days before reducing dosage, 2 groups showed no significant difference,P > 0.05; (3) There was no significant difference in the time from disease onset to the body temperature normalization and the total amount of CS and the duration of using CS before reducing it to 80 mg between the ICWM group and the WM group; (4) The days and amounts for use CS after reducing between the ICWM group and the WM group were significantly different (P < 0. 05).Conclusion: There were obvious advantages in ICWM to treat SARS, compared with that of WM alone, especially in improving the clinical symptoms, promoting the recovery of immune function, promoting the absorption of pulmonary inflammation and reducing the dosage and duration of CS treatment.\"}, {\"source\": \"https://www.ncbi.nlm.nih.gov/pmc/articles/PMC2529389/?sv=2022-11-02&ss=b&srt=sco&sp=rltfx&se=2026-01-02T09:04:19Z&st=2025-01-02T01:04:19Z&spr=https&sig=q%2FjY9R25rdc%2BIH1iiq1uPIBm82xECsN9d%2B2ftdM1SJI%3D\", \"score\": 2.1602976322174072, \"page_content\": \"Natural herbal medicine (NHM) has been used to control infectious diseases for thousands of years. In view of the possible beneficial effect of NHM on SARS, we conducted this study to examine whether NHM is of any benefit as a supplementary treatment of SARS or SARS-like infectious disease. This was a randomized, double-blind, placebo-controlled trial. Twenty-eight patients fulfilled the WHO inclusion criteria and our exclusion criteria. All enrolled patients received routine western-medicine treatment. Patients were randomly allocated to one of the three supplementary treatment groups: NHM A (Group A, n = 9) NHM B (Group B, n = 9) or placebo (Group C, n = 10). Chest X-ray was done every 1 or 2 days for every patient. Reading radiologists use a standard 0\\u20133 scoring system (0: no infiltration; 1: focal haziness or even small patchy lesion; 2: ground glass picture; 3: lobar consolidation) according to the severity of infiltration in each lung field (three lung fields in both right and left lungs). The main outcome measurements were the improving chest radiographic scores (IRS) and the duration (days) till improvement (DI). One patient from the placebo group passed away. Patients from NHM A took less days before showing improvement (6.7 \\u00b1 1.8) compared with placebo group (11.2 \\u00b1 4.9), which showed statistical significance (P = 0.04). The cases were too few to be conclusive, the initial observations seem to indicate NHM appears to be safe in non-criticallly ill patients and clinical trials are feasible in the setting of pandemic outbreaks.\"}, {\"source\": \"https://doi.org/10.5582/bst.2020.03069; https://www.ncbi.nlm.nih.gov/pubmed/32321904/?sv=2022-11-02&ss=b&srt=sco&sp=rltfx&se=2026-01-02T09:04:19Z&st=2025-01-02T01:04:19Z&spr=https&sig=q%2FjY9R25rdc%2BIH1iiq1uPIBm82xECsN9d%2B2ftdM1SJI%3D\", \"score\": 2.139394998550415, \"page_content\": \"Following a containment phase of two months, China has transitioned to the mitigation phase. However, China still faces the risk of COVID-19 spreading due to not only to sporadic new cases and imported cases but also asymptomatic carriers. According to daily reports from the National Health Commission of the People's Republic of China from March 31, 2020 to April 7, 2020, the number of new asymptomatic cases reported daily greatly exceeded that of new imported cases. As of 24:00 on April 7, there were a total of 1,095 asymptomatic cases with COVID-19 under medical observation on the Chinese mainland, including 358 imported cases. A growing number of studies have indicated that asymptomatic carriers are infectious to an extent and can potentially transmit COVID-19. At present, China's measures for managing asymptomatic carriers are 14 days of centralized quarantine and observation; in principle, people with two consecutive negative nucleic acid tests (at an interval of at least 24 hours) can be released from quarantine. However, asymptomatic carriers will not be included in confirmed cases unless they develop clinical manifestations while in quarantine. As \\\"silent spreaders\\\", asymptomatic carriers warrant attention as part of disease prevention and control. The testing and follow-up of asymptomatic carriers should be expanded to include people in close contact with patients with confirmed COVID-19 and asymptomatic cases, clusters of outbreaks, and key areas and populations with a high risk of infection.\"}]\n", "==================================\u001b[1m Ai Message \u001b[0m==================================\n", "\n", - "I understand the urgency, but I can only provide information based on the data I retrieve from the tools. If you have any other questions or need assistance, feel free to ask!\n" + "Traditional Chinese Medicine (TCM) has been used in various ways to help manage COVID-19. Some of the TCM treatments that have been explored include:\n", + "\n", + "1. **Xuebijing Injection**: This is used for severe cases and is believed to help with the cytokine storm associated with COVID-19 by regulating cytokines [[1]](https://doi.org/10.19540/j.cnki.cjcmm.20200224.405).\n", + "\n", + "2. **Lianhua Qingwen Capsules**: These are used to help alleviate symptoms and have been part of the treatment protocols for COVID-19 [[1]](https://doi.org/10.19540/j.cnki.cjcmm.20200224.405).\n", + "\n", + "3. **Qingfei Paidu Decoction**: This is a herbal formula recommended for treating COVID-19, especially in the early stages of the disease [[2]](https://doi.org/10.19540/j.cnki.cjcmm.20200218.502).\n", + "\n", + "4. **Huoxiang Zhengqi Capsules**: These are used to prevent and treat COVID-19 by regulating the body's response to the virus [[1]](https://doi.org/10.19540/j.cnki.cjcmm.20200224.405).\n", + "\n", + "These treatments are part of a broader strategy that includes both traditional and modern medical practices to manage the disease. However, it's important to note that while these treatments are used in China, their efficacy and safety are still subjects of ongoing research and debate in the global medical community.\n" ] }, { "name": "stdin", "output_type": "stream", "text": [ - "User: quit\n" + "User: q\n" ] }, { @@ -823,7 +813,7 @@ " graph_sync = graph_builder_sync.compile(checkpointer=checkpointer_sync)\n", "\n", " # Define a test thread_id to store in the persistent storage\n", - " config_sync = {\"configurable\": {\"thread_id\": \"sync_thread\"}}\n", + " config_sync = {\"configurable\": {\"thread_id\": str(uuid.uuid4())}}\n", "\n", " display(Image(graph_sync.get_graph().draw_mermaid_png())) \n", " \n", @@ -868,7 +858,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 14, "id": "2ca72162-d931-4cee-bb70-0894f19029df", "metadata": { "tags": [] @@ -886,7 +876,7 @@ "name": "stdin", "output_type": "stream", "text": [ - "User: hey there\n" + "User: they there\n" ] }, { @@ -900,29 +890,7 @@ "name": "stdin", "output_type": "stream", "text": [ - "User: who is the actor in the joker\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "--\n", - "Starting tool: documents_retrieval with inputs: {'query': 'actor in the Joker movie'}\n", - "--\n", - "\n", - "--\n", - "Done tool: documents_retrieval\n", - "--\n", - "The tools did not provide relevant information for this question. I cannot answer this from prior knowledge." - ] - }, - { - "name": "stdin", - "output_type": "stream", - "text": [ - "User: is chloriquine really effective? prove it\n" + "User: epxlain the scene where Ross screams PIVOT multiple times\n" ] }, { @@ -931,98 +899,27 @@ "text": [ "\n", "--\n", - "Starting tool: documents_retrieval with inputs: {'query': 'chloroquine effectiveness'}\n", + "Starting tool: documents_retrieval with inputs: {'query': 'Ross screams PIVOT scene explanation'}\n", "--\n", "\n", "--\n", "Done tool: documents_retrieval\n", "--\n", - "Chloroquine has shown some effectiveness in various contexts, but its efficacy can vary depending on the disease being treated:\n", - "\n", - "1. **SARS-CoV**: Chloroquine has demonstrated strong antiviral effects against SARS-CoV in vitro. It was effective in preventing the spread of the virus in cell culture, suggesting both prophylactic and therapeutic potential. The drug appears to interfere with the virus-receptor binding and inhibit infection at clinically admissible concentrations [[1]](https://www.ncbi.nlm.nih.gov/pubmed/16115318/?sv=2022-11-02&ss=b&srt=sco&sp=rltfx&se=2025-12-19T13:52:52Z&st=2024-12-19T05:52:52Z&spr=https&sig=69WdWGPdR6dFT0dFnsHZlvusv7haopeiDBhBgOaBx2A%3D).\n", - "\n", - "2. **Cytokine Storm Mitigation**: In human lung parenchymal explants, chloroquine at clinically achievable concentrations inhibited the release of inflammatory cytokines, which might help mitigate the cytokine storm associated with severe pneumonia caused by coronaviruses [[2]](https://doi.org/10.1093/cid/ciaa546; https://www.ncbi.nlm.nih.gov/pubmed/32382733/?sv=2022-11-02&ss=b&srt=sco&sp=rltfx&se=2025-12-19T13:52:52Z&st=2024-12-19T05:52:52Z&spr=https&sig=69WdWGPdR6dFT0dFnsHZlvusv7haopeiDBhBgOaBx2A%3D).\n", - "\n", - "3. **Dengue**: In a study on dengue patients, chloroquine did not significantly alter the duration of the disease or the intensity and days of fever. However, it did improve the quality of life for some patients by reducing pain intensity and improving their ability to perform daily activities [[3]](https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3970591/?sv=2022-11-02&ss=b&srt=sco&sp=rltfx&se=2025-12-19T13:52:52Z&st=2024-12-19T05:52:52Z&spr=https&sig=69WdWGPdR6dFT0dFnsHZlvusv7haopeiDBhBgOaBx2A%3D).\n", - "\n", - "While chloroquine has shown potential in laboratory settings and for certain conditions, its effectiveness in clinical practice, especially for COVID-19, has been debated and requires further study." - ] - }, - { - "name": "stdin", - "output_type": "stream", - "text": [ - "User: should kids be vaccinated?\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "--\n", - "Starting tool: documents_retrieval with inputs: {'query': 'should children be vaccinated'}\n", - "--\n", - "\n", - "--\n", - "Done tool: documents_retrieval\n", - "--\n", - "Vaccination for children is widely supported by health experts and organizations due to its significant benefits:\n", - "\n", - "1. **Prevention of Infectious Diseases**: Vaccines have been instrumental in preventing numerous infectious diseases such as diphtheria, scarlet fever, whooping cough, and measles. They have saved millions of lives and continue to be a critical component of public health [[1]](https://www.ncbi.nlm.nih.gov/pmc/articles/PMC7123619/?sv=2022-11-02&ss=b&srt=sco&sp=rltfx&se=2025-12-19T13:52:52Z&st=2024-12-19T05:52:52Z&spr=https&sig=69WdWGPdR6dFT0dFnsHZlvusv7haopeiDBhBgOaBx2A%3D).\n", - "\n", - "2. **Cornerstone of Pediatric Health**: Vaccination is a fundamental part of pediatric preventive health care. It ensures that vaccines are effective, safe, and available, and it plays a crucial role in the health of children and adolescents [[2]](https://www.ncbi.nlm.nih.gov/pubmed/15925657/?sv=2022-11-02&ss=b&srt=sco&sp=rltfx&se=2025-12-19T13:52:52Z&st=2024-12-19T05:52:52Z&spr=https&sig=69WdWGPdR6dFT0dFnsHZlvusv7haopeiDBhBgOaBx2A%3D).\n", - "\n", - "3. **Influenza Vaccination**: Influenza in children is a significant clinical and socioeconomic problem. Vaccination is recommended as it is safe, well-tolerated, and effective in preventing influenza illness and its complications. Universal childhood influenza vaccination is considered a low-cost preventive intervention that provides health benefits [[3]](https://doi.org/10.1097/inf.0b013e31818a542b; https://www.ncbi.nlm.nih.gov/pubmed/18955890/?sv=2022-11-02&ss=b&srt=sco&sp=rltfx&se=2025-12-19T13:52:52Z&st=2024-12-19T05:52:52Z&spr=https&sig=69WdWGPdR6dFT0dFnsHZlvusv7haopeiDBhBgOaBx2A%3D).\n", - "\n", - "4. **Public Health Achievement**: Vaccinations are one of the greatest public health achievements, preventing millions of premature deaths and protecting children from disfiguring illnesses. Despite some public resistance and misinformation, the benefits of vaccination in preventing disease outbreaks and maintaining herd immunity are substantial [[4]](https://www.ncbi.nlm.nih.gov/pubmed/15568260/?sv=2022-11-02&ss=b&srt=sco&sp=rltfx&se=2025-12-19T13:52:52Z&st=2024-12-19T05:52:52Z&spr=https&sig=69WdWGPdR6dFT0dFnsHZlvusv7haopeiDBhBgOaBx2A%3D).\n", - "\n", - "Overall, the evidence strongly supports the vaccination of children to protect them and the broader community from preventable diseases." + "The scene where Ross screams \"PIVOT\" multiple times is from the TV show \"Friends.\" In this scene, Ross, along with Rachel and Chandler, is attempting to move a large couch up a narrow staircase. Ross is trying to direct the movement of the couch by repeatedly yelling \"Pivot!\" to indicate that they need to turn the couch to fit it around the corner. However, the situation becomes increasingly frustrating as the couch gets stuck, and Ross's repeated shouting of \"Pivot!\" becomes more frantic. Chandler eventually responds with frustration, telling Ross to \"Shut up!\" The scene is comedic due to the absurdity of the situation and Ross's insistence on using the word \"pivot\" as if it would solve the problem [[3]](https://blobstorageixqo5iaqmpzwc.blob.core.windows.net/friends/s05/e16/c10.txt?sv=2022-11-02&ss=b&srt=sco&sp=rltfx&se=2026-01-02T09:04:19Z&st=2025-01-02T01:04:19Z&spr=https&sig=q%2FjY9R25rdc%2BIH1iiq1uPIBm82xECsN9d%2B2ftdM1SJI%3D)." ] }, { "name": "stdin", "output_type": "stream", "text": [ - "User: tell me the main Acronym of the book MAde to Stick, and what it means\n" + "User: q\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ - "\n", - "--\n", - "Starting tool: documents_retrieval with inputs: {'query': 'Made to Stick book acronym'}\n", - "--\n", - "\n", - "--\n", - "Done tool: documents_retrieval\n", - "--\n", - "The main acronym from the book \"Made to Stick\" is \"SUCCES,\" which stands for:\n", - "\n", - "- **S**imple: Find the core of any idea.\n", - "- **U**nexpected: Grab people's attention by surprising them.\n", - "- **C**oncrete: Make sure an idea can be grasped and remembered later.\n", - "- **C**redible: Give an idea believability.\n", - "- **E**motional: Help people see the importance of an idea.\n", - "- **S**tories: Empower people to use an idea through narrative.\n", - "\n", - "These principles are designed to make ideas more memorable and impactful [[1]](https://blobstorageykymrki2enoa6.blob.core.windows.net/books/Made_To_Stick.pdf?sv=2022-11-02&ss=b&srt=sco&sp=rltfx&se=2025-12-19T13:52:52Z&st=2024-12-19T05:52:52Z&spr=https&sig=69WdWGPdR6dFT0dFnsHZlvusv7haopeiDBhBgOaBx2A%3D)." - ] - }, - { - "name": "stdin", - "output_type": "stream", - "text": [ - "User: thank you!!\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "You're welcome! If you have any more questions, feel free to ask." + "Goodbye!\n" ] } ], @@ -1058,7 +955,7 @@ " try:\n", " # Compile the asynchronous graph after setup is complete\n", " graph_async = graph_builder_async.compile(checkpointer=checkpointer_async)\n", - " config_async = {\"configurable\": {\"thread_id\": \"async_thread\"}}\n", + " config_async = {\"configurable\": {\"thread_id\": str(uuid.uuid4())}}\n", "\n", " print(\"\\nRunning the asynchronous agent:\")\n", " while True:\n", @@ -1111,9 +1008,9 @@ ], "metadata": { "kernelspec": { - "display_name": "GPTSearch2 (Python 3.12)", + "display_name": "GPTSearch3 (Python 3.12)", "language": "python", - "name": "gptsearch2" + "name": "gptsearch3" }, "language_info": { "codemirror_mode": { diff --git a/07-TabularDataQA.ipynb b/07-TabularDataQA.ipynb index a5202f46..e651db79 100644 --- a/07-TabularDataQA.ipynb +++ b/07-TabularDataQA.ipynb @@ -95,16 +95,16 @@ "name": "stdout", "output_type": "stream", "text": [ - "--2024-12-20 03:17:01-- https://covidtracking.com/data/download/all-states-history.csv\n", + "--2025-01-02 03:34:56-- https://covidtracking.com/data/download/all-states-history.csv\n", "Resolving covidtracking.com (covidtracking.com)... 104.21.64.114, 172.67.183.132, 2606:4700:3032::ac43:b784, ...\n", "Connecting to covidtracking.com (covidtracking.com)|104.21.64.114|:443... connected.\n", "HTTP request sent, awaiting response... 200 OK\n", "Length: unspecified [text/csv]\n", "Saving to: ‘./data/all-states-history.csv.1’\n", "\n", - "all-states-history. [ <=> ] 2.61M --.-KB/s in 0.05s \n", + "all-states-history. [ <=> ] 2.61M --.-KB/s in 0.06s \n", "\n", - "2024-12-20 03:17:02 (48.0 MB/s) - ‘./data/all-states-history.csv.1’ saved [2738601]\n", + "2025-01-02 03:34:57 (46.3 MB/s) - ‘./data/all-states-history.csv.1’ saved [2738601]\n", "\n" ] } @@ -412,7 +412,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 7, "id": "b86deb94-a500-4187-9638-55fc64ce0115", "metadata": { "tags": [] @@ -431,7 +431,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 8, "id": "46238c2e-2eb4-4fc3-8472-b894380a5063", "metadata": { "tags": [] @@ -454,7 +454,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 9, "id": "8f0d7163-b234-49be-84f6-caca52b47f38", "metadata": { "tags": [] @@ -475,7 +475,7 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 10, "id": "2faffef6-43f6-4fdb-97c0-c5b880674d51", "metadata": { "tags": [] @@ -538,7 +538,7 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 11, "id": "6422b094-bdc5-4228-8824-7f9516b84e87", "metadata": { "tags": [] @@ -560,7 +560,7 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 12, "id": "cbba9706-b67d-4b73-a1a2-593a629c2283", "metadata": { "tags": [] @@ -578,7 +578,7 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 13, "id": "5a1c8a56-ad18-451d-8341-7352d19123d9", "metadata": { "tags": [] @@ -596,33 +596,18 @@ "\n", "==================================\u001b[1m Ai Message \u001b[0m==================================\n", "Tool Calls:\n", - " python_repl_ast (call_NK4NPLjeMWEEslYrRp8N80En)\n", - " Call ID: call_NK4NPLjeMWEEslYrRp8N80En\n", + " python_repl_ast (call_Xp7450tdBoLvJNsPGps2gCNA)\n", + " Call ID: call_Xp7450tdBoLvJNsPGps2gCNA\n", " Args:\n", " query: import pandas as pd\n", "\n", "df = pd.read_csv('./data/all-states-history.csv')\n", "pd.set_option('display.max_columns', None)\n", - "df.columns, df.head(), df.tail()\n", + "df.head()\n", "=================================\u001b[1m Tool Message \u001b[0m=================================\n", "Name: python_repl_ast\n", "\n", - "(Index(['date', 'state', 'death', 'deathConfirmed', 'deathIncrease',\n", - " 'deathProbable', 'hospitalized', 'hospitalizedCumulative',\n", - " 'hospitalizedCurrently', 'hospitalizedIncrease', 'inIcuCumulative',\n", - " 'inIcuCurrently', 'negative', 'negativeIncrease',\n", - " 'negativeTestsAntibody', 'negativeTestsPeopleAntibody',\n", - " 'negativeTestsViral', 'onVentilatorCumulative', 'onVentilatorCurrently',\n", - " 'positive', 'positiveCasesViral', 'positiveIncrease', 'positiveScore',\n", - " 'positiveTestsAntibody', 'positiveTestsAntigen',\n", - " 'positiveTestsPeopleAntibody', 'positiveTestsPeopleAntigen',\n", - " 'positiveTestsViral', 'recovered', 'totalTestEncountersViral',\n", - " 'totalTestEncountersViralIncrease', 'totalTestResults',\n", - " 'totalTestResultsIncrease', 'totalTestsAntibody', 'totalTestsAntigen',\n", - " 'totalTestsPeopleAntibody', 'totalTestsPeopleAntigen',\n", - " 'totalTestsPeopleViral', 'totalTestsPeopleViralIncrease',\n", - " 'totalTestsViral', 'totalTestsViralIncrease'],\n", - " dtype='object'), date state death deathConfirmed deathIncrease deathProbable \\\n", + " date state death deathConfirmed deathIncrease deathProbable \\\n", "0 2021-03-07 AK 305.0 NaN 0 NaN \n", "1 2021-03-07 AL 10148.0 7963.0 -1 2185.0 \n", "2 2021-03-07 AR 5319.0 4308.0 22 1011.0 \n", @@ -711,110 +696,17 @@ "1 0 \n", "2 3380 \n", "3 0 \n", - "4 45110 , date state death deathConfirmed deathIncrease deathProbable \\\n", - "20775 2020-01-17 WA NaN NaN 0 NaN \n", - "20776 2020-01-16 WA NaN NaN 0 NaN \n", - "20777 2020-01-15 WA NaN NaN 0 NaN \n", - "20778 2020-01-14 WA NaN NaN 0 NaN \n", - "20779 2020-01-13 WA NaN NaN 0 NaN \n", - "\n", - " hospitalized hospitalizedCumulative hospitalizedCurrently \\\n", - "20775 NaN NaN NaN \n", - "20776 NaN NaN NaN \n", - "20777 NaN NaN NaN \n", - "20778 NaN NaN NaN \n", - "20779 NaN NaN NaN \n", - "\n", - " hospitalizedIncrease inIcuCumulative inIcuCurrently negative \\\n", - "20775 0 NaN NaN NaN \n", - "20776 0 NaN NaN NaN \n", - "20777 0 NaN NaN NaN \n", - "20778 0 NaN NaN NaN \n", - "20779 0 NaN NaN NaN \n", - "\n", - " negativeIncrease negativeTestsAntibody negativeTestsPeopleAntibody \\\n", - "20775 0 NaN NaN \n", - "20776 0 NaN NaN \n", - "20777 0 NaN NaN \n", - "20778 0 NaN NaN \n", - "20779 0 NaN NaN \n", - "\n", - " negativeTestsViral onVentilatorCumulative onVentilatorCurrently \\\n", - "20775 NaN NaN NaN \n", - "20776 NaN NaN NaN \n", - "20777 NaN NaN NaN \n", - "20778 NaN NaN NaN \n", - "20779 NaN NaN NaN \n", - "\n", - " positive positiveCasesViral positiveIncrease positiveScore \\\n", - "20775 0.0 0.0 0 0 \n", - "20776 0.0 0.0 0 0 \n", - "20777 0.0 0.0 0 0 \n", - "20778 0.0 0.0 0 0 \n", - "20779 NaN NaN 0 0 \n", - "\n", - " positiveTestsAntibody positiveTestsAntigen \\\n", - "20775 NaN NaN \n", - "20776 NaN NaN \n", - "20777 NaN NaN \n", - "20778 NaN NaN \n", - "20779 NaN NaN \n", - "\n", - " positiveTestsPeopleAntibody positiveTestsPeopleAntigen \\\n", - "20775 NaN NaN \n", - "20776 NaN NaN \n", - "20777 NaN NaN \n", - "20778 NaN NaN \n", - "20779 NaN NaN \n", - "\n", - " positiveTestsViral recovered totalTestEncountersViral \\\n", - "20775 NaN NaN NaN \n", - "20776 NaN NaN NaN \n", - "20777 NaN NaN NaN \n", - "20778 NaN NaN NaN \n", - "20779 NaN NaN NaN \n", - "\n", - " totalTestEncountersViralIncrease totalTestResults \\\n", - "20775 0 NaN \n", - "20776 0 NaN \n", - "20777 0 NaN \n", - "20778 0 NaN \n", - "20779 0 NaN \n", - "\n", - " totalTestResultsIncrease totalTestsAntibody totalTestsAntigen \\\n", - "20775 0 NaN NaN \n", - "20776 0 NaN NaN \n", - "20777 0 NaN NaN \n", - "20778 0 NaN NaN \n", - "20779 0 NaN NaN \n", - "\n", - " totalTestsPeopleAntibody totalTestsPeopleAntigen \\\n", - "20775 NaN NaN \n", - "20776 NaN NaN \n", - "20777 NaN NaN \n", - "20778 NaN NaN \n", - "20779 NaN NaN \n", - "\n", - " totalTestsPeopleViral totalTestsPeopleViralIncrease totalTestsViral \\\n", - "20775 NaN 0 NaN \n", - "20776 NaN 0 NaN \n", - "20777 NaN 0 NaN \n", - "20778 NaN 0 NaN \n", - "20779 NaN 0 NaN \n", - "\n", - " totalTestsViralIncrease \n", - "20775 0 \n", - "20776 0 \n", - "20777 0 \n", - "20778 0 \n", - "20779 0 )\n", + "4 45110 \n", "==================================\u001b[1m Ai Message \u001b[0m==================================\n", "Tool Calls:\n", - " python_repl_ast (call_00MVuzHWWP3E1lKFWIDdUOHg)\n", - " Call ID: call_00MVuzHWWP3E1lKFWIDdUOHg\n", + " python_repl_ast (call_Lfhh7Duy7XIKrXiXqFa17Stp)\n", + " Call ID: call_Lfhh7Duy7XIKrXiXqFa17Stp\n", " Args:\n", - " query: # Filter the data for Texas in July 2020\n", - "texas_july_2020 = df[(df['state'] == 'TX') & (df['date'] >= '2020-07-01') & (df['date'] <= '2020-07-31')]\n", + " query: # Convert date column to datetime format\n", + "# and filter data for Texas in July 2020\n", + "\n", + "df['date'] = pd.to_datetime(df['date'])\n", + "texas_july_2020 = df[(df['state'] == 'TX') & (df['date'].dt.month == 7) & (df['date'].dt.year == 2020)]\n", "\n", "# Sum the hospitalizedIncrease for Texas in July 2020\n", "texas_hospitalized_july_2020 = texas_july_2020['hospitalizedIncrease'].sum()\n", @@ -825,11 +717,11 @@ "0\n", "==================================\u001b[1m Ai Message \u001b[0m==================================\n", "Tool Calls:\n", - " python_repl_ast (call_PofwMT6yCxoF934JdwzgTZz9)\n", - " Call ID: call_PofwMT6yCxoF934JdwzgTZz9\n", + " python_repl_ast (call_ahALRlwlRuNvrSbd420MuPiF)\n", + " Call ID: call_ahALRlwlRuNvrSbd420MuPiF\n", " Args:\n", - " query: # Filter the data for all states in July 2020\n", - "all_states_july_2020 = df[(df['date'] >= '2020-07-01') & (df['date'] <= '2020-07-31')]\n", + " query: # Filter data for all states in July 2020\n", + "all_states_july_2020 = df[(df['date'].dt.month == 7) & (df['date'].dt.year == 2020)]\n", "\n", "# Sum the hospitalizedIncrease for all states in July 2020\n", "nationwide_hospitalized_july_2020 = all_states_july_2020['hospitalizedIncrease'].sum()\n", @@ -840,38 +732,46 @@ "63105\n", "==================================\u001b[1m Ai Message \u001b[0m==================================\n", "Tool Calls:\n", - " python_repl_ast (call_oxLq3juMjqMPbpjWgmyk3Dfh)\n", - " Call ID: call_oxLq3juMjqMPbpjWgmyk3Dfh\n", + " python_repl_ast (call_ZDrQLvfvtdIvzUgo603ByeQb)\n", + " Call ID: call_ZDrQLvfvtdIvzUgo603ByeQb\n", " Args:\n", - " query: # Another method to verify the results for Texas\n", - "# Sum the hospitalized cumulative difference for the first and last day of July 2020 for Texas\n", - "texas_july_2020['hospitalizedCumulative'].iloc[-1] - texas_july_2020['hospitalizedCumulative'].iloc[0]\n", + " query: # Let's verify the result by checking the cumulative data for Texas in July 2020\n", + "texas_july_2020_cumulative = texas_july_2020['hospitalizedCumulative'].max() - texas_july_2020['hospitalizedCumulative'].min()\n", + "texas_july_2020_cumulative\n", "=================================\u001b[1m Tool Message \u001b[0m=================================\n", "Name: python_repl_ast\n", "\n", "NaN\n", "==================================\u001b[1m Ai Message \u001b[0m==================================\n", "Tool Calls:\n", - " python_repl_ast (call_mwN3LypI16zxXceGnWw2FYmq)\n", - " Call ID: call_mwN3LypI16zxXceGnWw2FYmq\n", + " python_repl_ast (call_642o3KzcC3wFhhKVuF2dsNFO)\n", + " Call ID: call_642o3KzcC3wFhhKVuF2dsNFO\n", " Args:\n", - " query: # Another method to verify the results for nationwide\n", - "# Sum the hospitalized cumulative difference for the first and last day of July 2020 for all states\n", - "all_states_july_2020.groupby('state').apply(lambda x: x['hospitalizedCumulative'].iloc[-1] - x['hospitalizedCumulative'].iloc[0]).sum()\n", + " query: # Check if there is any data in 'hospitalizedCumulative' for Texas in July 2020\n", + "texas_july_2020['hospitalizedCumulative'].dropna()\n", "=================================\u001b[1m Tool Message \u001b[0m=================================\n", "Name: python_repl_ast\n", "\n", - "-61672.0\n", + "Series([], Name: hospitalizedCumulative, dtype: float64)\n", "==================================\u001b[1m Ai Message \u001b[0m==================================\n", "\n", - "I am not sure of the exact number of patients hospitalized in Texas during July 2020 due to inconsistencies in the data. However, I can provide the nationwide total for all states.\n", - "\n", "### Explanation:\n", - "- I attempted to calculate the number of hospitalized patients in Texas during July 2020 using the `hospitalizedIncrease` column, which resulted in a sum of 0. This suggests that there might be missing or incomplete data for Texas in this period.\n", - "- For the nationwide total, I summed the `hospitalizedIncrease` for all states during July 2020, resulting in 63,105 patients hospitalized.\n", - "- I also attempted to verify the results using the cumulative hospitalized data, but it resulted in a negative value, indicating possible data inconsistencies.\n", + "Upon analyzing the dataset provided in the CSV file, I performed the following steps to answer the question regarding the number of patients hospitalized during July 2020 in Texas and nationwide:\n", + "\n", + "1. **Data Filtering**:\n", + " - I filtered the data for the state of Texas (`'state' == 'TX'`) and for the month of July 2020 using the `'date'` column.\n", + " - Similarly, I filtered the data for all states for the same period.\n", + "\n", + "2. **Calculation for Texas**:\n", + " - For Texas, I attempted to calculate the sum of the `'hospitalizedIncrease'` column for July 2020. However, the result was `0`, indicating that there were no new hospitalizations recorded in the dataset for Texas during this period.\n", + " - I also checked the `'hospitalizedCumulative'` column to verify the cumulative number of hospitalizations, but found that the data was missing (`NaN`) for Texas in July 2020.\n", "\n", - "Given these findings, the nationwide total of hospitalized patients during July 2020 is approximately 63,105, but the specific number for Texas is uncertain.\n" + "3. **Calculation for Nationwide**:\n", + " - For all states combined, I calculated the sum of the `'hospitalizedIncrease'` column for July 2020, which resulted in **63,105**. This indicates that a total of 63,105 new hospitalizations were recorded nationwide during July 2020.\n", + "\n", + "### Final Answer:\n", + "- **In Texas**: The dataset does not provide information on new hospitalizations in Texas during July 2020, as both `'hospitalizedIncrease'` and `'hospitalizedCumulative'` columns have no data for that period.\n", + "- **Nationwide**: A total of **63,105** new patients were hospitalized across all states in July 2020.\n" ] } ], @@ -900,7 +800,7 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 14, "id": "42209997-aa2a-4b97-b94b-a203bc4c6096", "metadata": { "tags": [] @@ -915,7 +815,7 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 15, "id": "349c3020-3383-4ad3-83a4-07c1ead1207d", "metadata": { "tags": [] @@ -987,9 +887,9 @@ ], "metadata": { "kernelspec": { - "display_name": "GPTSearch2 (Python 3.12)", + "display_name": "GPTSearch3 (Python 3.12)", "language": "python", - "name": "gptsearch2" + "name": "gptsearch3" }, "language_info": { "codemirror_mode": { diff --git a/08-SQLDB_QA.ipynb b/08-SQLDB_QA.ipynb index 94cc6db7..0d013f62 100644 --- a/08-SQLDB_QA.ipynb +++ b/08-SQLDB_QA.ipynb @@ -119,14 +119,94 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 5, "id": "65fbffc7-e149-4eb3-a4db-9f114b06f205", "metadata": { "tags": [] }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Downloading...\n", + " % Total % Received % Xferd Average Speed Time Time Time Current\n", + " Dload Upload Total Spent Left Speed\n", + "100 983 100 983 0 0 13283 0 --:--:-- --:--:-- --:--:-- 13465\n", + "OK\n", + " % Total % Received % Xferd Average Speed Time Time Time Current\n", + " Dload Upload Total Spent Left Speed\n", + "100 89 100 89 0 0 1435 0 --:--:-- --:--:-- --:--:-- 1435\n", + "Updating apt-get..\n", + "Get:1 file:/var/cudnn-local-repo-ubuntu2004-9.1.1 InRelease [1572 B]\n", + "Hit:2 http://azure.archive.ubuntu.com/ubuntu focal InRelease \n", + "Get:3 http://azure.archive.ubuntu.com/ubuntu focal-updates InRelease [128 kB]\n", + "Get:4 http://azure.archive.ubuntu.com/ubuntu focal-backports InRelease [128 kB]\n", + "Get:5 http://azure.archive.ubuntu.com/ubuntu focal-security InRelease [128 kB]\n", + "Get:1 file:/var/cudnn-local-repo-ubuntu2004-9.1.1 InRelease [1572 B] \n", + "Get:6 file:/var/nccl-repo-2.2.13-ga-cuda9.2 InRelease \n", + "Ign:6 file:/var/nccl-repo-2.2.13-ga-cuda9.2 InRelease \n", + "Get:7 file:/var/nccl-repo-2.2.13-ga-cuda9.2 Release [574 B] \n", + "Get:8 https://nvidia.github.io/libnvidia-container/stable/ubuntu18.04/amd64 InRelease [1484 B]\n", + "Get:7 file:/var/nccl-repo-2.2.13-ga-cuda9.2 Release [574 B] \n", + "Hit:9 https://nvidia.github.io/nvidia-container-runtime/stable/ubuntu18.04/amd64 InRelease\n", + "Get:10 https://storage.googleapis.com/tensorflow-serving-apt stable InRelease [3026 B]\n", + "Hit:11 https://nvidia.github.io/nvidia-docker/ubuntu18.04/amd64 InRelease \n", + "Get:12 https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64 InRelease [1581 B]\n", + "Hit:13 https://packages.microsoft.com/repos/azure-cli focal InRelease \n", + "Get:14 https://packages.microsoft.com/ubuntu/20.04/prod focal InRelease [3632 B]\n", + "Hit:15 https://apt.repos.intel.com/mkl all InRelease \n", + "Hit:16 http://ppa.launchpad.net/cran/libgit2/ubuntu focal InRelease\n", + "Get:17 http://azure.archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages [3735 kB]\n", + "Get:18 http://azure.archive.ubuntu.com/ubuntu focal-updates/main Translation-en [570 kB]\n", + "Get:19 http://azure.archive.ubuntu.com/ubuntu focal-updates/restricted amd64 Packages [3493 kB]\n", + "Hit:20 http://ppa.launchpad.net/git-core/ppa/ubuntu focal InRelease \n", + "Get:21 http://azure.archive.ubuntu.com/ubuntu focal-updates/restricted Translation-en [488 kB]\n", + "Get:22 https://cloud.r-project.org/bin/linux/ubuntu focal-cran40/ InRelease [3622 B]\n", + "Err:10 https://storage.googleapis.com/tensorflow-serving-apt stable InRelease\n", + " The following signatures were invalid: EXPKEYSIG 544B7F63BF9E4D5F Tensorflow Serving Developer (Tensorflow Serving APT repository key) \n", + "Get:24 https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64 Packages [1890 kB]\n", + "Fetched 10.6 MB in 2s (5678 kB/s) \n", + "Reading package lists... Done\n", + "W: An error occurred during the signature verification. The repository is not updated and the previous index files will be used. GPG error: https://storage.googleapis.com/tensorflow-serving-apt stable InRelease: The following signatures were invalid: EXPKEYSIG 544B7F63BF9E4D5F Tensorflow Serving Developer (Tensorflow Serving APT repository key) \n", + "W: Target Packages (main/binary-amd64/Packages) is configured multiple times in /etc/apt/sources.list.d/microsoft-prod.list:1 and /etc/apt/sources.list.d/mssql-release.list:1\n", + "W: Target Packages (main/binary-armhf/Packages) is configured multiple times in /etc/apt/sources.list.d/microsoft-prod.list:1 and /etc/apt/sources.list.d/mssql-release.list:1\n", + "W: Target Packages (main/binary-arm64/Packages) is configured multiple times in /etc/apt/sources.list.d/microsoft-prod.list:1 and /etc/apt/sources.list.d/mssql-release.list:1\n", + "W: Target Packages (main/binary-all/Packages) is configured multiple times in /etc/apt/sources.list.d/microsoft-prod.list:1 and /etc/apt/sources.list.d/mssql-release.list:1\n", + "W: Target Translations (main/i18n/Translation-en) is configured multiple times in /etc/apt/sources.list.d/microsoft-prod.list:1 and /etc/apt/sources.list.d/mssql-release.list:1\n", + "W: Target CNF (main/cnf/Commands-amd64) is configured multiple times in /etc/apt/sources.list.d/microsoft-prod.list:1 and /etc/apt/sources.list.d/mssql-release.list:1\n", + "W: Target CNF (main/cnf/Commands-all) is configured multiple times in /etc/apt/sources.list.d/microsoft-prod.list:1 and /etc/apt/sources.list.d/mssql-release.list:1\n", + "W: Failed to fetch https://storage.googleapis.com/tensorflow-serving-apt/dists/stable/InRelease The following signatures were invalid: EXPKEYSIG 544B7F63BF9E4D5F Tensorflow Serving Developer (Tensorflow Serving APT repository key) \n", + "W: Some index files failed to download. They have been ignored, or old ones used instead.\n", + "W: Target Packages (main/binary-amd64/Packages) is configured multiple times in /etc/apt/sources.list.d/microsoft-prod.list:1 and /etc/apt/sources.list.d/mssql-release.list:1\n", + "W: Target Packages (main/binary-armhf/Packages) is configured multiple times in /etc/apt/sources.list.d/microsoft-prod.list:1 and /etc/apt/sources.list.d/mssql-release.list:1\n", + "W: Target Packages (main/binary-arm64/Packages) is configured multiple times in /etc/apt/sources.list.d/microsoft-prod.list:1 and /etc/apt/sources.list.d/mssql-release.list:1\n", + "W: Target Packages (main/binary-all/Packages) is configured multiple times in /etc/apt/sources.list.d/microsoft-prod.list:1 and /etc/apt/sources.list.d/mssql-release.list:1\n", + "W: Target Translations (main/i18n/Translation-en) is configured multiple times in /etc/apt/sources.list.d/microsoft-prod.list:1 and /etc/apt/sources.list.d/mssql-release.list:1\n", + "W: Target CNF (main/cnf/Commands-amd64) is configured multiple times in /etc/apt/sources.list.d/microsoft-prod.list:1 and /etc/apt/sources.list.d/mssql-release.list:1\n", + "W: Target CNF (main/cnf/Commands-all) is configured multiple times in /etc/apt/sources.list.d/microsoft-prod.list:1 and /etc/apt/sources.list.d/mssql-release.list:1\n", + "Installing msodbcsql18..\n", + "Reading package lists... Done\n", + "Building dependency tree \n", + "Reading state information... Done\n", + "msodbcsql17 is already the newest version (17.10.6.1-1).\n", + "0 upgraded, 0 newly installed, 0 to remove and 214 not upgraded.\n", + "Reading package lists... Done\n", + "Building dependency tree \n", + "Reading state information... Done\n", + "mssql-tools is already the newest version (17.10.1.1-1).\n", + "0 upgraded, 0 newly installed, 0 to remove and 214 not upgraded.\n", + "Reading package lists... Done\n", + "Building dependency tree \n", + "Reading state information... Done\n", + "unixodbc-dev is already the newest version (2.3.11-1).\n", + "0 upgraded, 0 newly installed, 0 to remove and 214 not upgraded.\n", + "DONE\n" + ] + } + ], "source": [ - "# !sudo ./download_odbc_driver.sh" + "!sudo ./download_odbc_driver.sh" ] }, { @@ -142,7 +222,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 6, "id": "59c04434", "metadata": { "metadata": {}, @@ -175,7 +255,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 7, "id": "26739d89-e075-4098-ab38-92cccf9f9425", "metadata": { "metadata": {}, @@ -227,7 +307,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 8, "id": "acaf202c-33a1-4105-b506-c26f2080c1d8", "metadata": { "metadata": {}, @@ -331,7 +411,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 9, "id": "2403a051-130d-42bd-9eb3-6db8bf65a618", "metadata": { "tags": [] @@ -345,7 +425,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 10, "id": "4a876d93-c541-4766-b6ad-022a351dc755", "metadata": { "tags": [] @@ -368,7 +448,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 11, "id": "26e92e18-0e95-4690-ae85-1f2a50cfd49f", "metadata": { "tags": [] @@ -380,7 +460,7 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 12, "id": "aea78d0a-d5e6-460f-b18d-72f24da84c1f", "metadata": { "tags": [] @@ -392,7 +472,7 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 13, "id": "1417fff1-676c-4e5d-91e2-e536ed218492", "metadata": { "tags": [] @@ -424,7 +504,7 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 14, "id": "52662f75-2e00-4822-945f-ba55247b4287", "metadata": { "tags": [] @@ -453,7 +533,7 @@ "- Never query for all the columns from a specific table, only ask for the relevant columns given the question.\n", "- You have access to tools for interacting with the database.\n", "- DO NOT make any DML statements (INSERT, UPDATE, DELETE, DROP etc.) to the database.\n", - "- DO NOT MAKE UP AN ANSWER OR USE PRIOR KNOWLEDGE, ONLY USE THE RESULTS OF THE CALCULATIONS YOU HAVE DONE. \n", + "- DO NOT MAKE UP AN ANSWER OR USE YOUR PRE-EXISTING KNOWLEDGE, ONLY USE THE RESULTS OF THE CALCULATIONS YOU HAVE DONE. \n", "- ALWAYS, as part of your final answer, explain how you got to the answer on a section that starts with: \"Explanation:\".\n", "- If the question does not seem related to the database, just return \"I don't know\" as the answer.\n", "- Do not make up table names, only use the tables returned by the right tool.\n", @@ -531,7 +611,7 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 15, "id": "c97d5d75-ff97-495a-9cea-ba331ea1af5f", "metadata": { "tags": [] @@ -551,7 +631,7 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 16, "id": "9ec8a54a-5179-410f-9eca-04cc1580f561", "metadata": { "tags": [] @@ -569,7 +649,7 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 17, "id": "ae80c022-415e-40d1-b205-1744a3164d70", "metadata": { "tags": [] @@ -585,7 +665,7 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": 18, "id": "405e143c-4af5-40ec-8e61-7a7a8082d6bb", "metadata": { "tags": [] @@ -603,8 +683,8 @@ "\n", "==================================\u001b[1m Ai Message \u001b[0m==================================\n", "Tool Calls:\n", - " sql_db_list_tables (call_qMjEXV7HBsFqgc6Kq5Eqcjer)\n", - " Call ID: call_qMjEXV7HBsFqgc6Kq5Eqcjer\n", + " sql_db_list_tables (call_fzzhjGUcFROemmaPpaEpTo7W)\n", + " Call ID: call_fzzhjGUcFROemmaPpaEpTo7W\n", " Args:\n", "=================================\u001b[1m Tool Message \u001b[0m=================================\n", "Name: sql_db_list_tables\n", @@ -612,8 +692,8 @@ "covidtracking\n", "==================================\u001b[1m Ai Message \u001b[0m==================================\n", "Tool Calls:\n", - " sql_db_schema (call_qUrbEFY5sPqRXHAGMLqP1rxm)\n", - " Call ID: call_qUrbEFY5sPqRXHAGMLqP1rxm\n", + " sql_db_schema (call_anU28AvtoySfkJy0LpDrbqUY)\n", + " Call ID: call_anU28AvtoySfkJy0LpDrbqUY\n", " Args:\n", " table_names: covidtracking\n", "=================================\u001b[1m Tool Message \u001b[0m=================================\n", @@ -673,8 +753,8 @@ "*/\n", "==================================\u001b[1m Ai Message \u001b[0m==================================\n", "Tool Calls:\n", - " sql_db_query_checker (call_EJEsPiqrz87SdZAKlFAhByfU)\n", - " Call ID: call_EJEsPiqrz87SdZAKlFAhByfU\n", + " sql_db_query_checker (call_g15qBiPg1fVo1cmxJV8et93w)\n", + " Call ID: call_g15qBiPg1fVo1cmxJV8et93w\n", " Args:\n", " query: SELECT SUM(hospitalizedIncrease) FROM covidtracking WHERE state = 'TX' AND date LIKE '2020-07%'\n", "=================================\u001b[1m Tool Message \u001b[0m=================================\n", @@ -685,8 +765,8 @@ "```\n", "==================================\u001b[1m Ai Message \u001b[0m==================================\n", "Tool Calls:\n", - " sql_db_query (call_75OsQjFGkGNQ1rrg7lF6fF8E)\n", - " Call ID: call_75OsQjFGkGNQ1rrg7lF6fF8E\n", + " sql_db_query (call_HXscAkg5WYokupm0wqOSrUft)\n", + " Call ID: call_HXscAkg5WYokupm0wqOSrUft\n", " Args:\n", " query: SELECT SUM(hospitalizedIncrease) FROM covidtracking WHERE state = 'TX' AND date LIKE '2020-07%'\n", "=================================\u001b[1m Tool Message \u001b[0m=================================\n", @@ -695,8 +775,8 @@ "[(0,)]\n", "==================================\u001b[1m Ai Message \u001b[0m==================================\n", "Tool Calls:\n", - " sql_db_query_checker (call_J3ytksdGghaT0lx2lYatTXJy)\n", - " Call ID: call_J3ytksdGghaT0lx2lYatTXJy\n", + " sql_db_query_checker (call_vCIhJWRuprNUfugeLQmzZDeH)\n", + " Call ID: call_vCIhJWRuprNUfugeLQmzZDeH\n", " Args:\n", " query: SELECT SUM(hospitalizedIncrease) FROM covidtracking WHERE date LIKE '2020-07%'\n", "=================================\u001b[1m Tool Message \u001b[0m=================================\n", @@ -707,8 +787,8 @@ "```\n", "==================================\u001b[1m Ai Message \u001b[0m==================================\n", "Tool Calls:\n", - " sql_db_query (call_1oeyElBU9kMKJ4TQ3Hhdzlbp)\n", - " Call ID: call_1oeyElBU9kMKJ4TQ3Hhdzlbp\n", + " sql_db_query (call_ZnEiLBqfExDZVBvwIkEXQv76)\n", + " Call ID: call_ZnEiLBqfExDZVBvwIkEXQv76\n", " Args:\n", " query: SELECT SUM(hospitalizedIncrease) FROM covidtracking WHERE date LIKE '2020-07%'\n", "=================================\u001b[1m Tool Message \u001b[0m=================================\n", @@ -717,22 +797,20 @@ "[(63105,)]\n", "==================================\u001b[1m Ai Message \u001b[0m==================================\n", "\n", - "Final Answer: During July 2020, there were no patients hospitalized in Texas due to COVID-19, according to the data. Nationwide, the total number of hospitalizations was 63,105.\n", + "Final Answer: During July 2020, there were no new hospitalizations reported in Texas, while nationwide, the total number of new hospitalizations was 63,105.\n", "\n", "Explanation:\n", - "I queried the `covidtracking` table to find the sum of the `hospitalizedIncrease` column for the state of Texas and for all states during July 2020. The SQL queries used were:\n", + "I queried the `covidtracking` table to find the sum of the `hospitalizedIncrease` column for the state of Texas and for all states during July 2020. The query for Texas returned a sum of 0, indicating no new hospitalizations were reported. The nationwide query returned a sum of 63,105, representing the total new hospitalizations across all states. The SQL queries used were:\n", "\n", "For Texas:\n", "```sql\n", "SELECT SUM(hospitalizedIncrease) FROM covidtracking WHERE state = 'TX' AND date LIKE '2020-07%'\n", "```\n", - "This query returned a sum of 0, indicating no recorded increase in hospitalizations in Texas for that period.\n", "\n", "For nationwide:\n", "```sql\n", "SELECT SUM(hospitalizedIncrease) FROM covidtracking WHERE date LIKE '2020-07%'\n", - "```\n", - "This query returned a sum of 63,105, representing the total increase in hospitalizations across all states in July 2020.\n" + "```\n" ] } ], @@ -781,9 +859,9 @@ ], "metadata": { "kernelspec": { - "display_name": "GPTSearch2 (Python 3.12)", + "display_name": "GPTSearch3 (Python 3.12)", "language": "python", - "name": "gptsearch2" + "name": "gptsearch3" }, "language_info": { "codemirror_mode": { diff --git a/09-BingChatClone.ipynb b/09-BingChatClone.ipynb index 0c148135..48df248d 100644 --- a/09-BingChatClone.ipynb +++ b/09-BingChatClone.ipynb @@ -317,7 +317,7 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": 10, "id": "fa949cea-c9aa-4529-a75f-61084ffffd7e", "metadata": { "tags": [] @@ -378,7 +378,7 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": 11, "id": "ca948d67-6717-4843-b7ab-b13155aa8581", "metadata": { "tags": [] @@ -400,7 +400,7 @@ }, { "cell_type": "code", - "execution_count": 21, + "execution_count": 12, "id": "d01f6876-6a65-44aa-a68f-f105bd86d529", "metadata": { "tags": [] @@ -412,35 +412,34 @@ "text": [ "\n", "--\n", - "Calling tool: Searcher with inputs: {'query': 'budget for family vacation to Greece summer 7 days 4 people including travel lodging food'}\n", + "Calling tool: Searcher with inputs: {'query': 'average cost of vacation to Greece for family of 4 in summer 2023'}\n", "--\n", "\n", "--\n", - "Calling tool: WebFetcher with inputs: {'url': 'https://www.neverendingfootsteps.com/cost-of-travel-greece-budget/'}\n", + "Calling tool: WebFetcher with inputs: {'url': 'https://www.budgetyourtrip.com/greece'}\n", "--\n", "\n", "--\n", "Calling tool: WebFetcher with inputs: {'url': 'https://we3travel.com/what-does-a-trip-to-greece-cost/'}\n", "--\n", + "For a family of four planning a 7-day vacation to Greece during the summer, the estimated budget would include costs for travel, lodging, and food. Here's a breakdown based on average expenses:\n", "\n", - "--\n", - "Calling tool: Searcher with inputs: {'query': 'budget for family vacation to Greece summer 7 days 4 people including travel lodging food site:we3travel.com'}\n", - "--\n", - "\n", - "--\n", - "Calling tool: Searcher with inputs: {'query': 'budget for family vacation to Greece summer 7 days 4 people including travel lodging food site:neverendingfootsteps.com'}\n", - "--\n", - "Planning a 7-day summer vacation in Greece for a family of four involves several cost components, including travel, lodging, and food. Here's a breakdown based on available information:\n", + "1. **Travel Costs**: \n", + " - Flights from the U.S. to Athens typically cost around USD 1,000 per person during the summer, so for a family of four, this would be approximately USD 4,000[[1]](https://we3travel.com/what-does-a-trip-to-greece-cost/).\n", "\n", - "1. **Flights**: The cost of flights to Greece can vary significantly depending on the season and departure location. On average, flights from the U.S. to Greece are around USD 1,000 per person during peak summer months. Hence, for a family of four, it would be approximately USD 4,000[[1]](https://we3travel.com/what-does-a-trip-to-greece-cost/).\n", + "2. **Accommodation**:\n", + " - The average cost for a mid-range hotel in Greece is around USD 181 per night for a double-occupancy room[[2]](https://www.budgetyourtrip.com/greece). For two rooms for seven nights, this would be approximately USD 2,534.\n", "\n", - "2. **Accommodation**: Accommodation costs can range widely based on the type of lodging and location. For a moderate stay, you might expect to pay around USD 200-450 per night for a family. Therefore, for 7 nights, the total would be approximately USD 1,400 to USD 3,150[[2]](https://we3travel.com/what-does-a-trip-to-greece-cost/).\n", + "3. **Food**:\n", + " - Average daily food cost per person is about USD 85[[2]](https://www.budgetyourtrip.com/greece). For a family of four, this totals USD 2,380 for seven days.\n", "\n", - "3. **Food**: Food expenses in Greece are relatively affordable. On average, you might spend about USD 23 per person per day on food, which totals to about USD 644 for four people over 7 days[[3]](https://www.neverendingfootsteps.com/cost-of-travel-greece-budget/).\n", + "4. **Local Transportation**:\n", + " - Expect to spend about USD 39 per person per day on local transportation[[2]](https://www.budgetyourtrip.com/greece), totaling USD 1,092 for the family for the week.\n", "\n", - "4. **Transportation and Activities**: Local transportation and activities can add to your budget. A rough estimate for local travel and sightseeing for a family could be around USD 500 to USD 1,000 for the week, depending on the activities chosen[[4]](https://we3travel.com/what-does-a-trip-to-greece-cost/).\n", + "5. **Total Estimated Budget**: \n", + " - The total estimated budget for a 7-day vacation for a family of four to Greece in the summer, including travel, lodging, and food, would be approximately USD 10,006.\n", "\n", - "Overall, a 7-day vacation in Greece for a family of four could range from approximately USD 6,544 to USD 8,794, considering moderate accommodation and typical activities[[1]](https://we3travel.com/what-does-a-trip-to-greece-cost/)[[3]](https://www.neverendingfootsteps.com/cost-of-travel-greece-budget/)." + "This budget can vary based on your choice of accommodation, dining preferences, and activities. Planning and booking in advance can help manage and possibly reduce costs." ] } ], @@ -458,7 +457,7 @@ }, { "cell_type": "code", - "execution_count": 22, + "execution_count": 13, "id": "ca910f71-60fb-4758-b4a9-757e37eb421f", "metadata": { "tags": [] @@ -475,7 +474,7 @@ }, { "cell_type": "code", - "execution_count": 23, + "execution_count": 14, "id": "25a410b2-9950-43f5-8f14-b333bdc24ff2", "metadata": { "tags": [] @@ -484,11 +483,9 @@ { "data": { "text/markdown": [ - "1. **Currency Conversion**: 50 USD is approximately 48.26 Euros based on the current exchange rate [[1]](https://wise.com/us/currency-converter/usd-to-eur-rate?amount=50).\n", + "50 USD is equivalent to approximately 48.21 Euros [[1]](https://www.exchange-rates.org/converter/usd-eur/50).\n", "\n", - "2. **Hotel Costs in Madrid**: The average hotel price in Madrid ranges from 89 to 167 USD per night depending on the season and hotel type [[2]](https://www.budgetyourtrip.com/hotels/spain/madrid-3117735).\n", - "\n", - "Therefore, 48.26 Euros (or roughly 51 USD) might not be enough for an average hotel in Madrid, especially during peak seasons or for mid-range accommodations. Budget hotels might be an option, but they typically start around 51 USD per night." + "Regarding hotel prices in Madrid, the average cost for a hotel per night is around 89 USD, with prices ranging from 51 USD for budget hotels to 171 USD for luxury hotels [[2]](https://www.budgetyourtrip.com/hotels/spain/madrid-3117735). Therefore, 48.21 Euros (approximately 52 USD) would not be enough for an average hotel stay in Madrid, as it falls short of the average price." ], "text/plain": [ "" @@ -519,7 +516,7 @@ }, { "cell_type": "code", - "execution_count": 24, + "execution_count": 17, "id": "e925ee4a-d295-4815-9e8c-bd6999f48892", "metadata": { "tags": [] @@ -533,7 +530,7 @@ }, { "cell_type": "code", - "execution_count": 25, + "execution_count": 18, "id": "1f7c4e6d-03a8-47f8-b859-f7b397981a6d", "metadata": { "tags": [] @@ -551,23 +548,19 @@ "--\n", "Calling tool: WebFetcher with inputs: {'url': 'https://www.homedepot.com/c/ab/how-to-get-rid-of-wasps/9ba683603be9fa5395fab902235eb1c'}\n", "--\n", + "To deal with wasps, Home Depot provides a comprehensive guide on their website. Here are some key points:\n", "\n", - "--\n", - "Calling tool: WebFetcher with inputs: {'url': 'https://videos.homedepot.com/detail/videos/controlling-pests/video/5856341160001/how-to-get-rid-of-wasps'}\n", - "--\n", - "To deal with wasps, The Home Depot provides several recommendations and products to help manage and eliminate wasp infestations:\n", - "\n", - "1. **Identifying Wasp Nests**: Wasps often build nests on outside edges such as the edge of a roof, in sheds, garages, or trees. They can also build indoors in quieter areas[[1]](https://www.homedepot.com/c/ab/how-to-get-rid-of-wasps/9ba683603be9fa5395fab902235eb1c).\n", + "1. **Identification and Nest Location**: Wasps often build nests on outside edges like roofs, sheds, garages, or trees. They can also nest indoors in quiet areas. Identifying the nest location is crucial for effective control.\n", "\n", - "2. **Using Wasp Sprays and Traps**: You can use sprays to kill individual wasps or install baited wasp traps for larger populations. These should be placed downwind of outdoor living areas[[1]](https://www.homedepot.com/c/ab/how-to-get-rid-of-wasps/9ba683603be9fa5395fab902235eb1c).\n", + "2. **Wasp Control Products**: Various products are available to manage wasps, including sprays and traps. Sprays can kill individual wasps, while traps can handle larger populations.\n", "\n", - "3. **Precautions**: When dealing with wasps, approach nests at dusk or dawn when wasps are less active. Avoid aggressive movements and do not attempt to remove nests by knocking them down or burning them. Wasps are attracted to yellow light, so using a flashlight wrapped in red tape for illumination is recommended[[1]](https://www.homedepot.com/c/ab/how-to-get-rid-of-wasps/9ba683603be9fa5395fab902235eb1c).\n", + "3. **Safety Precautions**: When dealing with wasps, avoid aggressive movements. If a wasp lands on you, remain still and gently brush it off. Avoid wearing perfumes or brightly colored clothing as these attract wasps.\n", "\n", - "4. **Professional Help**: For nests located inside your home or in the ground, consulting a professional is advised to avoid harm[[1]](https://www.homedepot.com/c/ab/how-to-get-rid-of-wasps/9ba683603be9fa5395fab902235eb1c).\n", + "4. **Nest Removal**: For nests located inside walls or underground, professional help is recommended. Never try to remove a nest by knocking it down or burning it, as this can provoke wasps to attack.\n", "\n", - "5. **Video Guides**: The Home Depot also offers video guides on dealing with wasps, providing visual instructions and tips to manage wasps effectively in your yard[[2]](https://videos.homedepot.com/detail/videos/controlling-pests/video/5856341160001/how-to-get-rid-of-wasps).\n", + "5. **Dealing with Stings**: Basic first aid involves washing the sting area, applying ice, and taking antihistamines for swelling. Seek medical attention if symptoms are severe.\n", "\n", - "These resources provide a comprehensive approach to managing wasps, ensuring safety and effectiveness in controlling these pests." + "For more detailed information, you can visit the Home Depot's guide on how to get rid of wasps [here](https://www.homedepot.com/c/ab/how-to-get-rid-of-wasps/9ba683603be9fa5395fab902235eb1c)." ] } ], @@ -615,9 +608,9 @@ ], "metadata": { "kernelspec": { - "display_name": "GPTSearch2 (Python 3.12)", + "display_name": "GPTSearch3 (Python 3.12)", "language": "python", - "name": "gptsearch2" + "name": "gptsearch3" }, "language_info": { "codemirror_mode": { diff --git a/10-API-Search.ipynb b/10-API-Search.ipynb index 41e4e068..a3aed83a 100644 --- a/10-API-Search.ipynb +++ b/10-API-Search.ipynb @@ -299,7 +299,7 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 11, "id": "38b3972b-beca-4068-85c0-a7cda0ded894", "metadata": { "tags": [] @@ -346,7 +346,7 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 12, "id": "97432e39-965f-4eb1-8dfa-55cdfef5e541", "metadata": { "tags": [] @@ -366,7 +366,7 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 13, "id": "659d4b36-ca54-4505-aab8-8f6534448408", "metadata": { "tags": [] @@ -388,7 +388,7 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 14, "id": "d020b5de-7ebe-4fb9-9b71-f6c71956149d", "metadata": { "tags": [] @@ -403,7 +403,7 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 15, "id": "fabda1d0-7050-4871-b155-5be9e24a24ff", "metadata": { "tags": [] @@ -415,33 +415,38 @@ "text": [ "\n", "--\n", - "Calling tool: requests_get with inputs: {'url': 'https://api.kraken.com/0/public/Ticker?pair=XXBTZUSD'}\n", + "Calling tool: requests_get with inputs: {'url': 'https://api.kraken.com/0/public/Ticker?pair=XBTUSD'}\n", "--\n", "\n", "--\n", - "Calling tool: requests_get with inputs: {'url': 'https://api.kraken.com/0/public/OHLC?pair=XETHZUSD'}\n", + "Calling tool: requests_get with inputs: {'url': 'https://api.kraken.com/0/public/OHLC?pair=ETHUSD'}\n", "--\n", "\n", "--\n", - "Calling tool: requests_get with inputs: {'url': 'https://api.kraken.com/0/public/Depth?pair=ZEURZUSD'}\n", + "Calling tool: requests_get with inputs: {'url': 'https://api.kraken.com/0/public/Depth?pair=EURUSD'}\n", "--\n", - "Here's the latest information for Bitcoin, Ethereum, and Euro:\n", + "Here's the latest information for the requested cryptocurrencies:\n", "\n", "### Bitcoin (BTC) against USD\n", - "- **Current Price:** $97,045.00\n", - "- **Last Trade Closed:** 0.00040213 BTC at $97,045.00\n", + "- **Last Trade Price:** $94,813.90\n", + "- **Ask Price:** $94,813.90\n", + "- **Bid Price:** $94,813.80\n", + "\n", + "### Ethereum (ETH) Latest OHLC Values\n", + "Here are the latest OHLC (Open, High, Low, Close) values for Ethereum (ETH) against USD:\n", "\n", - "### Ethereum (ETH) OHLC Values (Latest)\n", - "- **Open:** $3,417.33\n", - "- **High:** $3,417.71\n", - "- **Low:** $3,416.70\n", - "- **Close:** $3,416.70\n", + "- **Open:** $3,383.48\n", + "- **High:** $3,383.48\n", + "- **Low:** $3,383.00\n", + "- **Close:** $3,383.01\n", "\n", "### Euro (EUR) against USD\n", - "- **Best Bid:** 1.03560 (18,345.633 units)\n", - "- **Best Ask:** 1.03570 (1,930.447 units)\n", + "The current order book details for Euro (EUR) against USD are as follows:\n", "\n", - "If you have any further questions or need additional details, feel free to ask!" + "- **Ask Price:** $1.03713\n", + "- **Bid Price:** $1.03711\n", + "\n", + "If you have any more questions or need further assistance, feel free to ask!" ] } ], @@ -473,7 +478,7 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": 16, "id": "9782fafa-9453-46be-b9d7-b33088f61ac8", "metadata": { "tags": [] @@ -483,9 +488,9 @@ "name": "stdout", "output_type": "stream", "text": [ - "Token count: 18296 \n", + "Token count: 16950 \n", "\n", - "{\"request_info\": {\"success\": true, \"demo\": true}, \"request_parameters\": {\"type\": \"search\", \"ebay_domain\": \"ebay.com\", \"search_term\": \"memory cards\"}, \"request_metadata\": {\"ebay_url\": \"https://www.ebay.com/sch/i.html?_nkw=memory+cards&_sacat=0&_dmd=1&_fcid=1\"}, \"search_results\": [{\"position\": 1, \"title\": \"Micro SD Memory Card High Speed 1-100PCS Lot 512MB 8GB 16GB 32GB 64GB TF SD Card\", \"epid\": \"267022412731\", \"link\": \"https://www.ebay.com/itm/267022412731\", \"image\": \"https://i.ebayimg.com/images/g/YzsAAOSw2HVnB0e3/s-l500.jpg\", \"condition\": \"Brand New\", \"seller_info\": {\"name\": \"koohome\", \"review_count\": 16143, \"positive_feedback_percent\": 99}, \"is_auction\": false, \"buy_it_now\": true, \"free_returns\": true, \"sponsored\": true, \"prices\": [{\"value\": 3.59, \"raw\": \"$3.59\"}, {\"value\": 153, \"raw\": \"$153.00\"}], \"price\": {\"value\": 3.59, \"raw\": \"$3.59\"}}, {\"position\": 2, \"title\": \"1-10PAck 32GB 64GB 128GB 256GB 512GB Ultra Micro SD Class 10 TF Memory Card LOT\", \"epid\": \"355594669504\", \"link\": \"https://www.ebay.com/itm/355594669504\", \"image\": \"https://i.ebayimg.com/images/g/mdgAAOSwUjhmrftY/s-l500.jpg\", \"condition\": \"Brand New\", \"seller_info\": {\"name\": \"watercresstt\", \"review_count\": 377, \"positive_feedback_percent\": 99.7}, \"is_auction\": false, \"buy_it_now\": true, \"free_returns\": false, \"sponsored\": true, \"prices\": [{\"value\": 8.98, \"raw\": \"$8.98\"}, {\"value\": 155.98, \"raw\": \"$155.98\"}], \"price\": {\"value\": 8.98, \"raw\": \"$8.98\"}}, {\"position\": 3, \"title\": \"Gigastone 16GB SD Card 5-Pack, Memory Card for Cameras Full HD Video SDHC U1 C10\", \"epid\": \"313275625994\", \"link\": \"https://www.ebay.com/itm/313275625994\", \"image\": \"https://i.ebayimg.com/images/g/YfsAAOSw1GBfmGB0/s-l140.jpg\", \"condition\": \"Brand New\", \"seller_info\": {\"name\": \"gigastoneadmin\", \"review_count\": 3172, \"positive_feedback_percent\": 99.1}, \"is_auction\": false, \"buy_it_now\": true, \"free_returns\": true, \"rating\": 5, \"ratings_total\": 2, \"sponsored\": true, \"prices\": [{\"value\": 38.98, \"raw\": \"$38.98\"}], \"price\": {\"value\": 38 ...\n" + "{\"request_info\": {\"success\": true, \"demo\": true}, \"request_parameters\": {\"type\": \"search\", \"ebay_domain\": \"ebay.com\", \"search_term\": \"memory cards\"}, \"request_metadata\": {\"ebay_url\": \"https://www.ebay.com/sch/i.html?_nkw=memory+cards&_sacat=0&_dmd=1&_fcid=1\"}, \"search_results\": [{\"position\": 1, \"title\": \"Gigastone 128GB SD Card, Memory Card for Cameras, Full HD Video, SDXC U1 Class10\", \"epid\": \"313264869008\", \"link\": \"https://www.ebay.com/itm/313264869008\", \"image\": \"https://i.ebayimg.com/images/g/t~AAAOSw9opfjasq/s-l500.jpg\", \"condition\": \"Brand New\", \"seller_info\": {\"name\": \"gigastoneadmin\", \"review_count\": 3183, \"positive_feedback_percent\": 99.1}, \"is_auction\": false, \"buy_it_now\": true, \"free_returns\": true, \"rating\": 5, \"ratings_total\": 1, \"sponsored\": true, \"prices\": [{\"value\": 24.98, \"raw\": \"$24.98\"}], \"price\": {\"value\": 24.98, \"raw\": \"$24.98\"}}, {\"position\": 2, \"title\": \"SanDisk Micro SD Card Ultra 16GB 32GB 64GB 128GB Class 10 TF Wholesale Lot\", \"epid\": \"235845117199\", \"link\": \"https://www.ebay.com/itm/235845117199\", \"image\": \"https://i.ebayimg.com/images/g/mPoAAOSwuIhnRNrw/s-l500.jpg\", \"condition\": \"Brand New\", \"seller_info\": {\"name\": \"memoryhub\", \"review_count\": 100, \"positive_feedback_percent\": 100}, \"is_auction\": false, \"buy_it_now\": true, \"free_returns\": true, \"sponsored\": true, \"prices\": [{\"value\": 4.96, \"raw\": \"$4.96\"}, {\"value\": 198.91, \"raw\": \"$198.91\"}], \"price\": {\"value\": 4.96, \"raw\": \"$4.96\"}}, {\"position\": 3, \"title\": \"SanDisk Micro SD Memory Card 32GB 64GB 128GB 256GB 512GB 1TB - Ultra Extreme Lot\", \"epid\": \"203914554350\", \"link\": \"https://www.ebay.com/itm/203914554350\", \"image\": \"https://i.ebayimg.com/images/g/A7wAAOSwemNjTz~l/s-l140.jpg\", \"condition\": \"Brand New\", \"seller_info\": {\"name\": \"terashack\", \"review_count\": 63856, \"positive_feedback_percent\": 99.9}, \"is_auction\": false, \"buy_it_now\": true, \"free_returns\": true, \"sponsored\": true, \"prices\": [{\"value\": 9.95, \"raw\": \"$9.95\"}, {\"value\": 484.5, \"raw\": \"$484.50\"}], \"price\": {\"value\": 9.95 ...\n" ] } ], @@ -526,7 +531,7 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": 17, "id": "67c51a32-13f5-4802-84cd-ce40b397cb1b", "metadata": { "tags": [] @@ -567,7 +572,7 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": 18, "id": "c0daa409-a196-4eae-aaac-b4545d0e3280", "metadata": { "tags": [] @@ -588,7 +593,7 @@ }, { "cell_type": "code", - "execution_count": 21, + "execution_count": 19, "id": "64d77691-e29a-45b2-a045-da755d9c7d8b", "metadata": { "tags": [] @@ -600,7 +605,7 @@ }, { "cell_type": "code", - "execution_count": 22, + "execution_count": 20, "id": "71a1d824-7257-4a6b-8b0c-cd5176136ac7", "metadata": { "tags": [] @@ -618,7 +623,7 @@ }, { "cell_type": "code", - "execution_count": 23, + "execution_count": 21, "id": "64fa79ee-9a50-4ddf-a87e-c0c28615ce4e", "metadata": { "tags": [] @@ -633,49 +638,44 @@ "what is the price for SanDisk \"memory cards\"? give me the links please\n", "==================================\u001b[1m Ai Message \u001b[0m==================================\n", "Tool Calls:\n", - " apisearch (call_2WWrVaTXYd8snPwqaNB9ep5R)\n", - " Call ID: call_2WWrVaTXYd8snPwqaNB9ep5R\n", + " apisearch (call_CraUIkfzWpW65xeQJPx91wVu)\n", + " Call ID: call_CraUIkfzWpW65xeQJPx91wVu\n", " Args:\n", " query: SanDisk memory cards\n", "=================================\u001b[1m Tool Message \u001b[0m=================================\n", "Name: apisearch\n", "\n", - "{\"request_info\": {\"success\": true, \"demo\": true}, \"request_parameters\": {\"type\": \"search\", \"ebay_domain\": \"ebay.com\", \"search_term\": \"SanDisk memory cards\"}, \"request_metadata\": {\"ebay_url\": \"https://www.ebay.com/sch/i.html?_nkw=SanDisk+memory+cards&_sacat=0&_dmd=1&_fcid=1\"}, \"search_results\": [{\"position\": 1, \"title\": \"Pack of 10 Genuine SanDisk 16GB Class 4 SD SDHC Flash Memory Card SDSDB-016G lot\", \"epid\": \"405071797164\", \"link\": \"https://www.ebay.com/itm/405071797164\", \"image\": \"https://i.ebayimg.com/images/g/lFMAAOSwjRVnRwBc/s-l500.jpg\", \"condition\": \"Open Box\", \"seller_info\": {\"name\": \"memory561\", \"review_count\": 107266, \"positive_feedback_percent\": 99.6}, \"is_auction\": false, \"buy_it_now\": true, \"free_returns\": true, \"rating\": 5, \"ratings_total\": 587, \"sponsored\": true, \"prices\": [{\"value\": 39.97, \"raw\": \"$39.97\"}], \"price\": {\"value\": 39.97, \"raw\": \"$39.97\"}}, {\"position\": 2, \"title\": \"SanDisk 32GB Extreme C10 V30 UHS-I U3 SD 100MBs SDHC Memory card Pack of 5 Lot\", \"epid\": \"195435460588\", \"link\": \"https://www.ebay.com/itm/195435460588\", \"image\": \"https://i.ebayimg.com/images/g/BOMAAOSwBRVjWTcJ/s-l500.jpg\", \"condition\": \"Brand New\", \"seller_info\": {\"name\": \"firstchoiceonline\", \"review_count\": 56023, \"positive_feedback_percent\": 99.1}, \"is_auction\": false, \"buy_it_now\": true, \"free_returns\": true, \"rating\": 5, \"ratings_total\": 27, \"sponsored\": true, \"prices\": [{\"value\": 42.49, \"raw\": \"$42.49\"}], \"price\": {\"value\": 42.49, \"raw\": \"$42.49\"}}, {\"position\": 3, \"title\": \"Sandisk SD Extreme PRO 32GB 64GB 128GB 256GB 512GB 1TB Memory Card Nikon Canon\", \"epid\": \"204440376680\", \"link\": \"https://www.ebay.com/itm/204440376680\", \"image\": \"https://i.ebayimg.com/images/g/fvoAAOSwKytlTAQz/s-l140.jpg\", \"condition\": \"Brand New\", \"seller_info\": {\"name\": \"terashack\", \"review_count\": 63746, \"positive_feedback_percent\": 99.9}, \"is_auction\": false, \"buy_it_now\": true, \"free_returns\": true, \"sponsored\": true, \"prices\": [{\"value\": 19.99, \"raw\": \"$19.99\"}, {\"value\": 527.99, \"raw\": \"$527.99\"}], \"price\": {\"value\": 19.99, \"raw\": \"$19.99\"}}, {\"position\": 4, \"title\": \"Memory Stick Pro Duo MagicGate Card for Sony PSP Cybershot 1 2 4 8gb - You Pick\", \"epid\": \"167134326656\", \"link\": \"https://www.ebay.com/itm/167134326656\", \"image\": \"https://i.ebayimg.com/images/g/4-cAAOSw4ytnSOwT/s-l140.jpg\", \"hotness\": \"eBay Refurbished\", \"condition\": \"Good - Refurbished\", \"seller_info\": {\"name\": \"minervas-loft\", \"review_count\": 5502, \"positive_feedback_percent\": 99.5}, \"is_auction\": false, \"buy_it_now\": true, \"free_returns\": true, \"sponsored\": true, \"prices\": [{\"value\": 11.97, \"raw\": \"$11.97\"}, {\"value\": 12.97, \"raw\": \"$12.97\"}], \"price\": {\"value\": 11.97, \"raw\": \"$11.97\"}}, {\"position\": 5, \"title\": \"SanDisk SD 64GB Ultra SDHC UHS-I / Class 10 Memory Card, Speed Up to 120MB/s\", \"epid\": \"156294481766\", \"link\": \"https://www.ebay.com/itm/156294481766\", \"image\": \"https://i.ebayimg.com/images/g/QngAAOSwPtlmjKia/s-l140.jpg\", \"condition\": \"Open Box\", \"seller_info\": {\"name\": \"bytestrading\", \"review_count\": 1467, \"positive_feedback_percent\": 97.8}, \"is_auction\": false, \"buy_it_now\": true, \"free_returns\": false, \"rating\": 5, \"ratings_total\": 8, \"sponsored\": true, \"prices\": [{\"value\": 7.47, \"raw\": \"$7.47\"}], \"price\": {\"value\": 7.47, \"raw\": \"$7.47\"}}, {\"position\": 6, \"title\": \"SanDisk 32GB Ultra SDHC UHS-I Memory Card Class 10 120 MB/s Full HD Camera\", \"epid\": \"193904175450\", \"link\": \"https://www.ebay.com/itm/193904175450\", \"image\": \"https://i.ebayimg.com/images/g/5dsAAOSwCeRgyfwN/s-l140.jpg\", \"condition\": \"Brand New\", \"seller_info\": {\"name\": \"gmdbrands\", \"review_count\": 15611, \"positive_feedback_percent\": 98.9}, \"is_auction\": false, \"buy_it_now\": true, \"free_returns\": false, \"rating\": 5, \"ratings_total\": 94, \"sponsored\": true, \"prices\": [{\"value\": 7.8, \"raw\": \"$7.80\"}], \"price\": {\"value\": 7.8, \"raw\": \"$7.80\"}}, {\"position\": 7, \"title\": \"Sandisk Micro SD Card 128GB 256GB Extreme Pro Ultra Memory Cards lot 170MB/s USA\", \"epid\": \"335700739457\", \"link\": \"https://www.ebay.com/itm/335700739457\", \"image\": \"https://i.ebayimg.com/images/g/gOMAAOSwvY1nSRlt/s-l140.jpg\", \"condition\": \"Brand New\", \"seller_info\": {\"name\": \"zhaoxinspea\", \"review_count\": 535, \"positive_feedback_percent\": 98.7}, \"is_auction\": false, \"buy_it_now\": true, \"free_returns\": true, \"sponsored\": true, \"prices\": [{\"value\": 13.99, \"raw\": \"$13.99\"}, {\"value\": 24.99, \"raw\": \"$24.99\"}], \"price\": {\"value\": 13.99, \"raw\": \"$13.99\"}}, {\"position\": 8, \"title\": \"Lot of 2 SanDisk 32GB = 64GB SD SDHC Class 4 Camera Flash Memory Card SDSDB-032G\", \"epid\": \"331634660766\", \"link\": \"https://www.ebay.com/itm/331634660766\", \"image\": \"https://i.ebayimg.com/images/g/IRMAAOSw3ydV183w/s-l140.jpg\", \"condition\": \"Brand New\", \"seller_info\": {\"name\": \"allizwell2k10\", \"review_count\": 391920, \"positive_feedback_percent\": 99.5}, \"is_auction\": false, \"buy_it_now\": true, \"free_returns\": true, \"sponsored\": true, \"prices\": [{\"value\": 12.99, \"raw\": \"$12.99\"}], \"price\": {\"value\": 12.99, \"raw\": \"$12.99\"}}, {\"position\": 9, \"title\": \"Pack of 10 Genuine SanDisk 16GB Class 4 SD SDHC Flash Memory Card SDSDB-016G lot\", \"epid\": \"405071797164\", \"link\": \"https://www.ebay.com/itm/405071797164\", \"image\": \"https://i.ebayimg.com/images/g/lFMAAOSwjRVnRwBc/s-l140.jpg\", \"seller_info\": {\"name\": \"memory561\", \"review_count\": 107266, \"positive_feedback_percent\": 99.6}, \"is_auction\": false, \"buy_it_now\": false, \"free_returns\": false, \"sponsored\": false, \"prices\": [{\"value\": 39.97, \"raw\": \"$39.97\"}], \"price\": {\"value\": 39.97, \"raw\": \"$39.97\"}}, {\"position\": 10, \"title\": \"10x SanDisk 64GB Ultra SDXC UHS-I / Class 10 Memory Card, Speed Up to 120MB/s\", \"epid\": \"395521737878\", \"link\": \"https://www.ebay.com/itm/395521737878\", \"image\": \"https://i.ebayimg.com/images/g/gR0AAOSwJRNmjKYe/s-l140.jpg\", \"seller_info\": {\"name\": \"memory561\", \"review_count\": 107266, \"positive_feedback_percent\": 99.6}, \"is_auction\": false, \"buy_it_now\": false, \"free_returns\": false, \"sponsored\": false, \"prices\": [{\"value\": 54.99, \"raw\": \"$54.99\"}], \"price\": {\"value\": 54.99, \"raw\": \"$54.99\"}}, {\"position\": 11, \"title\": \"LOT 10x SanDisk SD 64GB Ultra PLUS SDXC UHS-1 Memory Card 130MB/s 64 GB 10 x\", \"epid\": \"405313843474\", \"link\": \"https://www.ebay.com/itm/405313843474\", \"image\": \"https://i.ebayimg.com/images/g/KH4AAOSwTChi88fV/s-l140.jpg\", \"seller_info\": {\"name\": \"memory561\", \"review_count\": 107266, \"positive_feedback_percent\": 99.6}, \"is_auction\": false, \"buy_it_now\": false, \"free_returns\": false, \"sponsored\": false, \"prices\": [{\"value\": 59.99, \"raw\": \"$59.99\"}], \"price\": {\"value\": 59.99, \"raw\": \"$59.99\"}}, {\"position\": 12, \"title\": \"SanDisk ExtremePro 64GB CF memory card SDCFXPS-064G G Extreme Pro 64 GB 160MB/s\", \"epid\": \"404856030762\", \"link\": \"https://www.ebay.com/itm/404856030762\", \"image\": \"https://i.ebayimg.com/images/g/Om4AAOSwHnFVpn1v/s-l140.jpg\", \"seller_info\": {\"name\": \"memory561\", \"review_count\": 107266, \"positive_feedback_percent\": 99.6}, \"is_auction\": false, \"buy_it_now\": false, \"free_returns\": false, \"sponsored\": false, \"prices\": [{\"value\": 34.99, \"raw\": \"$34.99\"}], \"price\": {\"value\": 34.99, \"raw\": \"$34.99\"}}, {\"position\": 13, \"title\": \"SanDisk 32GB Ultra SDHC UHS-I Memory Card Class 10 120 MB/s Full HD Camera\", \"epid\": \"193904175450\", \"link\": \"https://www.ebay.com/itm/193904175450\", \"image\": \"https://i.ebayimg.com/images/g/5dsAAOSwCeRgyfwN/s-l140.jpg\", \"seller_info\": {\"name\": \"gmdbrands\", \"review_count\": 15611, \"positive_feedback_percent\": 98.9}, \"is_auction\": false, \"buy_it_now\": false, \"free_returns\": false, \"sponsored\": false, \"prices\": [{\"value\": 7.8, \"raw\": \"$7.80\"}], \"price\": {\"value\": 7.8, \"raw\": \"$7.80\"}}, {\"position\": 14, \"title\": \"SanDisk CF Extreme 64GB 120MB/s CompactFlash Memory Card SDCFXS-64G 64 GB\", \"epid\": \"382233755733\", \"link\": \"https://www.ebay.com/itm/382233755733\", \"image\": \"https://i.ebayimg.com/images/g/6HsAAOSwdQNZxcJC/s-l140.jpg\", \"seller_info\": {\"name\": \"memory561\", \"review_count\": 107266, \"positive_feedback_percent\": 99.6}, \"is_auction\": false, \"buy_it_now\": false, \"free_returns\": false, \"sponsored\": false, \"prices\": [{\"value\": 29.99, \"raw\": \"$29.99\"}], \"price\": {\"value\": 29.99, \"raw\": \"$29.99\"}}, {\"position\": 15, \"title\": \"Lot of 10 x SanDisk 32GB SDHC Class 4 SD Flash Memory Card Camera SDSDB-032G-B35\", \"epid\": \"332801146571\", \"link\": \"https://www.ebay.com/itm/332801146571\", \"image\": \"https://i.ebayimg.com/images/g/qZAAAOSwXUdblz6a/s-l140.jpg\", \"seller_info\": {\"name\": \"allizwell2k10\", \"review_count\": 391920, \"positive_feedback_percent\": 99.5}, \"is_auction\": false, \"buy_it_now\": false, \"free_returns\": false, \"sponsored\": false, \"prices\": [{\"value\": 53.99, \"raw\": \"$53.99\"}], \"price\": {\"value\": 53.99, \"raw\": \"$53.99\"}}, {\"position\": 16, \"title\": \"Lot 10x SanDisk 64GB SD SDXC Class 4 Flash Memory Camera Card 64 GB SDSDB-064G\", \"epid\": \"401968630957\", \"link\": \"https://www.ebay.com/itm/401968630957\", \"image\": \"https://i.ebayimg.com/images/g/lRkAAOSwqK1d2BaV/s-l140.jpg\", \"seller_info\": {\"name\": \"memory561\", \"review_count\": 107266, \"positive_feedback_percent\": 99.6}, \"is_auction\": false, \"buy_it_now\": false, \"free_returns\": false, \"sponsored\": false, \"prices\": [{\"value\": 49.99, \"raw\": \"$49.99\"}], \"price\": {\"value\": 49.99, \"raw\": \"$49.99\"}}, {\"position\": 17, \"title\": \"Sandisk SD Card 16GB 32GB 64GB 128GB Ultra Memory Card Camera Trail Cam Computer\", \"epid\": \"274688396928\", \"link\": \"https://www.ebay.com/itm/274688396928\", \"image\": \"https://i.ebayimg.com/images/g/LegAAOSwNkdisJb3/s-l140.jpg\", \"condition\": \"Brand New\", \"seller_info\": {\"name\": \"memorydiscounters\", \"review_count\": 71478, \"positive_feedback_percent\": 99.9}, \"is_auction\": false, \"buy_it_now\": true, \"free_returns\": true, \"rating\": 5, \"ratings_total\": 10, \"sponsored\": true, \"prices\": [{\"value\": 7.98, \"raw\": \"$7.98\"}, {\"value\": 56.98, \"raw\": \"$56.98\"}], \"price\": {\"value\": 7.98, \"raw\": \"$7.98\"}}, {\"position\": 18, \"title\": \"SanDisk Ultra 128 GB SD SDXC Memory Card SDSDUNR-128G-GN3IN 100mbps\", \"epid\": \"284993211913\", \"link\": \"https://www.ebay.com/itm/284993211913\", \"image\": \"https://i.ebayimg.com/images/g/UYQAAOSw~wdjOHpe/s-l140.jpg\", \"condition\": \"Brand New\", \"seller_info\": {\"name\": \"allizwell2k10\", \"review_count\": 391920, \"positive_feedback_percent\": 99.5}, \"is_auction\": false, \"buy_it_now\": true, \"free_returns\": true, \"rating\": 5, \"ratings_total\": 27, \"sponsored\": true, \"prices\": [{\"value\": 13.5, \"raw\": \"$13.50\"}], \"price\": {\"value\": 13.5, \"raw\": \"$13.50\"}}, {\"position\": 19, \"title\": \"SanDisk 32GB Extreme Class10 V30 UHS-I U3 SD card 100MBs Full SD HC Memory card\", \"epid\": \"195214263197\", \"link\": \"https://www.ebay.com/itm/195214263197\", \"image\": \"https://i.ebayimg.com/images/g/BssAAOSwE5tlvAMJ/s-l140.jpg\", \"condition\": \"Brand New\", \"seller_info\": {\"name\": \"gmdbrands\", \"review_count\": 15611, \"positive_feedback_percent\": 98.9}, \"is_auction\": false, \"buy_it_now\": true, \"free_returns\": false, \"rating\": 5, \"ratings_total\": 27, \"sponsored\": true, \"prices\": [{\"value\": 9.79, \"raw\": \"$9.79\"}], \"price\": {\"value\": 9.79, \"raw\": \"$9.79\"}}, {\"position\": 20, \"title\": \"SanDisk Ultra 64GB 80MB/s SDXC SDHC Class 10 533x SD Camera Flash Memory Card\", \"epid\": \"332426273325\", \"link\": \"https://www.ebay.com/itm/332426273325\", \"image\": \"https://i.ebayimg.com/images/g/4EsAAOSwEEBZ8YzQ/s-l140.jpg\", \"condition\": \"Brand New\", \"seller_info\": {\"name\": \"allizwell2k10\", \"review_count\": 391920, \"positive_feedback_percent\": 99.5}, \"is_auction\": false, \"buy_it_now\": true, \"free_returns\": true, \"rating\": 5, \"ratings_total\": 191, \"sponsored\": true, \"prices\": [{\"value\": 10.5, \"raw\": \"$10.50\"}], \"price\": {\"value\": 10.5, \"raw\": \"$10.50\"}}, {\"position\": 21, \"title\": \"SanDisk Extreme PRO 256GB SD SDXC Card 200MB/s Class 10 UHS-1 U3 4K Memory\", \"epid\": \"156442637807\", \"link\": \"https://www.ebay.com/itm/156442637807\", \"image\": \"https://i.ebayimg.com/images/g/B3sAAOSwFXlnAKfD/s-l140.jpg\", \"condition\": \"Brand New\", \"seller_info\": {\"name\": \"dorandbelle\", \"review_count\": 386, \"positive_feedback_percent\": 92.2}, \"is_auction\": false, \"buy_it_now\": false, \"free_returns\": true, \"rating\": 5, \"ratings_total\": 7, \"sponsored\": true, \"best_offer\": true, \"prices\": [{\"value\": 29.95, \"raw\": \"$29.95\"}], \"price\": {\"value\": 29.95, \"raw\": \"$29.95\"}}, {\"position\": 22, \"title\": \"SanDisk 128GB Extreme PRO SDXC UHS-I Memory Card - C10, U3, V30, 4K UHD, SD Card\", \"epid\": \"176722377659\", \"link\": \"https://www.ebay.com/itm/176722377659\", \"image\": \"https://i.ebayimg.com/images/g/3VsAAOSwOjlnUxr9/s-l140.jpg\", \"condition\": \"Brand New\", \"seller_info\": {\"name\": \"5thousands\", \"review_count\": 799, \"positive_feedback_percent\": 97.6}, \"is_auction\": false, \"buy_it_now\": true, \"free_returns\": true, \"rating\": 5, \"ratings_total\": 19, \"sponsored\": true, \"prices\": [{\"value\": 20.9, \"raw\": \"$20.90\"}], \"price\": {\"value\": 20.9, \"raw\": \"$20.90\"}}, {\"position\": 23, \"title\": \"SanDisk 256GB Extreme PRO SDXC UHS-I Memory Card C10, U3, V30, 4K UHD, SD Card\", \"epid\": \"235854813016\", \"link\": \"https://www.ebay.com/itm/235854813016\", \"image\": \"https://i.ebayimg.com/images/g/picAAOSwzdZnThws/s-l140.jpg\", \"condition\": \"Brand New\", \"seller_info\": {\"name\": \"musbo-75\", \"review_count\": 135, \"positive_feedback_percent\": 100}, \"is_auction\": false, \"buy_it_now\": false, \"free_returns\": false, \"sponsored\": true, \"best_offer\": true, \"prices\": [{\"value\": 29.99, \"raw\": \"$29.99\"}], \"price\": {\"value\": 29.99, \"raw\": \"$29.99\"}}, {\"position\": 24, \"title\": \"SanDisk 16GB Class 4 SDHC Memory Card - SDSDB-016G-B35\", \"epid\": \"156542390506\", \"link\": \"https://www.ebay.com/itm/156542390506\", \"image\": \"https://i.ebayimg.com/images/g/MDMAAOSwfRlnRv2r/s-l140.jpg\", \"condition\": \"Open Box\", \"seller_info\": {\"name\": \"bytestrading\", \"review_count\": 1467, \"positive_feedback_percent\": 97.8}, \"is_auction\": false, \"buy_it_now\": false, \"free_returns\": false, \"rating\": 5, \"ratings_total\": 587, \"sponsored\": true, \"best_offer\": true, \"prices\": [{\"value\": 5.98, \"raw\": \"$5.98\"}], \"price\": {\"value\": 5.98, \"raw\": \"$5.98\"}}, {\"position\": 25, \"title\": \"SanDisk SD Cards 16GB 32GB 64GB SDHC SDXC Extreme Pro Ultra Memory Cards lot\", \"epid\": \"226364353862\", \"link\": \"https://www.ebay.com/itm/226364353862\", \"image\": \"https://i.ebayimg.com/images/g/NikAAOSwOexm71-v/s-l140.jpg\", \"condition\": \"Brand New\", \"seller_info\": {\"name\": \"sd_tech_4you\", \"review_count\": 70, \"positive_feedback_percent\": 98.6}, \"is_auction\": false, \"buy_it_now\": true, \"free_returns\": false, \"rating\": 5, \"ratings_total\": 81, \"sponsored\": true, \"prices\": [{\"value\": 7.79, \"raw\": \"$7.79\"}, {\"value\": 14.99, \"raw\": \"$14.99\"}], \"price\": {\"value\": 7.79, \"raw\": \"$7.79\"}}, {\"position\": 26, \"title\": \"SanDisk Micro SD 32GB 16GB 8GB SD HC TF Memory Card Class 4 C4 FAST SHIPPING\", \"epid\": \"322726259110\", \"link\": \"https://www.ebay.com/itm/322726259110\", \"image\": \"https://i.ebayimg.com/images/g/ybcAAOSwxnFieR15/s-l140.jpg\", \"condition\": \"Brand New\", \"seller_info\": {\"name\": \"memorydiscounters\", \"review_count\": 71478, \"positive_feedback_percent\": 99.9}, \"is_auction\": false, \"buy_it_now\": true, \"free_returns\": true, \"sponsored\": true, \"prices\": [{\"value\": 6.93, \"raw\": \"$6.93\"}, {\"value\": 43.48, \"raw\": \"$43.48\"}], \"price\": {\"value\": 6.93, \"raw\": \"$6.93\"}}, {\"position\": 27, \"title\": \"Lot of 2 SanDisk 16GB = 32GB SDHC Class 4 SD Flash Memory Card Camera SDSDB-016G\", \"epid\": \"281779505238\", \"link\": \"https://www.ebay.com/itm/281779505238\", \"image\": \"https://i.ebayimg.com/images/g/RNoAAOSwDNdV18zs/s-l140.jpg\", \"condition\": \"Brand New\", \"seller_info\": {\"name\": \"allizwell2k10\", \"review_count\": 391920, \"positive_feedback_percent\": 99.5}, \"is_auction\": false, \"buy_it_now\": false, \"free_returns\": true, \"rating\": 5, \"ratings_total\": 587, \"sponsored\": true, \"best_offer\": true, \"prices\": [{\"value\": 12.95, \"raw\": \"$12.95\"}], \"price\": {\"value\": 12.95, \"raw\": \"$12.95\"}}, {\"position\": 28, \"title\": \"Sandisk SD Cards 16GB 32GB 64GB 128GB 256GB Extreme Pro Ultra Memory Cards lot\", \"epid\": \"324078167020\", \"link\": \"https://www.ebay.com/itm/324078167020\", \"image\": \"https://i.ebayimg.com/images/g/PasAAOSwHVJi4Akg/s-l140.jpg\", \"condition\": \"Brand New\", \"seller_info\": {\"name\": \"memorydiscounters\", \"review_count\": 71478, \"positive_feedback_percent\": 99.9}, \"is_auction\": false, \"buy_it_now\": true, \"free_returns\": true, \"sponsored\": true, \"prices\": [{\"value\": 10.2, \"raw\": \"$10.20\"}, {\"value\": 173.04, \"raw\": \"$173.04\"}], \"price\": {\"value\": 10.2, \"raw\": \"$10.20\"}}, {\"position\": 29, \"title\": \"Sandisk EXTREME 64GB microSDXC A2 C10 U3 UHS-I V30 160MB/s MicroSD Memory Card\", \"epid\": \"156484164123\", \"link\": \"https://www.ebay.com/itm/156484164123\", \"image\": \"https://i.ebayimg.com/images/g/QfkAAOSwSPRkGJRY/s-l140.jpg\", \"condition\": \"Brand New\", \"seller_info\": {\"name\": \"onlyonedeal\", \"review_count\": 27745, \"positive_feedback_percent\": 97.9}, \"is_auction\": false, \"buy_it_now\": true, \"free_returns\": true, \"rating\": 5, \"ratings_total\": 7, \"sponsored\": true, \"prices\": [{\"value\": 8.95, \"raw\": \"$8.95\"}], \"price\": {\"value\": 8.95, \"raw\": \"$8.95\"}}, {\"position\": 30, \"title\": \"SanDisk Extreme Pro 256GB Class 10 SDXC Memory Card - SDSDXXY\", \"epid\": \"405302290205\", \"link\": \"https://www.ebay.com/itm/405302290205\", \"image\": \"https://i.ebayimg.com/images/g/MfQAAOSwBB9nF-aH/s-l140.jpg\", \"condition\": \"Brand New\", \"seller_info\": {\"name\": \"evalueexpo\", \"review_count\": 115044, \"positive_feedback_percent\": 98.9}, \"is_auction\": false, \"buy_it_now\": true, \"free_returns\": true, \"rating\": 5, \"ratings_total\": 5, \"sponsored\": true, \"prices\": [{\"value\": 19.95, \"raw\": \"$19.95\"}], \"price\": {\"value\": 19.95, \"raw\": \"$19.95\"}}, {\"position\": 31, \"title\": \"SanDisk High Endurance & Max Endurance Micro SD Memory Cards 64GB 128GB 256GB\", \"epid\": \"274561375765\", \"link\": \"https://www.ebay.com/itm/274561375765\", \"image\": \"https://i.ebayimg.com/images/g/K7IAAOSw~n1ieR0K/s-l140.jpg\", \"condition\": \"Brand New\", \"seller_info\": {\"name\": \"memorydiscounters\", \"review_count\": 71478, \"positive_feedback_percent\": 99.9}, \"is_auction\": false, \"buy_it_now\": true, \"free_returns\": true, \"sponsored\": true, \"prices\": [{\"value\": 12.65, \"raw\": \"$12.65\"}, {\"value\": 222.75, \"raw\": \"$222.75\"}], \"price\": {\"value\": 12.65, \"raw\": \"$12.65\"}}, {\"position\": 32, \"title\": \"32GB Sandisk Ultra SD Memory cards 10 pack for Camera / Trail Camera / Computers\", \"epid\": \"274918776662\", \"link\": \"https://www.ebay.com/itm/274918776662\", \"image\": \"https://i.ebayimg.com/images/g/USsAAOSw-DZixfeU/s-l140.jpg\", \"condition\": \"Brand New\", \"seller_info\": {\"name\": \"memorydiscounters\", \"review_count\": 71478, \"positive_feedback_percent\": 99.9}, \"is_auction\": false, \"buy_it_now\": true, \"free_returns\": true, \"sponsored\": true, \"prices\": [{\"value\": 52.32, \"raw\": \"$52.32\"}], \"price\": {\"value\": 52.32, \"raw\": \"$52.32\"}}, {\"position\": 33, \"title\": \"Lot of 5 SanDisk Ultra 32 GB SDHC SDXC Class 10 48MB/s Memory Card SDSDUNB-032G\", \"epid\": \"283772390368\", \"link\": \"https://www.ebay.com/itm/283772390368\", \"image\": \"https://i.ebayimg.com/images/g/c~4AAOSw8KxeObN9/s-l140.jpg\", \"condition\": \"Brand New\", \"seller_info\": {\"name\": \"allizwell2k10\", \"review_count\": 391920, \"positive_feedback_percent\": 99.5}, \"is_auction\": false, \"buy_it_now\": true, \"free_returns\": true, \"sponsored\": true, \"prices\": [{\"value\": 29.99, \"raw\": \"$29.99\"}], \"price\": {\"value\": 29.99, \"raw\": \"$29.99\"}}, {\"position\": 34, \"title\": \"SanDisk Extreme PRO 128GB UHS-I U3 SDXC 200MB/s 4K Memory Card\", \"epid\": \"156442619957\", \"link\": \"https://www.ebay.com/itm/156442619957\", \"image\": \"https://i.ebayimg.com/images/g/gJ0AAOSwqTVnAHSF/s-l140.jpg\", \"condition\": \"Brand New\", \"seller_info\": {\"name\": \"dorandbelle\", \"review_count\": 386, \"positive_feedback_percent\": 92.2}, \"is_auction\": false, \"buy_it_now\": false, \"free_returns\": true, \"rating\": 5, \"ratings_total\": 19, \"sponsored\": true, \"best_offer\": true, \"prices\": [{\"value\": 19.95, \"raw\": \"$19.95\"}], \"price\": {\"value\": 19.95, \"raw\": \"$19.95\"}}, {\"position\": 35, \"title\": \"SanDisk 32GB Ultra SDHC UHS I Memory Card Single\", \"epid\": \"116393146653\", \"link\": \"https://www.ebay.com/itm/116393146653\", \"image\": \"https://i.ebayimg.com/images/g/6N8AAOSwDTBnFK69/s-l140.jpg\", \"condition\": \"Brand New\", \"seller_info\": {\"name\": \"focusproaudio\", \"review_count\": 22169, \"positive_feedback_percent\": 98.7}, \"is_auction\": false, \"buy_it_now\": true, \"free_returns\": true, \"rating\": 5, \"ratings_total\": 81, \"sponsored\": true, \"prices\": [{\"value\": 9.99, \"raw\": \"$9.99\"}], \"price\": {\"value\": 9.99, \"raw\": \"$9.99\"}}, {\"position\": 36, \"title\": \"Sandisk Ultra 32GB SD Memory cards for Camera/Trail Camera / Computers (10 Pack)\", \"epid\": \"275404470286\", \"link\": \"https://www.ebay.com/itm/275404470286\", \"image\": \"https://i.ebayimg.com/images/g/2fkAAOSwhZNi1aT4/s-l140.jpg\", \"condition\": \"Brand New\", \"seller_info\": {\"name\": \"memorydiscounters\", \"review_count\": 71478, \"positive_feedback_percent\": 99.9}, \"is_auction\": false, \"buy_it_now\": true, \"free_returns\": true, \"rating\": 5, \"ratings_total\": 94, \"sponsored\": true, \"prices\": [{\"value\": 55.04, \"raw\": \"$55.04\"}], \"price\": {\"value\": 55.04, \"raw\": \"$55.04\"}}, {\"position\": 37, \"title\": \"128GB Micro SD Card 100% Original SanDisk Ships Fast From USA\", \"epid\": \"326145078084\", \"link\": \"https://www.ebay.com/itm/326145078084\", \"image\": \"https://i.ebayimg.com/images/g/eU4AAOSwkq1mWEDJ/s-l140.jpg\", \"condition\": \"Brand New\", \"seller_info\": {\"name\": \"cvetasti\", \"review_count\": 88, \"positive_feedback_percent\": 100}, \"is_auction\": false, \"buy_it_now\": true, \"free_returns\": false, \"sponsored\": true, \"prices\": [{\"value\": 15.99, \"raw\": \"$15.99\"}], \"price\": {\"value\": 15.99, \"raw\": \"$15.99\"}}, {\"position\": 38, \"title\": \"Sandisk SD Extreme 32GB 64GB 128GB 256GB 512GB Memory Card for Nikon Canon Sony\", \"epid\": \"204044516566\", \"link\": \"https://www.ebay.com/itm/204044516566\", \"image\": \"https://i.ebayimg.com/images/g/b-sAAOSwuFFkxpOr/s-l140.jpg\", \"condition\": \"Brand New\", \"seller_info\": {\"name\": \"terashack\", \"review_count\": 63746, \"positive_feedback_percent\": 99.9}, \"is_auction\": false, \"buy_it_now\": true, \"free_returns\": true, \"sponsored\": true, \"prices\": [{\"value\": 17.99, \"raw\": \"$17.99\"}, {\"value\": 459.99, \"raw\": \"$459.99\"}], \"price\": {\"value\": 17.99, \"raw\": \"$17.99\"}}, {\"position\": 39, \"title\": \"SanDisk SD Flash Memory Card Camera SDHC SDXC 16GB 32GB 64GB Class4 SDSDB By Lot\", \"epid\": \"196196935542\", \"link\": \"https://www.ebay.com/itm/196196935542\", \"image\": \"https://i.ebayimg.com/images/g/RFIAAOSwG8xlqSYX/s-l140.jpg\", \"condition\": \"Brand New\", \"seller_info\": {\"name\": \"gmdbrands\", \"review_count\": 15611, \"positive_feedback_percent\": 98.9}, \"is_auction\": false, \"buy_it_now\": true, \"free_returns\": false, \"sponsored\": true, \"prices\": [{\"value\": 9.99, \"raw\": \"$9.99\"}, {\"value\": 49.99, \"raw\": \"$49.99\"}], \"price\": {\"value\": 9.99, \"raw\": \"$9.99\"}}, {\"position\": 40, \"title\": \"10x SanDisk 64GB Ultra SDXC UHS-I / Class 10 Memory Card, Speed Up to 120MB/s\", \"epid\": \"395521737878\", \"link\": \"https://www.ebay.com/itm/395521737878\", \"image\": \"https://i.ebayimg.com/images/g/gR0AAOSwJRNmjKYe/s-l140.jpg\", \"condition\": \"Open Box\", \"seller_info\": {\"name\": \"memory561\", \"review_count\": 107266, \"positive_feedback_percent\": 99.6}, \"is_auction\": false, \"buy_it_now\": false, \"free_returns\": true, \"sponsored\": true, \"best_offer\": true, \"prices\": [{\"value\": 54.99, \"raw\": \"$54.99\"}], \"price\": {\"value\": 54.99, \"raw\": \"$54.99\"}}, {\"position\": 41, \"title\": \"Sandisk SD Cards 16GB 32GB 64GB 128GB 256GB Extreme Ultra Memory Cards lot\", \"epid\": \"275316711001\", \"link\": \"https://www.ebay.com/itm/275316711001\", \"image\": \"https://i.ebayimg.com/images/g/FGwAAOSwsEZi4Ad5/s-l140.jpg\", \"condition\": \"Brand New\", \"seller_info\": {\"name\": \"memorydiscounters\", \"review_count\": 71478, \"positive_feedback_percent\": 99.9}, \"is_auction\": false, \"buy_it_now\": true, \"free_returns\": true, \"sponsored\": true, \"prices\": [{\"value\": 10.2, \"raw\": \"$10.20\"}, {\"value\": 71.4, \"raw\": \"$71.40\"}], \"price\": {\"value\": 10.2, \"raw\": \"$10.20\"}}, {\"position\": 42, \"title\": \"Sandisk 4Gb Memory Stick Pro Duo Magic Gate Memory card - Black\", \"epid\": \"266663164270\", \"link\": \"https://www.ebay.com/itm/266663164270\", \"image\": \"https://i.ebayimg.com/images/g/atwAAOSwFgVlxPhc/s-l140.jpg\", \"condition\": \"Pre-Owned\", \"seller_info\": {\"name\": \"mariomansion\", \"review_count\": 22995, \"positive_feedback_percent\": 96.8}, \"is_auction\": false, \"buy_it_now\": true, \"free_returns\": false, \"sponsored\": true, \"prices\": [{\"value\": 9.95, \"raw\": \"$9.95\"}], \"price\": {\"value\": 9.95, \"raw\": \"$9.95\"}}, {\"position\": 43, \"title\": \"Lot of 10 x SanDisk 32GB SDHC Class 4 SD Flash Memory Card Camera SDSDB-032G-B35\", \"epid\": \"332801146571\", \"link\": \"https://www.ebay.com/itm/332801146571\", \"image\": \"https://i.ebayimg.com/images/g/qZAAAOSwXUdblz6a/s-l140.jpg\", \"condition\": \"Brand New\", \"seller_info\": {\"name\": \"allizwell2k10\", \"review_count\": 391920, \"positive_feedback_percent\": 99.5}, \"is_auction\": false, \"buy_it_now\": true, \"free_returns\": true, \"rating\": 4.5, \"ratings_total\": 8, \"sponsored\": true, \"prices\": [{\"value\": 53.99, \"raw\": \"$53.99\"}], \"price\": {\"value\": 53.99, \"raw\": \"$53.99\"}}, {\"position\": 44, \"title\": \"SanDisk 128GB Micro SD SDXC MicroSD TF Class 10 128 GB Extreme PRO 200MB/s\", \"epid\": \"334572077116\", \"link\": \"https://www.ebay.com/itm/334572077116\", \"image\": \"https://i.ebayimg.com/images/g/QiQAAOSwistjLUIB/s-l140.jpg\", \"condition\": \"Brand New\", \"seller_info\": {\"name\": \"allizwell2k10\", \"review_count\": 391920, \"positive_feedback_percent\": 99.5}, \"is_auction\": false, \"buy_it_now\": true, \"free_returns\": true, \"rating\": 5, \"ratings_total\": 32, \"sponsored\": true, \"prices\": [{\"value\": 18.5, \"raw\": \"$18.50\"}], \"price\": {\"value\": 18.5, \"raw\": \"$18.50\"}}, {\"position\": 45, \"title\": \"SanDisk - Ultra PLUS 128GB SDXC UHS-I Memory Card\", \"epid\": \"204119944350\", \"link\": \"https://www.ebay.com/itm/204119944350\", \"image\": \"https://i.ebayimg.com/images/g/8DUAAOSwfvVmu3FR/s-l140.jpg\", \"condition\": \"Brand New\", \"seller_info\": {\"name\": \"best_buy\", \"review_count\": 854520, \"positive_feedback_percent\": 95.2}, \"is_auction\": false, \"buy_it_now\": true, \"free_returns\": false, \"sponsored\": true}, {\"position\": 46, \"title\": \"Sandisk Micro SD Card 128GB 256GB Extreme Pro Ultra Memory Cards lot 170MB/s\", \"epid\": \"135292638639\", \"link\": \"https://www.ebay.com/itm/135292638639\", \"image\": \"https://i.ebayimg.com/images/g/AJkAAOSw74xnBoI2/s-l140.jpg\", \"condition\": \"Brand New\", \"seller_info\": {\"name\": \"natnaemol-0\", \"review_count\": 56, \"positive_feedback_percent\": 96.7}, \"is_auction\": false, \"buy_it_now\": true, \"free_returns\": true, \"sponsored\": true, \"prices\": [{\"value\": 10.99, \"raw\": \"$10.99\"}, {\"value\": 25.99, \"raw\": \"$25.99\"}], \"price\": {\"value\": 10.99, \"raw\": \"$10.99\"}}, {\"position\": 47, \"title\": \"SanDisk Extreme PLUS 128GB microSDXC UHS-I/U3 Card with Adapter\", \"epid\": \"387251615855\", \"link\": \"https://www.ebay.com/itm/387251615855\", \"image\": \"https://i.ebayimg.com/images/g/IeQAAOSwEXVmqZ3n/s-l140.jpg\", \"condition\": \"Brand New\", \"seller_info\": {\"name\": \"j.strickly\", \"review_count\": 110, \"positive_feedback_percent\": 98.2}, \"is_auction\": false, \"buy_it_now\": false, \"free_returns\": false, \"shipping_cost\": 4.26, \"rating\": 5, \"ratings_total\": 3, \"sponsored\": true, \"best_offer\": true, \"prices\": [{\"value\": 14.99, \"raw\": \"$14.99\"}], \"price\": {\"value\": 14.99, \"raw\": \"$14.99\"}}, {\"position\": 48, \"title\": \"LOT 10x SanDisk SD 64GB Ultra PLUS SDXC UHS-1 Memory Card 130MB/s 64 GB 10 x\", \"epid\": \"405313843474\", \"link\": \"https://www.ebay.com/itm/405313843474\", \"image\": \"https://i.ebayimg.com/images/g/KH4AAOSwTChi88fV/s-l140.jpg\", \"condition\": \"Open Box\", \"seller_info\": {\"name\": \"memory561\", \"review_count\": 107266, \"positive_feedback_percent\": 99.6}, \"is_auction\": false, \"buy_it_now\": true, \"free_returns\": true, \"sponsored\": true, \"prices\": [{\"value\": 59.99, \"raw\": \"$59.99\"}], \"price\": {\"value\": 59.99, \"raw\": \"$59.99\"}}, {\"position\": 49, \"title\": \"Lot 4 x SanDisk 32GB SDHC Class 4 SD Flash Memory Card Camera SDSDB-032G 128GB\", \"epid\": \"253863195301\", \"link\": \"https://www.ebay.com/itm/253863195301\", \"image\": \"https://i.ebayimg.com/images/g/BN8AAOSwgsVbl0Ip/s-l140.jpg\", \"condition\": \"Brand New\", \"seller_info\": {\"name\": \"allizwell2k10\", \"review_count\": 391920, \"positive_feedback_percent\": 99.5}, \"is_auction\": false, \"buy_it_now\": true, \"free_returns\": true, \"rating\": 5, \"ratings_total\": 18, \"sponsored\": true, \"prices\": [{\"value\": 23.99, \"raw\": \"$23.99\"}], \"price\": {\"value\": 23.99, \"raw\": \"$23.99\"}}, {\"position\": 50, \"title\": \"NEW Sandisk Micro SD Card 128GB 256GB Extreme Pro Ultra Memory Cards lot 170MB/s\", \"epid\": \"176726825968\", \"link\": \"https://www.ebay.com/itm/176726825968\", \"image\": \"https://i.ebayimg.com/images/g/N6sAAOSwUZ5nVoO4/s-l140.jpg\", \"condition\": \"Brand New\", \"seller_info\": {\"name\": \"kassadinblades\", \"review_count\": 248, \"positive_feedback_percent\": 95.7}, \"is_auction\": false, \"buy_it_now\": true, \"free_returns\": true, \"sponsored\": true, \"prices\": [{\"value\": 13.99, \"raw\": \"$13.99\"}, {\"value\": 24.99, \"raw\": \"$24.99\"}], \"price\": {\"value\": 13.99, \"raw\": \"$13.99\"}}, {\"position\": 51, \"title\": \"5 x SanDisk Ultra 16GB SDHC SDXC SD Class 10 Flash Memory Card Camera + Cases\", \"epid\": \"284987092906\", \"link\": \"https://www.ebay.com/itm/284987092906\", \"image\": \"https://i.ebayimg.com/images/g/CJoAAOSwbZBbwDGf/s-l140.jpg\", \"condition\": \"Brand New\", \"seller_info\": {\"name\": \"allizwell2k10\", \"review_count\": 391920, \"positive_feedback_percent\": 99.5}, \"is_auction\": false, \"buy_it_now\": true, \"free_returns\": true, \"rating\": 5, \"ratings_total\": 13, \"sponsored\": true, \"prices\": [{\"value\": 28.99, \"raw\": \"$28.99\"}], \"price\": {\"value\": 28.99, \"raw\": \"$28.99\"}}, {\"position\": 52, \"title\": \"New SanDisk 32GB SD SDHC Class 4 Camera Flash Memory Card 32 G SDSDB-032G\", \"epid\": \"281462950758\", \"link\": \"https://www.ebay.com/itm/281462950758\", \"image\": \"https://i.ebayimg.com/images/g/en4AAOSwT6pV1Rrm/s-l140.jpg\", \"condition\": \"Brand New\", \"seller_info\": {\"name\": \"allizwell2k10\", \"review_count\": 391920, \"positive_feedback_percent\": 99.5}, \"is_auction\": false, \"buy_it_now\": true, \"free_returns\": true, \"rating\": 5, \"ratings_total\": 435, \"sponsored\": true, \"prices\": [{\"value\": 8.25, \"raw\": \"$8.25\"}], \"price\": {\"value\": 8.25, \"raw\": \"$8.25\"}}, {\"position\": 53, \"title\": \"SanDisk 256GB Micro SD SDXC MicroSD TF Class 10 256 GB Extreme PRO 200MB/s\", \"epid\": \"284979868801\", \"link\": \"https://www.ebay.com/itm/284979868801\", \"image\": \"https://i.ebayimg.com/images/g/FPMAAOSwvyFjLUOQ/s-l140.jpg\", \"condition\": \"Brand New\", \"seller_info\": {\"name\": \"allizwell2k10\", \"review_count\": 391920, \"positive_feedback_percent\": 99.5}, \"is_auction\": false, \"buy_it_now\": true, \"free_returns\": true, \"rating\": 5, \"ratings_total\": 11, \"sponsored\": true, \"prices\": [{\"value\": 28.99, \"raw\": \"$28.99\"}], \"price\": {\"value\": 28.99, \"raw\": \"$28.99\"}}, {\"position\": 54, \"title\": \"SanDisk CF Extreme 64GB 120MB/s CompactFlash Memory Card SDCFXS-64G 64 GB\", \"epid\": \"382233755733\", \"link\": \"https://www.ebay.com/itm/382233755733\", \"image\": \"https://i.ebayimg.com/images/g/6HsAAOSwdQNZxcJC/s-l140.jpg\", \"condition\": \"Pre-Owned\", \"seller_info\": {\"name\": \"memory561\", \"review_count\": 107266, \"positive_feedback_percent\": 99.6}, \"is_auction\": false, \"buy_it_now\": true, \"free_returns\": true, \"sponsored\": true, \"prices\": [{\"value\": 29.99, \"raw\": \"$29.99\"}], \"price\": {\"value\": 29.99, \"raw\": \"$29.99\"}}, {\"position\": 55, \"title\": \"SanDisk 32GB Ultra SDHC UHS-I Memory Card Class 10 120MB/s Full HD Video\", \"epid\": \"266270219936\", \"link\": \"https://www.ebay.com/itm/266270219936\", \"image\": \"https://i.ebayimg.com/images/g/Jg4AAOSw1kxkbnLk/s-l140.jpg\", \"condition\": \"Brand New\", \"seller_info\": {\"name\": \"krommstore\", \"review_count\": 7056, \"positive_feedback_percent\": 99.6}, \"is_auction\": false, \"buy_it_now\": true, \"free_returns\": true, \"rating\": 5, \"ratings_total\": 94, \"sponsored\": true, \"prices\": [{\"value\": 8.99, \"raw\": \"$8.99\"}], \"price\": {\"value\": 8.99, \"raw\": \"$8.99\"}}, {\"position\": 56, \"title\": \"SanDisk ExtremePro 64GB CF memory card SDCFXPS-064G G Extreme Pro 64 GB 160MB/s\", \"epid\": \"404856030762\", \"link\": \"https://www.ebay.com/itm/404856030762\", \"image\": \"https://i.ebayimg.com/images/g/Om4AAOSwHnFVpn1v/s-l140.jpg\", \"condition\": \"Pre-Owned\", \"seller_info\": {\"name\": \"memory561\", \"review_count\": 107266, \"positive_feedback_percent\": 99.6}, \"is_auction\": false, \"buy_it_now\": true, \"free_returns\": true, \"rating\": 5, \"ratings_total\": 21, \"sponsored\": true, \"prices\": [{\"value\": 34.99, \"raw\": \"$34.99\"}], \"price\": {\"value\": 34.99, \"raw\": \"$34.99\"}}, {\"position\": 57, \"title\": \"SanDisk Extreme CompactFlash Memory Cards (variety pack)\", \"epid\": \"256728734759\", \"link\": \"https://www.ebay.com/itm/256728734759\", \"image\": \"https://i.ebayimg.com/images/g/RYMAAOSwzX9nRR79/s-l140.jpg\", \"condition\": \"Pre-Owned\", \"seller_info\": {\"name\": \"musilek\", \"review_count\": 206, \"positive_feedback_percent\": 100}, \"is_auction\": false, \"buy_it_now\": false, \"free_returns\": false, \"sponsored\": true, \"best_offer\": true, \"prices\": [{\"value\": 50, \"raw\": \"$50.00\"}], \"price\": {\"value\": 50, \"raw\": \"$50.00\"}}, {\"position\": 58, \"title\": \"SanDisk 128GB ExtremePRO CFast 2.0 Memory Card, 515MB/s Read, 440MB/s Write\", \"epid\": \"316044165536\", \"link\": \"https://www.ebay.com/itm/316044165536\", \"image\": \"https://i.ebayimg.com/images/g/1vEAAOSwtjZnWk0H/s-l140.jpg\", \"condition\": \"Brand New\", \"seller_info\": {\"name\": \"frankbarajas\", \"review_count\": 2, \"positive_feedback_percent\": 100}, \"is_auction\": false, \"buy_it_now\": false, \"free_returns\": false, \"shipping_cost\": 9.45, \"rating\": 5, \"ratings_total\": 1, \"sponsored\": true, \"best_offer\": true, \"prices\": [{\"value\": 20, \"raw\": \"$20.00\"}], \"price\": {\"value\": 20, \"raw\": \"$20.00\"}}, {\"position\": 59, \"title\": \"SanDisk High Endurance & Max Endurance 64GB 128GB 256GB MicroSD Memory Cards\", \"epid\": \"275192526191\", \"link\": \"https://www.ebay.com/itm/275192526191\", \"image\": \"https://i.ebayimg.com/images/g/oFUAAOSwf8hieRzM/s-l140.jpg\", \"condition\": \"Brand New\", \"seller_info\": {\"name\": \"memorydiscounters\", \"review_count\": 71478, \"positive_feedback_percent\": 99.9}, \"is_auction\": false, \"buy_it_now\": true, \"free_returns\": true, \"rating\": 5, \"ratings_total\": 22, \"sponsored\": true, \"prices\": [{\"value\": 12.65, \"raw\": \"$12.65\"}, {\"value\": 49.25, \"raw\": \"$49.25\"}], \"price\": {\"value\": 12.65, \"raw\": \"$12.65\"}}, {\"position\": 60, \"title\": \"2 PACK SanDisk Ultra 16 GB (= 32GB ) SDHC SD Class 10 40MB/S 266X Card UHS-I HD\", \"epid\": \"330875921014\", \"link\": \"https://www.ebay.com/itm/330875921014\", \"image\": \"https://i.ebayimg.com/images/g/nm4AAOSwrklVC5E1/s-l140.jpg\", \"condition\": \"Brand New\", \"seller_info\": {\"name\": \"allizwell2k10\", \"review_count\": 391920, \"positive_feedback_percent\": 99.5}, \"is_auction\": false, \"buy_it_now\": true, \"free_returns\": true, \"sponsored\": true, \"prices\": [{\"value\": 11.95, \"raw\": \"$11.95\"}], \"price\": {\"value\": 11.95, \"raw\": \"$11.95\"}}, {\"position\": 61, \"title\": \"Sandisk Extreme Micro SD Memory Card 32GB 64GB 128GB 256GB 512GB 1TB\", \"epid\": \"274525839545\", \"link\": \"https://www.ebay.com/itm/274525839545\", \"image\": \"https://i.ebayimg.com/images/g/A6MAAOSwVcFieRut/s-l140.jpg\", \"condition\": \"Brand New\", \"seller_info\": {\"name\": \"memorydiscounters\", \"review_count\": 71478, \"positive_feedback_percent\": 99.9}, \"is_auction\": false, \"buy_it_now\": true, \"free_returns\": true, \"rating\": 5, \"ratings_total\": 6, \"sponsored\": true, \"prices\": [{\"value\": 10.98, \"raw\": \"$10.98\"}, {\"value\": 118.96, \"raw\": \"$118.96\"}], \"price\": {\"value\": 10.98, \"raw\": \"$10.98\"}}, {\"position\": 62, \"title\": \"32GB Sandisk SD Memory cards Digital Cameras/Trail Camera/Computers (10 pack)\", \"epid\": \"274475563470\", \"link\": \"https://www.ebay.com/itm/274475563470\", \"image\": \"https://i.ebayimg.com/images/g/32EAAOSwYF5jFhwV/s-l140.jpg\", \"condition\": \"Brand New\", \"seller_info\": {\"name\": \"memorydiscounters\", \"review_count\": 71478, \"positive_feedback_percent\": 99.9}, \"is_auction\": false, \"buy_it_now\": true, \"free_returns\": true, \"sponsored\": true, \"prices\": [{\"value\": 51.64, \"raw\": \"$51.64\"}], \"price\": {\"value\": 51.64, \"raw\": \"$51.64\"}}, {\"position\": 63, \"title\": \"SanDisk 16GB 32GB 64GB 128GB Ultra C10 UHS-I SD SDHC / SDXC Memory Card By Lot\", \"epid\": \"196166977241\", \"link\": \"https://www.ebay.com/itm/196166977241\", \"image\": \"https://i.ebayimg.com/images/g/-8MAAOSwaOBlivQk/s-l140.jpg\", \"condition\": \"Brand New\", \"seller_info\": {\"name\": \"gmdbrands\", \"review_count\": 15611, \"positive_feedback_percent\": 98.9}, \"is_auction\": false, \"buy_it_now\": true, \"free_returns\": false, \"sponsored\": true, \"prices\": [{\"value\": 7.77, \"raw\": \"$7.77\"}, {\"value\": 135.99, \"raw\": \"$135.99\"}], \"price\": {\"value\": 7.77, \"raw\": \"$7.77\"}}, {\"position\": 64, \"title\": \"SanDisk Ultra 32 GB SDHC SDXC SD Class 10 48MB/s 320x Memory Card SDSDUNB-032G\", \"epid\": \"282589308422\", \"link\": \"https://www.ebay.com/itm/282589308422\", \"image\": \"https://i.ebayimg.com/images/g/1jIAAOSw14xWJY8h/s-l140.jpg\", \"condition\": \"Brand New\", \"seller_info\": {\"name\": \"allizwell2k10\", \"review_count\": 391920, \"positive_feedback_percent\": 99.5}, \"is_auction\": false, \"buy_it_now\": true, \"free_returns\": true, \"rating\": 5, \"ratings_total\": 405, \"sponsored\": true, \"prices\": [{\"value\": 8.25, \"raw\": \"$8.25\"}], \"price\": {\"value\": 8.25, \"raw\": \"$8.25\"}}, {\"position\": 65, \"title\": \"SanDisk 8GB 16GB 32GB Memory Cards SD SDHC Class4 Camera Flash Card\", \"epid\": \"292917143915\", \"link\": \"https://www.ebay.com/itm/292917143915\", \"image\": \"https://i.ebayimg.com/images/g/UOsAAOSwFcJmTqtX/s-l140.jpg\", \"condition\": \"Brand New\", \"seller_info\": {\"name\": \"elec-x\", \"review_count\": 65397, \"positive_feedback_percent\": 98.9}, \"is_auction\": false, \"buy_it_now\": true, \"free_returns\": false, \"item_location\": \"from Taiwan\", \"shipping_cost\": 0.99, \"sponsored\": true, \"prices\": [{\"value\": 1.99, \"raw\": \"$1.99\"}, {\"value\": 6.79, \"raw\": \"$6.79\"}], \"price\": {\"value\": 1.99, \"raw\": \"$1.99\"}}, {\"position\": 66, \"title\": \"Sandisk Ultra SD Memory Card for Canon Digital Camera EOS Rebel T7 Rebel T6 77D\", \"epid\": \"275735980418\", \"link\": \"https://www.ebay.com/itm/275735980418\", \"image\": \"https://i.ebayimg.com/images/g/O-kAAOSwmdpkCjF8/s-l140.jpg\", \"condition\": \"Brand New\", \"seller_info\": {\"name\": \"memorydiscounters\", \"review_count\": 71478, \"positive_feedback_percent\": 99.9}, \"is_auction\": false, \"buy_it_now\": true, \"free_returns\": true, \"sponsored\": true, \"prices\": [{\"value\": 8.19, \"raw\": \"$8.19\"}, {\"value\": 131.9, \"raw\": \"$131.90\"}], \"price\": {\"value\": 8.19, \"raw\": \"$8.19\"}}, {\"position\": 67, \"title\": \"SandDisk Extreme Pro SD SDXC UHS-I U3 V30 200MB/s 4K HD Video Camera memory Card\", \"epid\": \"405181132580\", \"link\": \"https://www.ebay.com/itm/405181132580\", \"image\": \"https://i.ebayimg.com/images/g/enMAAOSw4UpmxW78/s-l140.jpg\", \"condition\": \"Brand New\", \"seller_info\": {\"name\": \"ecommasterz\", \"review_count\": 27, \"positive_feedback_percent\": 89.7}, \"is_auction\": false, \"buy_it_now\": true, \"free_returns\": true, \"sponsored\": true, \"prices\": [{\"value\": 59.99, \"raw\": \"$59.99\"}], \"price\": {\"value\": 59.99, \"raw\": \"$59.99\"}}, {\"position\": 68, \"title\": \"2 X SanDisk Ultra Plus 64GB SDXC V10 150MB/s Class 10 Memory Cards NEW\", \"epid\": \"276669050773\", \"link\": \"https://www.ebay.com/itm/276669050773\", \"image\": \"https://i.ebayimg.com/images/g/HIUAAOSwydpm~uq6/s-l140.jpg\", \"condition\": \"Brand New\", \"seller_info\": {\"name\": \"optimal_deals\", \"review_count\": 45728, \"positive_feedback_percent\": 99.9}, \"is_auction\": false, \"buy_it_now\": false, \"free_returns\": true, \"sponsored\": true, \"best_offer\": true, \"prices\": [{\"value\": 21.59, \"raw\": \"$21.59\"}], \"price\": {\"value\": 21.59, \"raw\": \"$21.59\"}}], \"search_information\": {\"original_search_term\": \"SanDisk memory cards\"}, \"facets\": [{\"display_name\": \"Storage Capacity\", \"values\": [{\"name\": \"32 GB\", \"param_value\": \"facets=Storage%2520Capacity=32+GB\", \"count\": 5499}, {\"name\": \"64 GB\", \"param_value\": \"facets=Storage%2520Capacity=64+GB\", \"count\": 1898}, {\"name\": \"128 GB\", \"param_value\": \"facets=Storage%2520Capacity=128+GB\", \"count\": 1369}, {\"name\": \"16 GB\", \"param_value\": \"facets=Storage%2520Capacity=16+GB\", \"count\": 1216}, {\"name\": \"256 GB\", \"param_value\": \"facets=Storage%2520Capacity=256+GB\", \"count\": 681}, {\"name\": \"2 GB\", \"param_value\": \"facets=Storage%2520Capacity=2+GB\", \"count\": 414}, {\"name\": \"8 GB\", \"param_value\": \"facets=Storage%2520Capacity=8+GB\", \"count\": 508}, {\"name\": \"512 GB\", \"param_value\": \"facets=Storage%2520Capacity=512+GB\", \"count\": 321}], \"name\": \"Storage%2520Capacity\"}, {\"display_name\": \"Format\", \"values\": [{\"name\": \"SD\", \"param_value\": \"facets=Format=SD\", \"count\": 2393}, {\"name\": \"SDHC\", \"param_value\": \"facets=Format=SDHC\", \"count\": 2094}, {\"name\": \"SDXC\", \"param_value\": \"facets=Format=SDXC\", \"count\": 1616}, {\"name\": \"CompactFlash\", \"param_value\": \"facets=Format=CompactFlash\", \"count\": 1146}, {\"name\": \"MicroSD\", \"param_value\": \"facets=Format=MicroSD\", \"count\": 1277}, {\"name\": \"SDXC UHS-I\", \"param_value\": \"facets=Format=SDXC+UHS-I\", \"count\": 826}, {\"name\": \"CompactFlash I\", \"param_value\": \"facets=Format=CompactFlash+I\", \"count\": 523}, {\"name\": \"microSDXC\", \"param_value\": \"facets=Format=microSDXC\", \"count\": 500}], \"name\": \"Format\"}, {\"display_name\": \"Speed Class\", \"values\": [{\"name\": \"Class 10\", \"param_value\": \"facets=Speed%2520Class=Class+10\", \"count\": 6409}, {\"name\": \"Class 4\", \"param_value\": \"facets=Speed%2520Class=Class+4\", \"count\": 715}, {\"name\": \"UHS Speed Class 3\", \"param_value\": \"facets=Speed%2520Class=UHS+Speed+Class+3\", \"count\": 331}, {\"name\": \"UHS Speed Class 1\", \"param_value\": \"facets=Speed%2520Class=UHS+Speed+Class+1\", \"count\": 212}, {\"name\": \"Class 6\", \"param_value\": \"facets=Speed%2520Class=Class+6\", \"count\": 47}, {\"name\": \"Class 2\", \"param_value\": \"facets=Speed%2520Class=Class+2\", \"count\": 170}, {\"name\": \"Class 3\", \"param_value\": \"facets=Speed%2520Class=Class+3\", \"count\": 118}, {\"name\": \"A1\", \"param_value\": \"facets=Speed%2520Class=A1\", \"count\": 114}], \"name\": \"Speed%2520Class\"}, {\"display_name\": \"Compatible Brand\", \"values\": [{\"name\": \"Universal\", \"param_value\": \"facets=Compatible%2520Brand=Universal\", \"count\": 4006}, {\"name\": \"For Nikon\", \"param_value\": \"facets=Compatible%2520Brand=For+Nikon\", \"count\": 1227}, {\"name\": \"For Canon\", \"param_value\": \"facets=Compatible%2520Brand=For+Canon\", \"count\": 1286}, {\"name\": \"For Sony\", \"param_value\": \"facets=Compatible%2520Brand=For+Sony\", \"count\": 1057}, {\"name\": \"For Panasonic\", \"param_value\": \"facets=Compatible%2520Brand=For+Panasonic\", \"count\": 392}, {\"name\": \"For Universal\", \"param_value\": \"facets=Compatible%2520Brand=For+Universal\", \"count\": 764}, {\"name\": \"For Kodak\", \"param_value\": \"facets=Compatible%2520Brand=For+Kodak\", \"count\": 453}, {\"name\": \"For GoPro\", \"param_value\": \"facets=Compatible%2520Brand=For+GoPro\", \"count\": 364}], \"name\": \"Compatible%2520Brand\"}, {\"display_name\": \"Features\", \"values\": [{\"name\": \"High Speed\", \"param_value\": \"facets=Features=High+Speed\", \"count\": 7039}, {\"name\": \"High Capacity\", \"param_value\": \"facets=Features=High+Capacity\", \"count\": 6829}, {\"name\": \"Waterproof\", \"param_value\": \"facets=Features=Waterproof\", \"count\": 6221}, {\"name\": \"Wi-Fi\", \"param_value\": \"facets=Features=Wi-Fi\", \"count\": 182}, {\"name\": \"Not Specified\", \"param_value\": \"facets=Features=Not+Specified\", \"count\": 5513}], \"name\": \"Features\"}, {\"display_name\": \"Compatible Model\", \"values\": [{\"name\": \"Universal\", \"param_value\": \"facets=Compatible%2520Model=Universal\", \"count\": 3330}, {\"name\": \"For Apple iPhone X\", \"param_value\": \"facets=Compatible%2520Model=For+Apple+iPhone+X\", \"count\": 57}, {\"name\": \"For Apple iPhone 11\", \"param_value\": \"facets=Compatible%2520Model=For+Apple+iPhone+11\", \"count\": 39}, {\"name\": \"For Apple iPhone 11 Pro\", \"param_value\": \"facets=Compatible%2520Model=For+Apple+iPhone+11+Pro\", \"count\": 39}, {\"name\": \"For Apple iPhone 11 Pro Max\", \"param_value\": \"facets=Compatible%2520Model=For+Apple+iPhone+11+Pro+Max\", \"count\": 39}, {\"name\": \"For Apple iPhone 13\", \"param_value\": \"facets=Compatible%2520Model=For+Apple+iPhone+13\", \"count\": 39}, {\"name\": \"For Apple iPhone 13 Pro\", \"param_value\": \"facets=Compatible%2520Model=For+Apple+iPhone+13+Pro\", \"count\": 39}, {\"name\": \"For Apple iPhone 13 Pro Max\", \"param_value\": \"facets=Compatible%2520Model=For+Apple+iPhone+13+Pro+Max\", \"count\": 39}], \"name\": \"Compatible%2520Model\"}, {\"display_name\": \"Country/Region of Manufacture\", \"values\": [{\"name\": \"China\", \"param_value\": \"facets=Country%252FRegion%2520of%2520Manufacture=China\", \"count\": 978}, {\"name\": \"Malaysia\", \"param_value\": \"facets=Country%252FRegion%2520of%2520Manufacture=Malaysia\", \"count\": 248}, {\"name\": \"Unknown\", \"param_value\": \"facets=Country%252FRegion%2520of%2520Manufacture=Unknown\", \"count\": 99}, {\"name\": \"Japan\", \"param_value\": \"facets=Country%252FRegion%2520of%2520Manufacture=Japan\", \"count\": 96}, {\"name\": \"Taiwan\", \"param_value\": \"facets=Country%252FRegion%2520of%2520Manufacture=Taiwan\", \"count\": 79}, {\"name\": \"United States\", \"param_value\": \"facets=Country%252FRegion%2520of%2520Manufacture=United+States\", \"count\": 34}, {\"name\": \"Korea, Republic of\", \"param_value\": \"facets=Country%252FRegion%2520of%2520Manufacture=Korea,+Republic+of\", \"count\": 8}, {\"name\": \"Thailand\", \"param_value\": \"facets=Country%252FRegion%2520of%2520Manufacture=Thailand\", \"count\": 5}], \"name\": \"Country%252FRegion%2520of%2520Manufacture\"}, {\"display_name\": \"Series\", \"values\": [{\"name\": \"Samsung PRO\", \"param_value\": \"facets=Series=Samsung+PRO\", \"count\": 82}, {\"name\": \"Samsung EVO\", \"param_value\": \"facets=Series=Samsung+EVO\", \"count\": 58}, {\"name\": \"Not Specified\", \"param_value\": \"facets=Series=Not+Specified\", \"count\": 11813}], \"name\": \"Series\"}, {\"display_name\": \"Brand\", \"values\": [{\"name\": \"SanDisk\", \"param_value\": \"facets=Brand=SanDisk\", \"count\": 9397}, {\"name\": \"Sony\", \"param_value\": \"facets=Brand=Sony\", \"count\": 28}, {\"name\": \"Lexar\", \"param_value\": \"facets=Brand=Lexar\", \"count\": 24}, {\"name\": \"Kingston\", \"param_value\": \"facets=Brand=Kingston\", \"count\": 7}, {\"name\": \"Olympus\", \"param_value\": \"facets=Brand=Olympus\", \"count\": 8}, {\"name\": \"Transcend\", \"param_value\": \"facets=Brand=Transcend\", \"count\": 28}, {\"name\": \"PNY\", \"param_value\": \"facets=Brand=PNY\", \"count\": 11}, {\"name\": \"Unbranded\", \"param_value\": \"facets=Brand=Unbranded\", \"count\": 111}], \"name\": \"Brand\"}, {\"display_name\": \"Show only\", \"values\": [{\"name\": \"Free Returns\", \"param_value\": \"facets=LH_FR=Free+Returns\"}, {\"name\": \"Returns Accepted\", \"param_value\": \"facets=LH_FR=Returns+Accepted\"}, {\"name\": \"Authorized Seller\", \"param_value\": \"facets=LH_FR=Authorized+Seller\"}, {\"name\": \"Completed Items\", \"param_value\": \"facets=LH_FR=Completed+Items\"}, {\"name\": \"Sold Items\", \"param_value\": \"facets=LH_FR=Sold+Items\"}, {\"name\": \"Deals & Savings\", \"param_value\": \"facets=LH_FR=Deals+&+Savings\"}, {\"name\": \"Authenticity Guarantee\", \"param_value\": \"facets=LH_FR=Authenticity+Guarantee\"}], \"name\": \"LH_FR\"}], \"pagination\": {\"has_next_page\": true, \"next_page\": 2, \"current_page\": 1, \"total_results\": 8000}}\n", + "{\"request_info\": {\"success\": true, \"demo\": true}, \"request_parameters\": {\"type\": \"search\", \"ebay_domain\": \"ebay.com\", \"search_term\": \"SanDisk memory cards\"}, \"request_metadata\": {\"ebay_url\": \"https://www.ebay.com/sch/i.html?_nkw=SanDisk+memory+cards&_sacat=0&_dmd=1&_fcid=1\"}, \"search_results\": [{\"position\": 1, \"title\": \"Pack of 10 Genuine SanDisk 16GB Class 4 SD SDHC Flash Memory Card SDSDB-016G lot\", \"epid\": \"405071797164\", \"link\": \"https://www.ebay.com/itm/405071797164\", \"image\": \"https://i.ebayimg.com/images/g/lFMAAOSwjRVnRwBc/s-l500.jpg\", \"condition\": \"Open Box\", \"seller_info\": {\"name\": \"memory561\", \"review_count\": 107314, \"positive_feedback_percent\": 99.8}, \"is_auction\": false, \"buy_it_now\": true, \"free_returns\": true, \"rating\": 5, \"ratings_total\": 588, \"sponsored\": true, \"prices\": [{\"value\": 39.97, \"raw\": \"$39.97\"}], \"price\": {\"value\": 39.97, \"raw\": \"$39.97\"}}, {\"position\": 2, \"title\": \"SanDisk 32GB Extreme C10 V30 UHS-I U3 SD 100MBs SDHC Memory card Pack of 5 Lot\", \"epid\": \"195435460588\", \"link\": \"https://www.ebay.com/itm/195435460588\", \"image\": \"https://i.ebayimg.com/images/g/BOMAAOSwBRVjWTcJ/s-l500.jpg\", \"condition\": \"Brand New\", \"seller_info\": {\"name\": \"firstchoiceonline\", \"review_count\": 56109, \"positive_feedback_percent\": 99.1}, \"is_auction\": false, \"buy_it_now\": true, \"free_returns\": true, \"rating\": 5, \"ratings_total\": 27, \"sponsored\": true, \"prices\": [{\"value\": 42.49, \"raw\": \"$42.49\"}], \"price\": {\"value\": 42.49, \"raw\": \"$42.49\"}}, {\"position\": 3, \"title\": \"SanDisk Extreme PRO 128GB UHS-I U3 SDXC 200MB/s 4K Memory Card\", \"epid\": \"156442619957\", \"link\": \"https://www.ebay.com/itm/156442619957\", \"image\": \"https://i.ebayimg.com/images/g/gJ0AAOSwqTVnAHSF/s-l140.jpg\", \"condition\": \"Brand New\", \"seller_info\": {\"name\": \"dorandbelle\", \"review_count\": 407, \"positive_feedback_percent\": 92.1}, \"is_auction\": false, \"buy_it_now\": false, \"free_returns\": true, \"rating\": 5, \"ratings_total\": 19, \"sponsored\": true, \"best_offer\": true, \"prices\": [{\"value\": 19.95, \"raw\": \"$19.95\"}], \"price\": {\"value\": 19.95, \"raw\": \"$19.95\"}}, {\"position\": 4, \"title\": \"SanDisk 16GB Class 4 SDHC Memory Card - SDSDB-016G-B35\", \"epid\": \"156542390506\", \"link\": \"https://www.ebay.com/itm/156542390506\", \"image\": \"https://i.ebayimg.com/images/g/MDMAAOSwfRlnRv2r/s-l140.jpg\", \"condition\": \"Open Box\", \"seller_info\": {\"name\": \"bytestrading\", \"review_count\": 1508, \"positive_feedback_percent\": 97.9}, \"is_auction\": false, \"buy_it_now\": false, \"free_returns\": false, \"rating\": 5, \"ratings_total\": 588, \"sponsored\": true, \"best_offer\": true, \"prices\": [{\"value\": 5.98, \"raw\": \"$5.98\"}], \"price\": {\"value\": 5.98, \"raw\": \"$5.98\"}}, {\"position\": 5, \"title\": \"SanDisk 32GB Ultra SDHC UHS-I Memory Card Class 10 120 MB/s Full HD Camera\", \"epid\": \"193904175450\", \"link\": \"https://www.ebay.com/itm/193904175450\", \"image\": \"https://i.ebayimg.com/images/g/5dsAAOSwCeRgyfwN/s-l140.jpg\", \"condition\": \"Brand New\", \"seller_info\": {\"name\": \"gmdbrands\", \"review_count\": 15659, \"positive_feedback_percent\": 99}, \"is_auction\": false, \"buy_it_now\": true, \"free_returns\": false, \"rating\": 5, \"ratings_total\": 96, \"sponsored\": true, \"prices\": [{\"value\": 8, \"raw\": \"$8.00\"}], \"price\": {\"value\": 8, \"raw\": \"$8.00\"}}, {\"position\": 6, \"title\": \"LOT OF 11 SanDisk And Other Brand SD cards And Micro SD Card Lot Bundle\", \"epid\": \"375894020646\", \"link\": \"https://www.ebay.com/itm/375894020646\", \"image\": \"https://i.ebayimg.com/images/g/FmEAAOSw-pdnccsi/s-l140.jpg\", \"is_auction\": true, \"bid_count\": 4, \"buy_it_now\": false, \"free_returns\": false, \"sponsored\": false, \"prices\": [{\"value\": 3.25, \"raw\": \"$3.25\"}], \"price\": {\"value\": 3.25, \"raw\": \"$3.25\"}}, {\"position\": 7, \"title\": \"SanDisk Outdoors\\ud83c\\udf33SDHC UHS-I Card 4-Pack 16GB Each Highly Visible On Both Sides\", \"epid\": \"387771957159\", \"link\": \"https://www.ebay.com/itm/387771957159\", \"image\": \"https://i.ebayimg.com/images/g/-KoAAOSw-6hnYJ-n/s-l140.jpg\", \"is_auction\": true, \"bid_count\": 3, \"buy_it_now\": false, \"free_returns\": false, \"sponsored\": false, \"prices\": [{\"value\": 4, \"raw\": \"$4.00\"}], \"price\": {\"value\": 4, \"raw\": \"$4.00\"}}, {\"position\": 8, \"title\": \"SanDisk Extreme PRO 512GB CFast 2.0 Memory Card #SDCFSP-512G-A46D**\", \"epid\": \"126855857431\", \"link\": \"https://www.ebay.com/itm/126855857431\", \"image\": \"https://i.ebayimg.com/images/g/6V4AAOSwhLRncX4P/s-l140.jpg\", \"is_auction\": true, \"bid_count\": 3, \"buy_it_now\": false, \"free_returns\": false, \"sponsored\": false, \"prices\": [{\"value\": 47.5, \"raw\": \"$47.50\"}], \"price\": {\"value\": 47.5, \"raw\": \"$47.50\"}}, {\"position\": 9, \"title\": \"SanDisk SDSDXWT-032G-AW6V2 Outdoors Pro SD 4K UHS-I, U3 Card 32GB 2-Pack\", \"epid\": \"387771956630\", \"link\": \"https://www.ebay.com/itm/387771956630\", \"image\": \"https://i.ebayimg.com/images/g/WF4AAOSwrzhnYJ8s/s-l140.jpg\", \"is_auction\": true, \"bid_count\": 2, \"buy_it_now\": false, \"free_returns\": false, \"sponsored\": false, \"prices\": [{\"value\": 4.25, \"raw\": \"$4.25\"}], \"price\": {\"value\": 4.25, \"raw\": \"$4.25\"}}, {\"position\": 10, \"title\": \"SanDisk 32GB Class 4 SDHC UHS-I Camera Flash Memory SD Card\", \"epid\": \"195214195732\", \"link\": \"https://www.ebay.com/itm/195214195732\", \"image\": \"https://i.ebayimg.com/images/g/dHEAAOSw619iztKH/s-l140.jpg\", \"condition\": \"Brand New\", \"seller_info\": {\"name\": \"firstchoiceonline\", \"review_count\": 56109, \"positive_feedback_percent\": 99.1}, \"is_auction\": false, \"buy_it_now\": true, \"free_returns\": true, \"rating\": 5, \"ratings_total\": 436, \"sponsored\": true, \"prices\": [{\"value\": 7.25, \"raw\": \"$7.25\"}], \"price\": {\"value\": 7.25, \"raw\": \"$7.25\"}}, {\"position\": 11, \"title\": \"SanDisk SD 64GB Ultra SDHC UHS-I / Class 10 Memory Card, Speed Up to 120MB/s\", \"epid\": \"156294481766\", \"link\": \"https://www.ebay.com/itm/156294481766\", \"image\": \"https://i.ebayimg.com/images/g/QngAAOSwPtlmjKia/s-l140.jpg\", \"condition\": \"Open Box\", \"seller_info\": {\"name\": \"bytestrading\", \"review_count\": 1508, \"positive_feedback_percent\": 97.9}, \"is_auction\": false, \"buy_it_now\": true, \"free_returns\": false, \"rating\": 5, \"ratings_total\": 8, \"sponsored\": true, \"prices\": [{\"value\": 7.47, \"raw\": \"$7.47\"}], \"price\": {\"value\": 7.47, \"raw\": \"$7.47\"}}, {\"position\": 12, \"title\": \"Lot of 2 SanDisk 32GB = 64GB SD SDHC Class 4 Camera Flash Memory Card SDSDB-032G\", \"epid\": \"331634660766\", \"link\": \"https://www.ebay.com/itm/331634660766\", \"image\": \"https://i.ebayimg.com/images/g/IRMAAOSw3ydV183w/s-l140.jpg\", \"condition\": \"Brand New\", \"seller_info\": {\"name\": \"allizwell2k10\", \"review_count\": 392170, \"positive_feedback_percent\": 99.4}, \"is_auction\": false, \"buy_it_now\": true, \"free_returns\": true, \"sponsored\": true, \"prices\": [{\"value\": 12.99, \"raw\": \"$12.99\"}], \"price\": {\"value\": 12.99, \"raw\": \"$12.99\"}}, {\"position\": 13, \"title\": \"Sandisk Micro SD Card 128GB 256GB Extreme Pro Ultra Memory Cards lot 170MB/s USA\", \"epid\": \"335700739457\", \"link\": \"https://www.ebay.com/itm/335700739457\", \"image\": \"https://i.ebayimg.com/images/g/gOMAAOSwvY1nSRlt/s-l140.jpg\", \"condition\": \"Brand New\", \"seller_info\": {\"name\": \"zhaoxinspea\", \"review_count\": 698, \"positive_feedback_percent\": 98.9}, \"is_auction\": false, \"buy_it_now\": true, \"free_returns\": true, \"sponsored\": true, \"prices\": [{\"value\": 13.99, \"raw\": \"$13.99\"}, {\"value\": 24.99, \"raw\": \"$24.99\"}], \"price\": {\"value\": 13.99, \"raw\": \"$13.99\"}}, {\"position\": 14, \"title\": \"Sandisk SD Card 16GB 32GB 64GB 128GB Ultra Memory Card Camera Trail Cam Computer\", \"epid\": \"274688396928\", \"link\": \"https://www.ebay.com/itm/274688396928\", \"image\": \"https://i.ebayimg.com/images/g/LegAAOSwNkdisJb3/s-l140.jpg\", \"condition\": \"Brand New\", \"seller_info\": {\"name\": \"memorydiscounters\", \"review_count\": 71667, \"positive_feedback_percent\": 99.8}, \"is_auction\": false, \"buy_it_now\": true, \"free_returns\": true, \"rating\": 5, \"ratings_total\": 10, \"sponsored\": true, \"prices\": [{\"value\": 7.94, \"raw\": \"$7.94\"}, {\"value\": 56.98, \"raw\": \"$56.98\"}], \"price\": {\"value\": 7.94, \"raw\": \"$7.94\"}}, {\"position\": 15, \"title\": \"SanDisk Ultra 128 GB SD SDXC Memory Card SDSDUNR-128G-GN3IN 100mbps\", \"epid\": \"284993211913\", \"link\": \"https://www.ebay.com/itm/284993211913\", \"image\": \"https://i.ebayimg.com/images/g/UYQAAOSw~wdjOHpe/s-l140.jpg\", \"condition\": \"Brand New\", \"seller_info\": {\"name\": \"allizwell2k10\", \"review_count\": 392170, \"positive_feedback_percent\": 99.4}, \"is_auction\": false, \"buy_it_now\": true, \"free_returns\": true, \"rating\": 5, \"ratings_total\": 28, \"sponsored\": true, \"prices\": [{\"value\": 13.5, \"raw\": \"$13.50\"}], \"price\": {\"value\": 13.5, \"raw\": \"$13.50\"}}, {\"position\": 16, \"title\": \"SanDisk Ultra 64GB 80MB/s SDXC SDHC Class 10 533x SD Camera Flash Memory Card\", \"epid\": \"332426273325\", \"link\": \"https://www.ebay.com/itm/332426273325\", \"image\": \"https://i.ebayimg.com/images/g/4EsAAOSwEEBZ8YzQ/s-l140.jpg\", \"condition\": \"Brand New\", \"seller_info\": {\"name\": \"allizwell2k10\", \"review_count\": 392170, \"positive_feedback_percent\": 99.4}, \"is_auction\": false, \"buy_it_now\": true, \"free_returns\": true, \"rating\": 5, \"ratings_total\": 191, \"sponsored\": true, \"prices\": [{\"value\": 10.5, \"raw\": \"$10.50\"}], \"price\": {\"value\": 10.5, \"raw\": \"$10.50\"}}, {\"position\": 17, \"title\": \"SanDisk CF Extreme 64GB 120MB/s CompactFlash Memory Card SDCFXS-64G 64 GB\", \"epid\": \"382233755733\", \"link\": \"https://www.ebay.com/itm/382233755733\", \"image\": \"https://i.ebayimg.com/images/g/6HsAAOSwdQNZxcJC/s-l140.jpg\", \"condition\": \"Pre-Owned\", \"seller_info\": {\"name\": \"memory561\", \"review_count\": 107314, \"positive_feedback_percent\": 99.8}, \"is_auction\": false, \"buy_it_now\": true, \"free_returns\": true, \"sponsored\": true, \"prices\": [{\"value\": 27.99, \"raw\": \"$27.99\"}], \"price\": {\"value\": 27.99, \"raw\": \"$27.99\"}}, {\"position\": 18, \"title\": \"SanDisk 128GB Extreme PRO UHS-II SDXC Memory Card\", \"epid\": \"387783181762\", \"link\": \"https://www.ebay.com/itm/387783181762\", \"image\": \"https://i.ebayimg.com/images/g/p4QAAOSwVPBndG4Z/s-l140.jpg\", \"condition\": \"Brand New\", \"seller_info\": {\"name\": \"uf.rios\", \"review_count\": 114, \"positive_feedback_percent\": 92}, \"is_auction\": false, \"buy_it_now\": false, \"free_returns\": false, \"shipping_cost\": 4.58, \"rating\": 5, \"ratings_total\": 1, \"sponsored\": true, \"best_offer\": true, \"prices\": [{\"value\": 90.99, \"raw\": \"$90.99\"}], \"price\": {\"value\": 90.99, \"raw\": \"$90.99\"}}, {\"position\": 19, \"title\": \"5x SanDisk 64GB Ultra SDHC UHS-I / Class 10 Memory Card, Speed Up to 120MB/s\", \"epid\": \"395527089014\", \"link\": \"https://www.ebay.com/itm/395527089014\", \"image\": \"https://i.ebayimg.com/images/g/HHQAAOSwpqJmkC57/s-l140.jpg\", \"condition\": \"Open Box\", \"seller_info\": {\"name\": \"memory561\", \"review_count\": 107314, \"positive_feedback_percent\": 99.8}, \"is_auction\": false, \"buy_it_now\": true, \"free_returns\": true, \"sponsored\": true, \"prices\": [{\"value\": 29.99, \"raw\": \"$29.99\"}], \"price\": {\"value\": 29.99, \"raw\": \"$29.99\"}}, {\"position\": 20, \"title\": \"SandDisk Extreme Pro SD SDXC UHS-I U3 V30 200MB/s 4K HD Video Camera memory Card\", \"epid\": \"405181132580\", \"link\": \"https://www.ebay.com/itm/405181132580\", \"image\": \"https://i.ebayimg.com/images/g/enMAAOSw4UpmxW78/s-l140.jpg\", \"condition\": \"Brand New\", \"seller_info\": {\"name\": \"ecommasterz\", \"review_count\": 29, \"positive_feedback_percent\": 93.1}, \"is_auction\": false, \"buy_it_now\": true, \"free_returns\": true, \"sponsored\": true, \"prices\": [{\"value\": 59.99, \"raw\": \"$59.99\"}], \"price\": {\"value\": 59.99, \"raw\": \"$59.99\"}}, {\"position\": 21, \"title\": \"SanDisk 32GB Extreme Class10 V30 UHS-I U3 SD card 100MBs Full SD HC Memory card\", \"epid\": \"195214263197\", \"link\": \"https://www.ebay.com/itm/195214263197\", \"image\": \"https://i.ebayimg.com/images/g/BssAAOSwE5tlvAMJ/s-l140.jpg\", \"condition\": \"Brand New\", \"seller_info\": {\"name\": \"gmdbrands\", \"review_count\": 15659, \"positive_feedback_percent\": 99}, \"is_auction\": false, \"buy_it_now\": true, \"free_returns\": false, \"rating\": 5, \"ratings_total\": 27, \"sponsored\": true, \"prices\": [{\"value\": 13.5, \"raw\": \"$13.50\"}], \"price\": {\"value\": 13.5, \"raw\": \"$13.50\"}}, {\"position\": 22, \"title\": \"SanDisk Extreme Pro 256GB Class 10 SDXC Memory Card - SDSDXXY\", \"epid\": \"405302290205\", \"link\": \"https://www.ebay.com/itm/405302290205\", \"image\": \"https://i.ebayimg.com/images/g/MfQAAOSwBB9nF-aH/s-l140.jpg\", \"condition\": \"Brand New\", \"seller_info\": {\"name\": \"evalueexpo\", \"review_count\": 115167, \"positive_feedback_percent\": 99}, \"is_auction\": false, \"buy_it_now\": true, \"free_returns\": true, \"rating\": 5, \"ratings_total\": 5, \"sponsored\": true, \"prices\": [{\"value\": 19.95, \"raw\": \"$19.95\"}], \"price\": {\"value\": 19.95, \"raw\": \"$19.95\"}}, {\"position\": 23, \"title\": \"Sandisk Micro SD Card 128GB 256GB Extreme Pro Ultra Memory Cards lot 170MB/s New\", \"epid\": \"365307080015\", \"link\": \"https://www.ebay.com/itm/365307080015\", \"image\": \"https://i.ebayimg.com/images/g/gm0AAOSwjMtnbOWH/s-l140.jpg\", \"condition\": \"Brand New\", \"seller_info\": {\"name\": \"kerriganhive\", \"review_count\": 534, \"positive_feedback_percent\": 99.4}, \"is_auction\": false, \"buy_it_now\": true, \"free_returns\": true, \"sponsored\": true, \"prices\": [{\"value\": 13.99, \"raw\": \"$13.99\"}, {\"value\": 24.99, \"raw\": \"$24.99\"}], \"price\": {\"value\": 13.99, \"raw\": \"$13.99\"}}, {\"position\": 24, \"title\": \"SanDisk 16GB 32GB 64GB SDHC SDXC Class4 SD Flash Memory Card Camera SDSDB By Lot\", \"epid\": \"196171638575\", \"link\": \"https://www.ebay.com/itm/196171638575\", \"image\": \"https://i.ebayimg.com/images/g/4y8AAOSwTr1llxgC/s-l140.jpg\", \"condition\": \"Brand New\", \"seller_info\": {\"name\": \"firstchoiceonline\", \"review_count\": 56109, \"positive_feedback_percent\": 99.1}, \"is_auction\": false, \"buy_it_now\": true, \"free_returns\": true, \"sponsored\": true, \"prices\": [{\"value\": 2.38, \"raw\": \"$2.38\"}, {\"value\": 85.9, \"raw\": \"$85.90\"}], \"price\": {\"value\": 2.38, \"raw\": \"$2.38\"}}, {\"position\": 25, \"title\": \"Sandisk 4Gb Memory Stick Pro Duo Magic Gate Memory card - Black\", \"epid\": \"266663164270\", \"link\": \"https://www.ebay.com/itm/266663164270\", \"image\": \"https://i.ebayimg.com/images/g/atwAAOSwFgVlxPhc/s-l140.jpg\", \"condition\": \"Pre-Owned\", \"seller_info\": {\"name\": \"mariomansion\", \"review_count\": 23115, \"positive_feedback_percent\": 96.6}, \"is_auction\": false, \"buy_it_now\": true, \"free_returns\": false, \"sponsored\": true, \"prices\": [{\"value\": 9.95, \"raw\": \"$9.95\"}], \"price\": {\"value\": 9.95, \"raw\": \"$9.95\"}}, {\"position\": 26, \"title\": \"SanDisk Micro SD 32GB 16GB 8GB SD HC TF Memory Card Class 4 C4 FAST SHIPPING\", \"epid\": \"322726259110\", \"link\": \"https://www.ebay.com/itm/322726259110\", \"image\": \"https://i.ebayimg.com/images/g/ybcAAOSwxnFieR15/s-l140.jpg\", \"condition\": \"Brand New\", \"seller_info\": {\"name\": \"memorydiscounters\", \"review_count\": 71667, \"positive_feedback_percent\": 99.8}, \"is_auction\": false, \"buy_it_now\": true, \"free_returns\": true, \"sponsored\": true, \"prices\": [{\"value\": 6.93, \"raw\": \"$6.93\"}, {\"value\": 43.48, \"raw\": \"$43.48\"}], \"price\": {\"value\": 6.93, \"raw\": \"$6.93\"}}, {\"position\": 27, \"title\": \"SanDisk High Endurance & Max Endurance Micro SD Memory Cards 64GB 128GB 256GB\", \"epid\": \"274561375765\", \"link\": \"https://www.ebay.com/itm/274561375765\", \"image\": \"https://i.ebayimg.com/images/g/K7IAAOSw~n1ieR0K/s-l140.jpg\", \"condition\": \"Brand New\", \"seller_info\": {\"name\": \"memorydiscounters\", \"review_count\": 71667, \"positive_feedback_percent\": 99.8}, \"is_auction\": false, \"buy_it_now\": true, \"free_returns\": true, \"rating\": 5, \"ratings_total\": 22, \"sponsored\": true, \"prices\": [{\"value\": 9.98, \"raw\": \"$9.98\"}, {\"value\": 208.13, \"raw\": \"$208.13\"}], \"price\": {\"value\": 9.98, \"raw\": \"$9.98\"}}, {\"position\": 28, \"title\": \"Lot of 25 Mixed 128GB MICRO SD SDHC Memory Cards Sandisk Kingston Toshiba!\", \"epid\": \"286239680244\", \"link\": \"https://www.ebay.com/itm/286239680244\", \"image\": \"https://i.ebayimg.com/images/g/LGQAAOSwHnlndBuS/s-l140.jpg\", \"condition\": \"Pre-Owned\", \"seller_info\": {\"name\": \"wirelessalliance\", \"review_count\": 17607, \"positive_feedback_percent\": 99.1}, \"is_auction\": false, \"buy_it_now\": false, \"free_returns\": false, \"sponsored\": true, \"best_offer\": true, \"prices\": [{\"value\": 100, \"raw\": \"$100.00\"}], \"price\": {\"value\": 100, \"raw\": \"$100.00\"}}, {\"position\": 29, \"title\": \"New SanDisk 16GB SDHC Class 4 SD Flash Memory Card Camera 16 G GB SDSDB-016G-B35\", \"epid\": \"281211412556\", \"link\": \"https://www.ebay.com/itm/281211412556\", \"image\": \"https://i.ebayimg.com/images/g/Gl8AAOxydB1SjYFN/s-l140.jpg\", \"condition\": \"Brand New\", \"seller_info\": {\"name\": \"allizwell2k10\", \"review_count\": 392170, \"positive_feedback_percent\": 99.4}, \"is_auction\": false, \"buy_it_now\": true, \"free_returns\": true, \"rating\": 5, \"ratings_total\": 588, \"sponsored\": true, \"prices\": [{\"value\": 7.99, \"raw\": \"$7.99\"}], \"price\": {\"value\": 7.99, \"raw\": \"$7.99\"}}, {\"position\": 30, \"title\": \"Sandisk Ultra SD Memory Card for Canon Digital Camera EOS Rebel T7 Rebel T6 77D\", \"epid\": \"275735980418\", \"link\": \"https://www.ebay.com/itm/275735980418\", \"image\": \"https://i.ebayimg.com/images/g/O-kAAOSwmdpkCjF8/s-l140.jpg\", \"condition\": \"Brand New\", \"seller_info\": {\"name\": \"memorydiscounters\", \"review_count\": 71667, \"positive_feedback_percent\": 99.8}, \"is_auction\": false, \"buy_it_now\": true, \"free_returns\": true, \"sponsored\": true, \"prices\": [{\"value\": 8.19, \"raw\": \"$8.19\"}, {\"value\": 130.68, \"raw\": \"$130.68\"}], \"price\": {\"value\": 8.19, \"raw\": \"$8.19\"}}, {\"position\": 31, \"title\": \"Sandisk Extreme MicroSD Memory Card works with GoPro Max Hero 7/8/9/10/11/12\", \"epid\": \"322771634890\", \"link\": \"https://www.ebay.com/itm/322771634890\", \"image\": \"https://i.ebayimg.com/images/g/cmcAAOSwDFVieRvK/s-l140.jpg\", \"condition\": \"Brand New\", \"seller_info\": {\"name\": \"memorydiscounters\", \"review_count\": 71667, \"positive_feedback_percent\": 99.8}, \"is_auction\": false, \"buy_it_now\": true, \"free_returns\": true, \"sponsored\": true, \"prices\": [{\"value\": 10.98, \"raw\": \"$10.98\"}, {\"value\": 121.68, \"raw\": \"$121.68\"}], \"price\": {\"value\": 10.98, \"raw\": \"$10.98\"}}, {\"position\": 32, \"title\": \"SanDisk ExtremePro 64GB CF memory card SDCFXPS-064G G Extreme Pro 64 GB 160MB/s\", \"epid\": \"404856030762\", \"link\": \"https://www.ebay.com/itm/404856030762\", \"image\": \"https://i.ebayimg.com/images/g/Om4AAOSwHnFVpn1v/s-l140.jpg\", \"condition\": \"Pre-Owned\", \"seller_info\": {\"name\": \"memory561\", \"review_count\": 107314, \"positive_feedback_percent\": 99.8}, \"is_auction\": false, \"buy_it_now\": true, \"free_returns\": true, \"rating\": 5, \"ratings_total\": 21, \"sponsored\": true, \"prices\": [{\"value\": 29.99, \"raw\": \"$29.99\"}], \"price\": {\"value\": 29.99, \"raw\": \"$29.99\"}}, {\"position\": 33, \"title\": \"SanDisk 128GB Extreme PRO SDXC UHS-I Memory Card - C10, U3, V30, 4K UHD, SD Card\", \"epid\": \"176722377659\", \"link\": \"https://www.ebay.com/itm/176722377659\", \"image\": \"https://i.ebayimg.com/images/g/3VsAAOSwOjlnUxr9/s-l140.jpg\", \"condition\": \"Brand New\", \"seller_info\": {\"name\": \"5thousands\", \"review_count\": 829, \"positive_feedback_percent\": 97.9}, \"is_auction\": false, \"buy_it_now\": true, \"free_returns\": true, \"rating\": 5, \"ratings_total\": 19, \"sponsored\": true, \"prices\": [{\"value\": 20.9, \"raw\": \"$20.90\"}], \"price\": {\"value\": 20.9, \"raw\": \"$20.90\"}}, {\"position\": 34, \"title\": \"128GB Micro SD Card 100% Original SanDisk Ships Fast From USA\", \"epid\": \"326384736288\", \"link\": \"https://www.ebay.com/itm/326384736288\", \"image\": \"https://i.ebayimg.com/images/g/eU4AAOSwkq1mWEDJ/s-l140.jpg\", \"condition\": \"Brand New\", \"seller_info\": {\"name\": \"cvetasti\", \"review_count\": 92, \"positive_feedback_percent\": 100}, \"is_auction\": false, \"buy_it_now\": true, \"free_returns\": false, \"sponsored\": true, \"prices\": [{\"value\": 15.99, \"raw\": \"$15.99\"}, {\"value\": 28.99, \"raw\": \"$28.99\"}], \"price\": {\"value\": 15.99, \"raw\": \"$15.99\"}}, {\"position\": 35, \"title\": \"SanDisk EXTREME PRO 256GB 512GB 1TB SD SDXC Camera Card\", \"epid\": \"365018899594\", \"link\": \"https://www.ebay.com/itm/365018899594\", \"image\": \"https://i.ebayimg.com/images/g/y4YAAOSwPthmmcNN/s-l140.jpg\", \"condition\": \"Brand New\", \"seller_info\": {\"name\": \"sellularityco\", \"review_count\": 93, \"positive_feedback_percent\": 93.3}, \"is_auction\": false, \"buy_it_now\": true, \"free_returns\": true, \"sponsored\": true, \"prices\": [{\"value\": 29.99, \"raw\": \"$29.99\"}, {\"value\": 64.99, \"raw\": \"$64.99\"}], \"price\": {\"value\": 29.99, \"raw\": \"$29.99\"}}, {\"position\": 36, \"title\": \"SanDisk Extreme PRO 256GB SD SDXC Card 200MB/s Class 10 UHS-1 U3 4K Memory\", \"epid\": \"156442637807\", \"link\": \"https://www.ebay.com/itm/156442637807\", \"image\": \"https://i.ebayimg.com/images/g/B3sAAOSwFXlnAKfD/s-l140.jpg\", \"condition\": \"Brand New\", \"seller_info\": {\"name\": \"dorandbelle\", \"review_count\": 407, \"positive_feedback_percent\": 92.1}, \"is_auction\": false, \"buy_it_now\": false, \"free_returns\": true, \"rating\": 5, \"ratings_total\": 7, \"sponsored\": true, \"best_offer\": true, \"prices\": [{\"value\": 29.95, \"raw\": \"$29.95\"}], \"price\": {\"value\": 29.95, \"raw\": \"$29.95\"}}, {\"position\": 37, \"title\": \"SanDisk SD Cards 16GB 32GB 64GB SDHC SDXC Extreme Pro Ultra Memory Cards lot\", \"epid\": \"226364353862\", \"link\": \"https://www.ebay.com/itm/226364353862\", \"image\": \"https://i.ebayimg.com/images/g/NikAAOSwOexm71-v/s-l140.jpg\", \"condition\": \"Brand New\", \"seller_info\": {\"name\": \"sd_tech_4you\", \"review_count\": 83, \"positive_feedback_percent\": 98.8}, \"is_auction\": false, \"buy_it_now\": true, \"free_returns\": false, \"rating\": 5, \"ratings_total\": 436, \"sponsored\": true, \"prices\": [{\"value\": 7.79, \"raw\": \"$7.79\"}, {\"value\": 12.5, \"raw\": \"$12.50\"}], \"price\": {\"value\": 7.79, \"raw\": \"$7.79\"}}, {\"position\": 38, \"title\": \"Sandisk EXTREME 64GB microSDXC A2 C10 U3 UHS-I V30 160MB/s MicroSD Memory Card\", \"epid\": \"156484164123\", \"link\": \"https://www.ebay.com/itm/156484164123\", \"image\": \"https://i.ebayimg.com/images/g/QfkAAOSwSPRkGJRY/s-l140.jpg\", \"condition\": \"Brand New\", \"seller_info\": {\"name\": \"onlyonedeal\", \"review_count\": 27903, \"positive_feedback_percent\": 98}, \"is_auction\": false, \"buy_it_now\": true, \"free_returns\": true, \"rating\": 5, \"ratings_total\": 7, \"sponsored\": true, \"prices\": [{\"value\": 8.95, \"raw\": \"$8.95\"}], \"price\": {\"value\": 8.95, \"raw\": \"$8.95\"}}, {\"position\": 39, \"title\": \"SanDisk 128GB ImageMate SDXC UHS-1 Memory Card (SDSDUN4-128G-AW6KN) - New!!!\", \"epid\": \"196767459392\", \"link\": \"https://www.ebay.com/itm/196767459392\", \"image\": \"https://i.ebayimg.com/images/g/ELoAAOSwzFdnIo3a/s-l140.jpg\", \"condition\": \"Brand New\", \"seller_info\": {\"name\": \"toristreasures_14\", \"review_count\": 4404, \"positive_feedback_percent\": 98.5}, \"is_auction\": false, \"buy_it_now\": true, \"free_returns\": false, \"rating\": 5, \"ratings_total\": 5, \"sponsored\": true, \"prices\": [{\"value\": 9.89, \"raw\": \"$9.89\"}], \"price\": {\"value\": 9.89, \"raw\": \"$9.89\"}}, {\"position\": 40, \"title\": \"SanDisk SD Flash Memory Card Camera SDHC SDXC 16GB 32GB 64GB Class4 SDSDB By Lot\", \"epid\": \"196196935542\", \"link\": \"https://www.ebay.com/itm/196196935542\", \"image\": \"https://i.ebayimg.com/images/g/RFIAAOSwG8xlqSYX/s-l140.jpg\", \"condition\": \"Brand New\", \"seller_info\": {\"name\": \"gmdbrands\", \"review_count\": 15659, \"positive_feedback_percent\": 99}, \"is_auction\": false, \"buy_it_now\": true, \"free_returns\": false, \"sponsored\": true, \"prices\": [{\"value\": 7.95, \"raw\": \"$7.95\"}, {\"value\": 109.05, \"raw\": \"$109.05\"}], \"price\": {\"value\": 7.95, \"raw\": \"$7.95\"}}, {\"position\": 41, \"title\": \"New SanDisk 32GB SD SDHC Class 4 Camera Flash Memory Card 32 G SDSDB-032G\", \"epid\": \"281462950758\", \"link\": \"https://www.ebay.com/itm/281462950758\", \"image\": \"https://i.ebayimg.com/images/g/en4AAOSwT6pV1Rrm/s-l140.jpg\", \"condition\": \"Brand New\", \"seller_info\": {\"name\": \"allizwell2k10\", \"review_count\": 392170, \"positive_feedback_percent\": 99.4}, \"is_auction\": false, \"buy_it_now\": true, \"free_returns\": true, \"rating\": 5, \"ratings_total\": 436, \"sponsored\": true, \"prices\": [{\"value\": 8.25, \"raw\": \"$8.25\"}], \"price\": {\"value\": 8.25, \"raw\": \"$8.25\"}}, {\"position\": 42, \"title\": \"Sandisk SD Cards 16GB 32GB 64GB 128GB 256GB Extreme Pro Ultra Memory Cards lot\", \"epid\": \"324078167020\", \"link\": \"https://www.ebay.com/itm/324078167020\", \"image\": \"https://i.ebayimg.com/images/g/PasAAOSwHVJi4Akg/s-l140.jpg\", \"condition\": \"Brand New\", \"seller_info\": {\"name\": \"memorydiscounters\", \"review_count\": 71667, \"positive_feedback_percent\": 99.8}, \"is_auction\": false, \"buy_it_now\": true, \"free_returns\": true, \"sponsored\": true, \"prices\": [{\"value\": 7.24, \"raw\": \"$7.24\"}, {\"value\": 173.04, \"raw\": \"$173.04\"}], \"price\": {\"value\": 7.24, \"raw\": \"$7.24\"}}, {\"position\": 43, \"title\": \"SanDisk Extreme PLUS 128GB microSDXC UHS-I/U3 Card with Adapter\", \"epid\": \"387251615855\", \"link\": \"https://www.ebay.com/itm/387251615855\", \"image\": \"https://i.ebayimg.com/images/g/IeQAAOSwEXVmqZ3n/s-l140.jpg\", \"condition\": \"Brand New\", \"seller_info\": {\"name\": \"j.strickly\", \"review_count\": 114, \"positive_feedback_percent\": 98.3}, \"is_auction\": false, \"buy_it_now\": false, \"free_returns\": false, \"shipping_cost\": 4.26, \"rating\": 5, \"ratings_total\": 3, \"sponsored\": true, \"best_offer\": true, \"prices\": [{\"value\": 14.99, \"raw\": \"$14.99\"}], \"price\": {\"value\": 14.99, \"raw\": \"$14.99\"}}, {\"position\": 44, \"title\": \"2 X SanDisk Ultra Plus 64GB SDXC V10 150MB/s Class 10 Memory Cards NEW\", \"epid\": \"276669050773\", \"link\": \"https://www.ebay.com/itm/276669050773\", \"image\": \"https://i.ebayimg.com/images/g/HIUAAOSwydpm~uq6/s-l140.jpg\", \"condition\": \"Brand New\", \"seller_info\": {\"name\": \"optimal_deals\", \"review_count\": 45858, \"positive_feedback_percent\": 99.9}, \"is_auction\": false, \"buy_it_now\": false, \"free_returns\": true, \"sponsored\": true, \"best_offer\": true, \"prices\": [{\"value\": 21.59, \"raw\": \"$21.59\"}], \"price\": {\"value\": 21.59, \"raw\": \"$21.59\"}}, {\"position\": 45, \"title\": \"2 PACK SanDisk Ultra 16 GB (= 32GB ) SDHC SD Class 10 40MB/S 266X Card UHS-I HD\", \"epid\": \"330875921014\", \"link\": \"https://www.ebay.com/itm/330875921014\", \"image\": \"https://i.ebayimg.com/images/g/nm4AAOSwrklVC5E1/s-l140.jpg\", \"condition\": \"Brand New\", \"seller_info\": {\"name\": \"allizwell2k10\", \"review_count\": 392170, \"positive_feedback_percent\": 99.4}, \"is_auction\": false, \"buy_it_now\": true, \"free_returns\": true, \"sponsored\": true, \"prices\": [{\"value\": 11.95, \"raw\": \"$11.95\"}], \"price\": {\"value\": 11.95, \"raw\": \"$11.95\"}}, {\"position\": 46, \"title\": \"SanDisk 8GB Memory Stick Pro Duo Magic Gate Memory card - Black\", \"epid\": \"255569466003\", \"link\": \"https://www.ebay.com/itm/255569466003\", \"image\": \"https://i.ebayimg.com/images/g/ZdIAAOSwe8Rijqb5/s-l140.jpg\", \"condition\": \"Pre-Owned\", \"seller_info\": {\"name\": \"mariomansion\", \"review_count\": 23115, \"positive_feedback_percent\": 96.6}, \"is_auction\": false, \"buy_it_now\": true, \"free_returns\": false, \"sponsored\": true, \"prices\": [{\"value\": 13.95, \"raw\": \"$13.95\"}], \"price\": {\"value\": 13.95, \"raw\": \"$13.95\"}}, {\"position\": 47, \"title\": \"5 x SanDisk Ultra 16GB SDHC SDXC SD Class 10 Flash Memory Card Camera + Cases\", \"epid\": \"284987092906\", \"link\": \"https://www.ebay.com/itm/284987092906\", \"image\": \"https://i.ebayimg.com/images/g/CJoAAOSwbZBbwDGf/s-l140.jpg\", \"condition\": \"Brand New\", \"seller_info\": {\"name\": \"allizwell2k10\", \"review_count\": 392170, \"positive_feedback_percent\": 99.4}, \"is_auction\": false, \"buy_it_now\": true, \"free_returns\": true, \"rating\": 5, \"ratings_total\": 13, \"sponsored\": true, \"prices\": [{\"value\": 28.99, \"raw\": \"$28.99\"}], \"price\": {\"value\": 28.99, \"raw\": \"$28.99\"}}, {\"position\": 48, \"title\": \"32GB Sandisk Ultra SD Memory cards 10 pack for Camera / Trail Camera / Computers\", \"epid\": \"274918776662\", \"link\": \"https://www.ebay.com/itm/274918776662\", \"image\": \"https://i.ebayimg.com/images/g/USsAAOSw-DZixfeU/s-l140.jpg\", \"condition\": \"Brand New\", \"seller_info\": {\"name\": \"memorydiscounters\", \"review_count\": 71667, \"positive_feedback_percent\": 99.8}, \"is_auction\": false, \"buy_it_now\": true, \"free_returns\": true, \"rating\": 5, \"ratings_total\": 6, \"sponsored\": true, \"prices\": [{\"value\": 51.64, \"raw\": \"$51.64\"}], \"price\": {\"value\": 51.64, \"raw\": \"$51.64\"}}, {\"position\": 49, \"title\": \"SanDisk 256GB Micro SD SDXC MicroSD TF Class 10 256 GB Extreme PRO 200MB/s\", \"epid\": \"284979868801\", \"link\": \"https://www.ebay.com/itm/284979868801\", \"image\": \"https://i.ebayimg.com/images/g/FPMAAOSwvyFjLUOQ/s-l140.jpg\", \"condition\": \"Brand New\", \"seller_info\": {\"name\": \"allizwell2k10\", \"review_count\": 392170, \"positive_feedback_percent\": 99.4}, \"is_auction\": false, \"buy_it_now\": true, \"free_returns\": true, \"rating\": 5, \"ratings_total\": 11, \"sponsored\": true, \"prices\": [{\"value\": 28.99, \"raw\": \"$28.99\"}], \"price\": {\"value\": 28.99, \"raw\": \"$28.99\"}}, {\"position\": 50, \"title\": \"SanDisk 1GB SD Camera Memory Card\", \"epid\": \"404360535214\", \"link\": \"https://www.ebay.com/itm/404360535214\", \"image\": \"https://i.ebayimg.com/images/g/xsQAAOSwkgVk0ubI/s-l140.jpg\", \"condition\": \"Pre-Owned\", \"seller_info\": {\"name\": \"rising-sun-photography\", \"review_count\": 38182, \"positive_feedback_percent\": 100}, \"is_auction\": false, \"buy_it_now\": true, \"free_returns\": true, \"sponsored\": true, \"prices\": [{\"value\": 10.99, \"raw\": \"$10.99\"}], \"price\": {\"value\": 10.99, \"raw\": \"$10.99\"}}, {\"position\": 51, \"title\": \"SanDisk 128GB Micro SD SDXC MicroSD TF Class 10 128 GB Extreme PRO 200MB/s\", \"epid\": \"334572077116\", \"link\": \"https://www.ebay.com/itm/334572077116\", \"image\": \"https://i.ebayimg.com/images/g/QiQAAOSwistjLUIB/s-l140.jpg\", \"condition\": \"Brand New\", \"seller_info\": {\"name\": \"allizwell2k10\", \"review_count\": 392170, \"positive_feedback_percent\": 99.4}, \"is_auction\": false, \"buy_it_now\": true, \"free_returns\": true, \"rating\": 5, \"ratings_total\": 32, \"sponsored\": true, \"prices\": [{\"value\": 18.5, \"raw\": \"$18.50\"}], \"price\": {\"value\": 18.5, \"raw\": \"$18.50\"}}, {\"position\": 52, \"title\": \"Lot of 25 Mixed 32GB MICRO SD SDHC Memory Cards Sandisk Kingston Toshiba 32 GB\", \"epid\": \"286241345146\", \"link\": \"https://www.ebay.com/itm/286241345146\", \"image\": \"https://i.ebayimg.com/images/g/vw0AAOSwFHZnRL63/s-l140.jpg\", \"condition\": \"Pre-Owned\", \"seller_info\": {\"name\": \"wirelessalliance\", \"review_count\": 17607, \"positive_feedback_percent\": 99.1}, \"is_auction\": false, \"buy_it_now\": false, \"free_returns\": false, \"sponsored\": true, \"best_offer\": true, \"prices\": [{\"value\": 50, \"raw\": \"$50.00\"}], \"price\": {\"value\": 50, \"raw\": \"$50.00\"}}, {\"position\": 53, \"title\": \"SanDisk Industrial 16GB Micro SD Memory Card Class 10 UHS-I MicroSDHC 5 QTY\", \"epid\": \"304514119603\", \"link\": \"https://www.ebay.com/itm/304514119603\", \"image\": \"https://i.ebayimg.com/images/g/E3YAAOSwa-JimqXK/s-l140.jpg\", \"condition\": \"Brand New\", \"seller_info\": {\"name\": \"cctv.net_clearance\", \"review_count\": 601, \"positive_feedback_percent\": 99.1}, \"is_auction\": false, \"buy_it_now\": false, \"free_returns\": false, \"sponsored\": true, \"best_offer\": true, \"prices\": [{\"value\": 24.99, \"raw\": \"$24.99\"}], \"price\": {\"value\": 24.99, \"raw\": \"$24.99\"}}, {\"position\": 54, \"title\": \"SanDisk - Extreme PLUS 128GB MicroSDXC UHS-I Memory Card\", \"epid\": \"204087112711\", \"link\": \"https://www.ebay.com/itm/204087112711\", \"image\": \"https://i.ebayimg.com/images/g/dUAAAOSwNRNm6uwA/s-l140.jpg\", \"condition\": \"Brand New\", \"seller_info\": {\"name\": \"best_buy\", \"review_count\": 855946, \"positive_feedback_percent\": 95.2}, \"is_auction\": false, \"buy_it_now\": true, \"free_returns\": false, \"sponsored\": true}, {\"position\": 55, \"title\": \"NEW Sandisk Micro SD Card 128GB 256GB Extreme Pro Ultra Memory Cards lot 170MB/s\", \"epid\": \"176726825968\", \"link\": \"https://www.ebay.com/itm/176726825968\", \"image\": \"https://i.ebayimg.com/images/g/N6sAAOSwUZ5nVoO4/s-l140.jpg\", \"condition\": \"Brand New\", \"seller_info\": {\"name\": \"kassadinblades\", \"review_count\": 259, \"positive_feedback_percent\": 95.7}, \"is_auction\": false, \"buy_it_now\": true, \"free_returns\": true, \"sponsored\": true, \"prices\": [{\"value\": 13.99, \"raw\": \"$13.99\"}, {\"value\": 24.99, \"raw\": \"$24.99\"}], \"price\": {\"value\": 13.99, \"raw\": \"$13.99\"}}, {\"position\": 56, \"title\": \"SanDisk Extreme PRO 64GB UHS-I U3 SDXC 200MB/s 4K UHD Video Memory Card SDSDXXU\", \"epid\": \"334572070578\", \"link\": \"https://www.ebay.com/itm/334572070578\", \"image\": \"https://i.ebayimg.com/images/g/wcwAAOSwqKpjLbDE/s-l140.jpg\", \"condition\": \"Brand New\", \"seller_info\": {\"name\": \"allizwell2k10\", \"review_count\": 392170, \"positive_feedback_percent\": 99.4}, \"is_auction\": false, \"buy_it_now\": true, \"free_returns\": true, \"rating\": 5, \"ratings_total\": 34, \"sponsored\": true, \"prices\": [{\"value\": 14.99, \"raw\": \"$14.99\"}], \"price\": {\"value\": 14.99, \"raw\": \"$14.99\"}}, {\"position\": 57, \"title\": \"SanDisk 256GB Extreme Pro Micro SD MicroSDXC UHS-I U3 A2 Memory Card W/Adapter\", \"epid\": \"316080529214\", \"link\": \"https://www.ebay.com/itm/316080529214\", \"image\": \"https://i.ebayimg.com/images/g/7JMAAOSwkDtncaDF/s-l140.jpg\", \"condition\": \"Brand New\", \"seller_info\": {\"name\": \"suzanng-0\", \"review_count\": 148, \"positive_feedback_percent\": 92.8}, \"is_auction\": false, \"buy_it_now\": true, \"free_returns\": true, \"sponsored\": true, \"prices\": [{\"value\": 23.39, \"raw\": \"$23.39\"}], \"price\": {\"value\": 23.39, \"raw\": \"$23.39\"}}, {\"position\": 58, \"title\": \"SanDisk Ultra 16GB 32GB 64GB microSDXC microSDHC MicroSD UHS-I Flash Memory Card\", \"epid\": \"391943458522\", \"link\": \"https://www.ebay.com/itm/391943458522\", \"image\": \"https://i.ebayimg.com/images/g/TlEAAOSwFb5aLiPe/s-l140.jpg\", \"condition\": \"Brand New\", \"seller_info\": {\"name\": \"dz-tech\", \"review_count\": 1037, \"positive_feedback_percent\": 98.7}, \"is_auction\": false, \"buy_it_now\": true, \"free_returns\": true, \"rating\": 5, \"ratings_total\": 41, \"sponsored\": true, \"prices\": [{\"value\": 6.99, \"raw\": \"$6.99\"}], \"price\": {\"value\": 6.99, \"raw\": \"$6.99\"}}, {\"position\": 59, \"title\": \"32GB Sandisk SD Memory cards Digital Cameras/Trail Camera/Computers (10 pack)\", \"epid\": \"274475563470\", \"link\": \"https://www.ebay.com/itm/274475563470\", \"image\": \"https://i.ebayimg.com/images/g/32EAAOSwYF5jFhwV/s-l140.jpg\", \"condition\": \"Brand New\", \"seller_info\": {\"name\": \"memorydiscounters\", \"review_count\": 71667, \"positive_feedback_percent\": 99.8}, \"is_auction\": false, \"buy_it_now\": true, \"free_returns\": true, \"sponsored\": true, \"prices\": [{\"value\": 51.37, \"raw\": \"$51.37\"}], \"price\": {\"value\": 51.37, \"raw\": \"$51.37\"}}, {\"position\": 60, \"title\": \"Sandisk SDSQUAR-064G-AW6KF 64GB Imagemate Microsdxc Uhs-1 Memory Card With\", \"epid\": \"115935197578\", \"link\": \"https://www.ebay.com/itm/115935197578\", \"image\": \"https://i.ebayimg.com/images/g/05YAAOSwt1BlIAXb/s-l140.jpg\", \"condition\": \"Pre-Owned\", \"seller_info\": {\"name\": \"vipoutlet\", \"review_count\": 491529, \"positive_feedback_percent\": 96.9}, \"is_auction\": false, \"buy_it_now\": true, \"free_returns\": true, \"sponsored\": true, \"prices\": [{\"value\": 6, \"raw\": \"$6.00\"}], \"price\": {\"value\": 6, \"raw\": \"$6.00\"}}, {\"position\": 61, \"title\": \"Sandisk SD Cards 16GB 32GB 64GB 128GB 256GB Extreme Ultra Memory Cards lot\", \"epid\": \"275316711001\", \"link\": \"https://www.ebay.com/itm/275316711001\", \"image\": \"https://i.ebayimg.com/images/g/FGwAAOSwsEZi4Ad5/s-l140.jpg\", \"condition\": \"Brand New\", \"seller_info\": {\"name\": \"memorydiscounters\", \"review_count\": 71667, \"positive_feedback_percent\": 99.8}, \"is_auction\": false, \"buy_it_now\": true, \"free_returns\": true, \"rating\": 5, \"ratings_total\": 8, \"sponsored\": true, \"prices\": [{\"value\": 7.24, \"raw\": \"$7.24\"}, {\"value\": 71.4, \"raw\": \"$71.40\"}], \"price\": {\"value\": 7.24, \"raw\": \"$7.24\"}}, {\"position\": 62, \"title\": \"SanDisk Mobile Ultra Class10 32GB microSD micro SDHC UHS-I U1 Flash Memory Card\", \"epid\": \"252104060486\", \"link\": \"https://www.ebay.com/itm/252104060486\", \"image\": \"https://i.ebayimg.com/images/g/DJoAAOSwFnFWBdpL/s-l140.jpg\", \"condition\": \"Brand New\", \"seller_info\": {\"name\": \"allizwell2k10\", \"review_count\": 392170, \"positive_feedback_percent\": 99.4}, \"is_auction\": false, \"buy_it_now\": true, \"free_returns\": true, \"sponsored\": true, \"prices\": [{\"value\": 8.99, \"raw\": \"$8.99\"}], \"price\": {\"value\": 8.99, \"raw\": \"$8.99\"}}, {\"position\": 63, \"title\": \"SanDisk SDCFXSB-064G-G46 Extreme CompactFlash 64GB Memory Card\", \"epid\": \"314803305269\", \"link\": \"https://www.ebay.com/itm/314803305269\", \"image\": \"https://i.ebayimg.com/images/g/dgkAAOSwMNtk71CB/s-l140.jpg\", \"condition\": \"Open Box\", \"seller_info\": {\"name\": \"drhow8335\", \"review_count\": 31, \"positive_feedback_percent\": 80}, \"is_auction\": false, \"buy_it_now\": false, \"free_returns\": false, \"shipping_cost\": 4.54, \"rating\": 5, \"ratings_total\": 13, \"sponsored\": true, \"best_offer\": true, \"prices\": [{\"value\": 30, \"raw\": \"$30.00\"}], \"price\": {\"value\": 30, \"raw\": \"$30.00\"}}, {\"position\": 64, \"title\": \"LOT 10x SanDisk SD 64GB Ultra PLUS SDXC UHS-1 Memory Card 130MB/s 64 GB 10 x\", \"epid\": \"405313843474\", \"link\": \"https://www.ebay.com/itm/405313843474\", \"image\": \"https://i.ebayimg.com/images/g/KH4AAOSwTChi88fV/s-l140.jpg\", \"condition\": \"Open Box\", \"seller_info\": {\"name\": \"memory561\", \"review_count\": 107314, \"positive_feedback_percent\": 99.8}, \"is_auction\": false, \"buy_it_now\": true, \"free_returns\": true, \"rating\": 5, \"ratings_total\": 3, \"sponsored\": true, \"prices\": [{\"value\": 59.99, \"raw\": \"$59.99\"}], \"price\": {\"value\": 59.99, \"raw\": \"$59.99\"}}], \"search_information\": {\"original_search_term\": \"SanDisk memory cards\"}, \"facets\": [{\"display_name\": \"Storage Capacity\", \"values\": [{\"name\": \"32 GB\", \"param_value\": \"facets=Storage%2520Capacity=32+GB\", \"count\": 5519}, {\"name\": \"64 GB\", \"param_value\": \"facets=Storage%2520Capacity=64+GB\", \"count\": 1880}, {\"name\": \"128 GB\", \"param_value\": \"facets=Storage%2520Capacity=128+GB\", \"count\": 1405}, {\"name\": \"16 GB\", \"param_value\": \"facets=Storage%2520Capacity=16+GB\", \"count\": 1255}, {\"name\": \"256 GB\", \"param_value\": \"facets=Storage%2520Capacity=256+GB\", \"count\": 720}, {\"name\": \"2 GB\", \"param_value\": \"facets=Storage%2520Capacity=2+GB\", \"count\": 419}, {\"name\": \"8 GB\", \"param_value\": \"facets=Storage%2520Capacity=8+GB\", \"count\": 519}, {\"name\": \"512 GB\", \"param_value\": \"facets=Storage%2520Capacity=512+GB\", \"count\": 312}], \"name\": \"Storage%2520Capacity\"}, {\"display_name\": \"Format\", \"values\": [{\"name\": \"SD\", \"param_value\": \"facets=Format=SD\", \"count\": 2472}, {\"name\": \"SDHC\", \"param_value\": \"facets=Format=SDHC\", \"count\": 2142}, {\"name\": \"SDXC\", \"param_value\": \"facets=Format=SDXC\", \"count\": 1625}, {\"name\": \"CompactFlash\", \"param_value\": \"facets=Format=CompactFlash\", \"count\": 1136}, {\"name\": \"MicroSD\", \"param_value\": \"facets=Format=MicroSD\", \"count\": 1311}, {\"name\": \"SDXC UHS-I\", \"param_value\": \"facets=Format=SDXC+UHS-I\", \"count\": 838}, {\"name\": \"CompactFlash I\", \"param_value\": \"facets=Format=CompactFlash+I\", \"count\": 518}, {\"name\": \"microSDXC\", \"param_value\": \"facets=Format=microSDXC\", \"count\": 515}], \"name\": \"Format\"}, {\"display_name\": \"Speed Class\", \"values\": [{\"name\": \"Class 10\", \"param_value\": \"facets=Speed%2520Class=Class+10\", \"count\": 6455}, {\"name\": \"Class 4\", \"param_value\": \"facets=Speed%2520Class=Class+4\", \"count\": 768}, {\"name\": \"UHS Speed Class 3\", \"param_value\": \"facets=Speed%2520Class=UHS+Speed+Class+3\", \"count\": 342}, {\"name\": \"UHS Speed Class 1\", \"param_value\": \"facets=Speed%2520Class=UHS+Speed+Class+1\", \"count\": 216}, {\"name\": \"Class 6\", \"param_value\": \"facets=Speed%2520Class=Class+6\", \"count\": 46}, {\"name\": \"Class 2\", \"param_value\": \"facets=Speed%2520Class=Class+2\", \"count\": 173}, {\"name\": \"Class 3\", \"param_value\": \"facets=Speed%2520Class=Class+3\", \"count\": 118}, {\"name\": \"A1\", \"param_value\": \"facets=Speed%2520Class=A1\", \"count\": 103}], \"name\": \"Speed%2520Class\"}, {\"display_name\": \"Compatible Brand\", \"values\": [{\"name\": \"Universal\", \"param_value\": \"facets=Compatible%2520Brand=Universal\", \"count\": 4083}, {\"name\": \"For Nikon\", \"param_value\": \"facets=Compatible%2520Brand=For+Nikon\", \"count\": 1250}, {\"name\": \"For Canon\", \"param_value\": \"facets=Compatible%2520Brand=For+Canon\", \"count\": 1318}, {\"name\": \"For Sony\", \"param_value\": \"facets=Compatible%2520Brand=For+Sony\", \"count\": 1082}, {\"name\": \"For Panasonic\", \"param_value\": \"facets=Compatible%2520Brand=For+Panasonic\", \"count\": 401}, {\"name\": \"For Universal\", \"param_value\": \"facets=Compatible%2520Brand=For+Universal\", \"count\": 771}, {\"name\": \"For Kodak\", \"param_value\": \"facets=Compatible%2520Brand=For+Kodak\", \"count\": 464}, {\"name\": \"For Olympus\", \"param_value\": \"facets=Compatible%2520Brand=For+Olympus\", \"count\": 90}], \"name\": \"Compatible%2520Brand\"}, {\"display_name\": \"Features\", \"values\": [{\"name\": \"High Speed\", \"param_value\": \"facets=Features=High+Speed\", \"count\": 7077}, {\"name\": \"High Capacity\", \"param_value\": \"facets=Features=High+Capacity\", \"count\": 6884}, {\"name\": \"Waterproof\", \"param_value\": \"facets=Features=Waterproof\", \"count\": 6287}, {\"name\": \"Wi-Fi\", \"param_value\": \"facets=Features=Wi-Fi\", \"count\": 180}, {\"name\": \"Not Specified\", \"param_value\": \"facets=Features=Not+Specified\", \"count\": 5572}], \"name\": \"Features\"}, {\"display_name\": \"Compatible Model\", \"values\": [{\"name\": \"Universal\", \"param_value\": \"facets=Compatible%2520Model=Universal\", \"count\": 3404}, {\"name\": \"For Apple iPhone X\", \"param_value\": \"facets=Compatible%2520Model=For+Apple+iPhone+X\", \"count\": 41}, {\"name\": \"For Apple iPhone 11\", \"param_value\": \"facets=Compatible%2520Model=For+Apple+iPhone+11\", \"count\": 26}, {\"name\": \"For Apple iPhone 11 Pro\", \"param_value\": \"facets=Compatible%2520Model=For+Apple+iPhone+11+Pro\", \"count\": 26}, {\"name\": \"For Apple iPhone 13 Pro\", \"param_value\": \"facets=Compatible%2520Model=For+Apple+iPhone+13+Pro\", \"count\": 26}, {\"name\": \"For Apple iPhone 13 mini\", \"param_value\": \"facets=Compatible%2520Model=For+Apple+iPhone+13+mini\", \"count\": 26}, {\"name\": \"For Apple iPhone SE\", \"param_value\": \"facets=Compatible%2520Model=For+Apple+iPhone+SE\", \"count\": 26}, {\"name\": \"For Apple iPhone 11 Pro Max\", \"param_value\": \"facets=Compatible%2520Model=For+Apple+iPhone+11+Pro+Max\", \"count\": 23}], \"name\": \"Compatible%2520Model\"}, {\"display_name\": \"Country/Region of Manufacture\", \"values\": [{\"name\": \"China\", \"param_value\": \"facets=Country%252FRegion%2520of%2520Manufacture=China\", \"count\": 969}, {\"name\": \"Malaysia\", \"param_value\": \"facets=Country%252FRegion%2520of%2520Manufacture=Malaysia\", \"count\": 235}, {\"name\": \"Unknown\", \"param_value\": \"facets=Country%252FRegion%2520of%2520Manufacture=Unknown\", \"count\": 100}, {\"name\": \"Japan\", \"param_value\": \"facets=Country%252FRegion%2520of%2520Manufacture=Japan\", \"count\": 96}, {\"name\": \"Taiwan\", \"param_value\": \"facets=Country%252FRegion%2520of%2520Manufacture=Taiwan\", \"count\": 80}, {\"name\": \"United States\", \"param_value\": \"facets=Country%252FRegion%2520of%2520Manufacture=United+States\", \"count\": 30}, {\"name\": \"Korea, Republic of\", \"param_value\": \"facets=Country%252FRegion%2520of%2520Manufacture=Korea,+Republic+of\", \"count\": 7}, {\"name\": \"Thailand\", \"param_value\": \"facets=Country%252FRegion%2520of%2520Manufacture=Thailand\", \"count\": 6}], \"name\": \"Country%252FRegion%2520of%2520Manufacture\"}, {\"display_name\": \"Series\", \"values\": [{\"name\": \"Samsung PRO\", \"param_value\": \"facets=Series=Samsung+PRO\", \"count\": 86}, {\"name\": \"Samsung EVO\", \"param_value\": \"facets=Series=Samsung+EVO\", \"count\": 59}, {\"name\": \"Not Specified\", \"param_value\": \"facets=Series=Not+Specified\", \"count\": 11923}], \"name\": \"Series\"}, {\"display_name\": \"Brand\", \"values\": [{\"name\": \"SanDisk\", \"param_value\": \"facets=Brand=SanDisk\", \"count\": 9521}, {\"name\": \"Sony\", \"param_value\": \"facets=Brand=Sony\", \"count\": 28}, {\"name\": \"Lexar\", \"param_value\": \"facets=Brand=Lexar\", \"count\": 24}, {\"name\": \"Transcend\", \"param_value\": \"facets=Brand=Transcend\", \"count\": 30}, {\"name\": \"PNY\", \"param_value\": \"facets=Brand=PNY\", \"count\": 13}, {\"name\": \"Unbranded\", \"param_value\": \"facets=Brand=Unbranded\", \"count\": 121}, {\"name\": \"Scandisk\", \"param_value\": \"facets=Brand=Scandisk\", \"count\": 35}, {\"name\": \"Western Digital\", \"param_value\": \"facets=Brand=Western+Digital\", \"count\": 29}], \"name\": \"Brand\"}, {\"display_name\": \"Show only\", \"values\": [{\"name\": \"Free Returns\", \"param_value\": \"facets=LH_FR=Free+Returns\"}, {\"name\": \"Returns Accepted\", \"param_value\": \"facets=LH_FR=Returns+Accepted\"}, {\"name\": \"Authorized Seller\", \"param_value\": \"facets=LH_FR=Authorized+Seller\"}, {\"name\": \"Completed Items\", \"param_value\": \"facets=LH_FR=Completed+Items\"}, {\"name\": \"Sold Items\", \"param_value\": \"facets=LH_FR=Sold+Items\"}, {\"name\": \"Deals & Savings\", \"param_value\": \"facets=LH_FR=Deals+&+Savings\"}, {\"name\": \"Authenticity Guarantee\", \"param_value\": \"facets=LH_FR=Authenticity+Guarantee\"}], \"name\": \"LH_FR\"}], \"pagination\": {\"has_next_page\": true, \"next_page\": 2, \"current_page\": 1, \"total_results\": 8100}}\n", "==================================\u001b[1m Ai Message \u001b[0m==================================\n", "\n", - "Here are some options for SanDisk memory cards available on eBay:\n", + "Here are some SanDisk memory cards available on eBay along with their prices and links:\n", "\n", - "1. **Pack of 10 Genuine SanDisk 16GB Class 4 SD SDHC Flash Memory Card SDSDB-016G lot**\n", + "1. **Pack of 10 Genuine SanDisk 16GB Class 4 SD SDHC Flash Memory Card**\n", " - Price: $39.97\n", - " - Condition: Open Box\n", " - [View on eBay](https://www.ebay.com/itm/405071797164)\n", " - ![Image](https://i.ebayimg.com/images/g/lFMAAOSwjRVnRwBc/s-l500.jpg)\n", "\n", - "2. **SanDisk 32GB Extreme C10 V30 UHS-I U3 SD 100MBs SDHC Memory card Pack of 5 Lot**\n", + "2. **SanDisk 32GB Extreme C10 V30 UHS-I U3 SD 100MBs SDHC Memory card Pack of 5**\n", " - Price: $42.49\n", - " - Condition: Brand New\n", " - [View on eBay](https://www.ebay.com/itm/195435460588)\n", " - ![Image](https://i.ebayimg.com/images/g/BOMAAOSwBRVjWTcJ/s-l500.jpg)\n", "\n", - "3. **Sandisk SD Extreme PRO 32GB 64GB 128GB 256GB 512GB 1TB Memory Card Nikon Canon**\n", - " - Price: Starting from $19.99\n", - " - Condition: Brand New\n", - " - [View on eBay](https://www.ebay.com/itm/204440376680)\n", - " - ![Image](https://i.ebayimg.com/images/g/fvoAAOSwKytlTAQz/s-l140.jpg)\n", + "3. **SanDisk Extreme PRO 128GB UHS-I U3 SDXC 200MB/s 4K Memory Card**\n", + " - Price: $19.95\n", + " - [View on eBay](https://www.ebay.com/itm/156442619957)\n", + " - ![Image](https://i.ebayimg.com/images/g/gJ0AAOSwqTVnAHSF/s-l140.jpg)\n", "\n", - "4. **SanDisk SD 64GB Ultra SDHC UHS-I / Class 10 Memory Card, Speed Up to 120MB/s**\n", - " - Price: $7.47\n", - " - Condition: Open Box\n", - " - [View on eBay](https://www.ebay.com/itm/156294481766)\n", - " - ![Image](https://i.ebayimg.com/images/g/QngAAOSwPtlmjKia/s-l140.jpg)\n", + "4. **SanDisk 16GB Class 4 SDHC Memory Card**\n", + " - Price: $5.98\n", + " - [View on eBay](https://www.ebay.com/itm/156542390506)\n", + " - ![Image](https://i.ebayimg.com/images/g/MDMAAOSwfRlnRv2r/s-l140.jpg)\n", "\n", "5. **SanDisk 32GB Ultra SDHC UHS-I Memory Card Class 10 120 MB/s Full HD Camera**\n", - " - Price: $7.80\n", - " - Condition: Brand New\n", + " - Price: $8.00\n", " - [View on eBay](https://www.ebay.com/itm/193904175450)\n", " - ![Image](https://i.ebayimg.com/images/g/5dsAAOSwCeRgyfwN/s-l140.jpg)\n", "\n", - "For more options, you can visit the full [eBay search results](https://www.ebay.com/sch/i.html?_nkw=SanDisk+memory+cards&_sacat=0&_dmd=1&_fcid=1).\n" + "You can explore more options and details [here on eBay](https://www.ebay.com/sch/i.html?_nkw=SanDisk+memory+cards&_sacat=0&_dmd=1&_fcid=1).\n" ] } ], @@ -728,9 +728,9 @@ ], "metadata": { "kernelspec": { - "display_name": "GPTSearch2 (Python 3.12)", + "display_name": "GPTSearch3 (Python 3.12)", "language": "python", - "name": "gptsearch2" + "name": "gptsearch3" }, "language_info": { "codemirror_mode": { diff --git a/11-Adding_Multi-modality.ipynb b/11-Adding_Multi-modality.ipynb index 21366b61..473350ce 100644 --- a/11-Adding_Multi-modality.ipynb +++ b/11-Adding_Multi-modality.ipynb @@ -114,7 +114,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 3, "id": "7b059178-855d-4fb2-8d9e-766451b6be28", "metadata": { "tags": [] @@ -157,7 +157,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 4, "id": "eefb7c21-4e39-4705-b590-01075eda926a", "metadata": { "tags": [] @@ -167,8 +167,8 @@ "name": "stdout", "output_type": "stream", "text": [ - "CPU times: user 95 ms, sys: 7.93 ms, total: 103 ms\n", - "Wall time: 4.89 s\n" + "CPU times: user 118 ms, sys: 2.18 ms, total: 121 ms\n", + "Wall time: 4.5 s\n" ] } ], @@ -189,7 +189,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 5, "id": "52d0c7b1-5472-40c3-8e5c-43fc93922868", "metadata": { "tags": [] @@ -198,10 +198,10 @@ { "data": { "text/plain": [ - "'# Yoga Journal\\n\\n---\\n\\n**2-3-00** \\nAfter doing the seated twist stretch, my lower back felt relieved and less sore. Also, it helped to do some other exercises, like the knee swing. I got a yoga book before doing this that helped prepare my back for the bigger stretch. The other prep stretch was the back stretch from the human\\'s body, I found when I did this and sat there, there was a small popping sound in my back. With these, I feel a more thorough stretch and a relief in my back. When I do the compound breath still in half poses, it calms me down fairly quickly. When I started practicing today at around 5:00 PM, my back felt a little less sore. My mom and my friend also observed that I had a little more \"puff\" as my mom put it. I felt little twinges of pain with my hands on my face (for a while after staring at something) and holding my neck. I helped to come away from the routine and focused. Some of the exercises, like the shoulder stand, made my head hurt. Especially when my shoes can change. I could come up with finding a piece of me in my body that I liked. I may write to Alice Christiansen and tell her this and see if she replies with anything interesting. This is suggested in her book.\\n\\n---\\n\\n**2-4-00** \\nMy back felt renewed and I felt a sense of subtle calmness. It seemed I could handle whatever happens that day after stretching. Also, there is a more focused feeling, especially when I am in a seated posture after stretching. I feel calmer, but I do leave it to just feel parts of me need stretching.'" + "'# Yoga Journal\\n\\n---\\n\\n**2-3-00** \\nAfter doing the seated twist stretch, my lower back felt relieved and less sore. Also, it helped to do some other exercises, like the knee swing. I got a yoga book before doing this, and it helped provide my back for the bigger stretch. The other prep stretch was the back stretch from the human\\'s body, I found when I did this one that there was a small popping sound in my lower back. With these, I feel I have improved my stretch and work in my back. When I do the compound breath still in half poses, it calms me down fairly quickly. When I started practicing today at around 5:00 PM, my back felt a little less sore. My mom and my friend also observed that I had a little more \"pomp\" as my mom put it. I felt little twinges of pain with my hands on my face (for a while after staring at something) and holding my neck in my mind helped me come away from the noise and focused. Some of the exercises, like the shoulder stand, made my head hurt. Especially when my shoes came off. I could come up with finding a piece of me in my body that I liked. I may write to Alice Christiansen and tell her this and see if she replies with anything interesting. This is suggested in her book.\\n\\n---\\n\\n**2-4-00** \\nMy back felt renewed and I felt a sense of subtle calmness. It seemed I could handle whatever happens that day after stretching. Also, there is a more focused feeling, especially when I am in a seated posture after stretching. I feel calmer, but I also leave it to just feel parts of me need stretching.'" ] }, - "execution_count": 7, + "execution_count": 5, "metadata": {}, "output_type": "execute_result" } @@ -212,7 +212,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 6, "id": "28673ba4-9e3f-49f5-816d-4494514d0803", "metadata": { "tags": [] @@ -226,12 +226,12 @@ "---\n", "\n", "**2-3-00** \n", - "After doing the seated twist stretch, my lower back felt relieved and less sore. Also, it helped to do some other exercises, like the knee swing. I got a yoga book before doing this that helped prepare my back for the bigger stretch. The other prep stretch was the back stretch from the human's body, I found when I did this and sat there, there was a small popping sound in my back. With these, I feel a more thorough stretch and a relief in my back. When I do the compound breath still in half poses, it calms me down fairly quickly. When I started practicing today at around 5:00 PM, my back felt a little less sore. My mom and my friend also observed that I had a little more \"puff\" as my mom put it. I felt little twinges of pain with my hands on my face (for a while after staring at something) and holding my neck. I helped to come away from the routine and focused. Some of the exercises, like the shoulder stand, made my head hurt. Especially when my shoes can change. I could come up with finding a piece of me in my body that I liked. I may write to Alice Christiansen and tell her this and see if she replies with anything interesting. This is suggested in her book.\n", + "After doing the seated twist stretch, my lower back felt relieved and less sore. Also, it helped to do some other exercises, like the knee swing. I got a yoga book before doing this, and it helped provide my back for the bigger stretch. The other prep stretch was the back stretch from the human's body, I found when I did this one that there was a small popping sound in my lower back. With these, I feel I have improved my stretch and work in my back. When I do the compound breath still in half poses, it calms me down fairly quickly. When I started practicing today at around 5:00 PM, my back felt a little less sore. My mom and my friend also observed that I had a little more \"pomp\" as my mom put it. I felt little twinges of pain with my hands on my face (for a while after staring at something) and holding my neck in my mind helped me come away from the noise and focused. Some of the exercises, like the shoulder stand, made my head hurt. Especially when my shoes came off. I could come up with finding a piece of me in my body that I liked. I may write to Alice Christiansen and tell her this and see if she replies with anything interesting. This is suggested in her book.\n", "\n", "---\n", "\n", "**2-4-00** \n", - "My back felt renewed and I felt a sense of subtle calmness. It seemed I could handle whatever happens that day after stretching. Also, there is a more focused feeling, especially when I am in a seated posture after stretching. I feel calmer, but I do leave it to just feel parts of me need stretching." + "My back felt renewed and I felt a sense of subtle calmness. It seemed I could handle whatever happens that day after stretching. Also, there is a more focused feeling, especially when I am in a seated posture after stretching. I feel calmer, but I also leave it to just feel parts of me need stretching." ], "text/plain": [ "" @@ -274,7 +274,7 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 7, "id": "2d7955c7-5ff4-40a3-b162-c17b5bcc7a2e", "metadata": { "tags": [] @@ -320,7 +320,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 8, "id": "a813cb72-bbb2-41d7-9ad3-83c7e78c16b1", "metadata": { "tags": [] @@ -339,7 +339,7 @@ "text/html": [ "\n", " \n", " " @@ -355,8 +355,8 @@ "name": "stdout", "output_type": "stream", "text": [ - "CPU times: user 103 ms, sys: 19.5 ms, total: 122 ms\n", - "Wall time: 8.48 s\n" + "CPU times: user 101 ms, sys: 22.7 ms, total: 124 ms\n", + "Wall time: 9.93 s\n" ] } ], @@ -402,7 +402,7 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 9, "id": "69094f29-4ada-464b-aec4-2b261f3c546b", "metadata": { "tags": [] @@ -414,10 +414,10 @@ "text": [ "[INFO] Transcribing audio from file...\n", "Transcript:\n", - "After doing the seated twist stretch, I felt relief in my lower back and noticed it was less sore. I used a yoga book to prepare for bigger stretches and experienced a popping sound in my back during the back stretch. Practicing around 5 PM, I felt calmer and more focused, with my mom and friend noticing I had more puff. Some exercises, like the shoulder stand, caused a headache. Overall, my back felt renewed, and I was able to handle the day with a sense of calm.\n", + "After my yoga session on February 3rd, I felt relief in my lower back, thanks to stretches like the seated twist and knee swing. A yoga book guided me through these exercises. I noticed a popping sound in my back during one stretch, but overall I felt improved flexibility. By February 4th, my back felt renewed and I experienced a calming focus, especially in seated postures. I'm considering reaching out to Alice Christensen to share my experience and insights. For more details, check the full text.\n", "\n", - "CPU times: user 5.13 ms, sys: 7.68 ms, total: 12.8 ms\n", - "Wall time: 2.37 s\n" + "CPU times: user 7.57 ms, sys: 618 μs, total: 8.19 ms\n", + "Wall time: 1.98 s\n" ] } ], diff --git a/12-Smart_Agent.ipynb b/12-Smart_Agent.ipynb index 6414378e..ec1550f0 100644 --- a/12-Smart_Agent.ipynb +++ b/12-Smart_Agent.ipynb @@ -25,6 +25,7 @@ "- **Notebook 08**: We build a SQL Agent in order to talk to a SQL Database directly\n", "- **Notebook 09**: We used another Agent in order to talk to the Bing Search API and create a Copilot Clone\n", "- **Notebook 10**: We built an API Agent that can translate a question into the right API calls, giving us the capability to talk to any datasource that provides a RESTFul API.\n", + "- **Notebook 11**: We found out how to add eyes and ears (and mouth) to our system using multi-modal models.\n", "\n", "\n", "We are missing one more thing: **How do we glue all these features together into a very smart GPT Smart Search Engine Chat Agent?**\n", @@ -524,7 +525,7 @@ { "data": { "text/plain": [ - "" + "" ] }, "execution_count": 14, @@ -646,7 +647,7 @@ "name": "stdin", "output_type": "stream", "text": [ - "User: hey there\n" + "User: hey there, I'm Pablo, who are you?\n" ] }, { @@ -654,7 +655,7 @@ "output_type": "stream", "text": [ "{'supervisor': {'next': 'WebSearchAgent'}}\n", - "{'WebSearchAgent': {'messages': [AIMessage(content='Hello! How can I assist you today?', additional_kwargs={}, response_metadata={}, name='WebSearchAgent')]}}\n", + "{'WebSearchAgent': {'messages': [AIMessage(content=\"Hello Pablo! I'm Jarvis, here to help you find information and answer your questions. How can I assist you today?\", additional_kwargs={}, response_metadata={}, name='WebSearchAgent')]}}\n", "{'supervisor': {'next': 'FINISH'}}\n" ] }, @@ -663,7 +664,7 @@ "text/html": [ "\n", " \n", " " @@ -679,17 +680,15 @@ "name": "stdin", "output_type": "stream", "text": [ - "User: @docsearch, how do I go to a restaurant in dallas\n" + "User: @websearch, tell me great EDM night clubs in miami and the next shows this week\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ - "{'supervisor': {'next': 'DocSearchAgent'}}\n", - "{'DocSearchAgent': {'messages': [AIMessage(content='The tools did not provide relevant information for this question. I cannot answer this from prior knowledge.', additional_kwargs={}, response_metadata={}, name='DocSearchAgent')]}}\n", "{'supervisor': {'next': 'WebSearchAgent'}}\n", - "{'WebSearchAgent': {'messages': [AIMessage(content='Hello! How can I assist you today?', additional_kwargs={}, response_metadata={}, name='WebSearchAgent')]}}\n", + "{'WebSearchAgent': {'messages': [AIMessage(content='Here are some great EDM nightclubs in Miami and the upcoming shows this week:\\n\\n### Top EDM Nightclubs in Miami:\\n1. **Club Space** - Known for its outstanding party vibe, located in downtown Miami.\\n2. **Do Not Sit on the Furniture** - Offers a unique vibe with deep house music, located on 16th Street.\\n3. **E11even** - A 24/7 ultraclub in downtown Miami, known for its immersive nightlife experience.\\n4. **Story** - Famous for its uniquely themed events, located on Collins Avenue.\\n5. **Rockwell Miami** - Known for hosting celebrities and offering a cool atmosphere.\\n6. **Treehouse** - Popular for deep house music, located on 23rd Street.\\n7. **LIV** - Located in the historic Fontainebleau Hotel, known for its high-energy dance club atmosphere[[1]](https://www.nightflow.com/edm-clubs-in-miami/)[[2]](https://nox-agency.com/miami/guides/best-edm-clubs-miami).\\n\\n### Upcoming EDM Shows in Miami This Week:\\n- **EDM Events @ DAER Nightclub**: Friday at 10:00 PM and 10:30 PM.\\n- **EDM Pool Party Package with Round Trip Party Bus & Drinks**: Saturday at 11:00 AM.\\n- **Art Basel Alternative - Pool Party @ DAER**: Saturday at 12:30 PM.\\n- **DAER Pool Parties**: Saturday at 11:30 AM.\\n- **VOTED #1 Pool Party In Miami - DAER**: Saturday at 12:00 PM[[3]](https://edmtrain.com/miami-fl)[[4]](https://www.eventbrite.com/d/fl--miami/events--this-weekend/edm-events/).\\n\\nThese venues and events offer a vibrant EDM scene in Miami, perfect for enjoying music and nightlife.', additional_kwargs={}, response_metadata={}, name='WebSearchAgent')]}}\n", "{'supervisor': {'next': 'FINISH'}}\n" ] }, @@ -698,7 +697,7 @@ "text/html": [ "\n", " \n", " " @@ -714,21 +713,40 @@ "name": "stdin", "output_type": "stream", "text": [ - "User: @websearch, what about you\n" + "User: @docseach, is invercmentin good against covid?\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ + "{'supervisor': {'next': 'DocSearchAgent'}}\n", + "{'DocSearchAgent': {'messages': [AIMessage(content='The current evidence suggests that ivermectin is not likely to be effective against COVID-19 at doses that are safe for human use. Studies have shown that while ivermectin can inhibit SARS-CoV-2 in vitro, the concentrations required to achieve this effect are much higher than what can be safely achieved in humans through oral administration. Specifically, the inhibitory concentrations are not attainable in humans based on available pharmacokinetic data from clinically relevant dosing studies[[1]](https://doi.org/10.1101/2020.04.11.20061804?sv=2022-11-02&ss=b&srt=sco&sp=rltfx&se=2026-01-02T09:04:19Z&st=2025-01-02T01:04:19Z&spr=https&sig=q%2FjY9R25rdc%2BIH1iiq1uPIBm82xECsN9d%2B2ftdM1SJI%3D)[[2]](http://medrxiv.org/cgi/content/short/2020.04.21.20073262v1?rss=1?sv=2022-11-02&ss=b&srt=sco&sp=rltfx&se=2026-01-02T09:04:19Z&st=2025-01-02T01:04:19Z&spr=https&sig=q%2FjY9R25rdc%2BIH1iiq1uPIBm82xECsN9d%2B2ftdM1SJI%3D).\\n\\nTherefore, while ivermectin has shown some potential in laboratory settings, its effectiveness as a treatment for COVID-19 in humans remains unproven, and the likelihood of successful clinical trials using the approved dose is considered low[[1]](https://doi.org/10.1101/2020.04.11.20061804?sv=2022-11-02&ss=b&srt=sco&sp=rltfx&se=2026-01-02T09:04:19Z&st=2025-01-02T01:04:19Z&spr=https&sig=q%2FjY9R25rdc%2BIH1iiq1uPIBm82xECsN9d%2B2ftdM1SJI%3D).', additional_kwargs={}, response_metadata={}, name='DocSearchAgent')]}}\n", "{'supervisor': {'next': 'FINISH'}}\n" ] }, + { + "data": { + "text/html": [ + "\n", + " \n", + " " + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, { "name": "stdin", "output_type": "stream", "text": [ - "User: @websearch, what is the best restaurant\n" + "User: thank you, you are good!\n" ] }, { @@ -742,7 +760,7 @@ "name": "stdin", "output_type": "stream", "text": [ - "User: @websearch, who are you\n" + "User: bye\n" ] }, { @@ -791,7 +809,7 @@ }, { "cell_type": "code", - "execution_count": 42, + "execution_count": 17, "id": "a0b5e84c-15e0-4057-b53b-f31fd354cc07", "metadata": { "tags": [] @@ -800,10 +818,10 @@ { "data": { "text/plain": [ - "" + "" ] }, - "execution_count": 42, + "execution_count": 17, "metadata": {}, "output_type": "execute_result" } @@ -849,12 +867,196 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 18, "id": "fb938e5b-58f8-4cec-a91c-9d00e90ce7a9", "metadata": { "tags": [] }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "Running the asynchronous agent:\n" + ] + }, + { + "name": "stdin", + "output_type": "stream", + "text": [ + "User: hey there, who are you\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Hello! I'm Jarvis, your AI assistant here to help you with information and answer your questions based on data I can retrieve. How can I assist you today?" + ] + }, + { + "data": { + "text/html": [ + "\n", + " \n", + " " + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdin", + "output_type": "stream", + "text": [ + "User: @apisearch, tell me the price of bitcoin in euros today\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "--\n", + "Starting tool: requests_get with inputs: {'url': 'https://api.kraken.com/0/public/Ticker?pair=XXBTZEUR'}\n", + "--\n", + "\n", + "--\n", + "Done tool: requests_get\n", + "--\n", + "The current price of Bitcoin in Euros (EUR) is approximately €91,504.90." + ] + }, + { + "data": { + "text/html": [ + "\n", + " \n", + " " + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdin", + "output_type": "stream", + "text": [ + "User: @sqlsearch, what state on the west coast had more hospitalizations?\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "--\n", + "Starting tool: sql_db_list_tables with inputs: {}\n", + "--\n", + "\n", + "--\n", + "Done tool: sql_db_list_tables\n", + "--\n", + "\n", + "--\n", + "Starting tool: sql_db_schema with inputs: {'table_names': 'covidtracking'}\n", + "--\n", + "\n", + "--\n", + "Done tool: sql_db_schema\n", + "--\n", + "\n", + "--\n", + "Starting tool: sql_db_query_checker with inputs: {'query': \"SELECT state, SUM(hospitalizedCumulative) as total_hospitalizations FROM covidtracking WHERE state IN ('CA', 'OR', 'WA') GROUP BY state ORDER BY total_hospitalizations DESC LIMIT 1\"}\n", + "--\n", + "\n", + "--\n", + "Done tool: sql_db_query_checker\n", + "--\n", + "\n", + "--\n", + "Starting tool: sql_db_query with inputs: {'query': \"SELECT state, SUM(hospitalizedCumulative) as total_hospitalizations FROM covidtracking WHERE state IN ('CA', 'OR', 'WA') GROUP BY state ORDER BY total_hospitalizations DESC LIMIT 1\"}\n", + "--\n", + "\n", + "--\n", + "Done tool: sql_db_query\n", + "--\n", + "\n", + "--\n", + "Starting tool: sql_db_query_checker with inputs: {'query': \"SELECT TOP 1 state, SUM(hospitalizedCumulative) as total_hospitalizations FROM covidtracking WHERE state IN ('CA', 'OR', 'WA') GROUP BY state ORDER BY total_hospitalizations DESC\"}\n", + "--\n", + "\n", + "--\n", + "Done tool: sql_db_query_checker\n", + "--\n", + "\n", + "--\n", + "Starting tool: sql_db_query with inputs: {'query': \"SELECT TOP 1 state, SUM(hospitalizedCumulative) as total_hospitalizations FROM covidtracking WHERE state IN ('CA', 'OR', 'WA') GROUP BY state ORDER BY total_hospitalizations DESC\"}\n", + "--\n", + "\n", + "--\n", + "Done tool: sql_db_query\n", + "--\n", + "Final Answer: The state on the west coast with the most hospitalizations is Washington (WA), with a total of 2,798,796 hospitalizations.\n", + "\n", + "Explanation:\n", + "I queried the `covidtracking` table to sum the `hospitalizedCumulative` column for the west coast states: California (CA), Oregon (OR), and Washington (WA). The query grouped the results by state and ordered them in descending order to find the state with the highest total hospitalizations. The SQL query used is:\n", + "\n", + "```sql\n", + "SELECT TOP 1 state, SUM(hospitalizedCumulative) as total_hospitalizations \n", + "FROM covidtracking \n", + "WHERE state IN ('CA', 'OR', 'WA') \n", + "GROUP BY state \n", + "ORDER BY total_hospitalizations DESC\n", + "```\n", + "This query returned Washington (WA) as the state with the most hospitalizations." + ] + }, + { + "data": { + "text/html": [ + "\n", + " \n", + " " + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdin", + "output_type": "stream", + "text": [ + "User: q\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Goodbye!\n" + ] + } + ], "source": [ "# We can as well avoid the .setup() call of the cosmosDB by using the with statement as below\n", "async def run_async_agent():\n", diff --git a/13-Building-Apps.ipynb b/13-Building-Apps.ipynb index a8d3d1d1..6c644496 100644 --- a/13-Building-Apps.ipynb +++ b/13-Building-Apps.ipynb @@ -92,7 +92,7 @@ "All the functions and prompts used in the prior notebook to create our brain Agent are located in `utils.py` and `prompts.py` respectively.\n", "So, what needs to be done is, basically, to do the same we did in the prior notebook but within the Bot Framework Python SDK classes.\n", "\n", - "Within the `apps/backend/botservice/` folder, you will find three files: `config.py`, `app.py`, `graph.py` and `bot.py`.\n", + "Within the `apps/backend/botservice/app/` folder, you will find three files: `config.py`, `app.py`, `graph.py` and `bot.py`.\n", "- `config.py`: declares the PORT the API will listen from and declares variables used in app.py\n", "- `app.py`: is the entrance main point to the application.\n", "- `graph.py`: all agent creation and logic\n", @@ -104,7 +104,7 @@ "2) Zip the code and uploaded to the Azure Web App\n", "3) Test your Bot API using the Bot Service in the Azure portal\n", "\n", - "GO AHEAD NOW AND FOLLOW THE INSTRUCTIONS in `apps/backend/botservice/README.md`" + "GO AHEAD NOW AND FOLLOW THE INSTRUCTIONS in `apps/backend/botservice/README.md`\n" ] }, { diff --git a/apps/backend/botservice/README.md b/apps/backend/botservice/README.md index 8e42cc39..84aedb3d 100644 --- a/apps/backend/botservice/README.md +++ b/apps/backend/botservice/README.md @@ -13,7 +13,7 @@ Services and tools used: Below are the steps to run the Bot API as an Azure Wep App, connected with the Azure Bot Service that will expose the bot to multiple channels including: Web Chat, MS Teams, Twilio, SMS, Email, Slack, etc.. -1. In Azure Portal: In Azure Active Directory->App Registrations, Create an Multi-Tenant App Registration (Service Principal), create a Secret (and take note of the value) +1. In Azure Portal: In Azure Active Directory->App Registrations, Create an Single-Tenant App Registration (Service Principal), create a Secret (and take note of the value) 2. Deploy the Bot Web App and the Bot Service by clicking the Button below and type the App Registration ID and Secret Value that you got in Step 1 along with all the other ENV variables you used in the Notebooks diff --git a/apps/backend/botservice/azuredeploy-backend.bicep b/apps/backend/botservice/azuredeploy-backend.bicep index 00db64d7..9f7e7b6d 100644 --- a/apps/backend/botservice/azuredeploy-backend.bicep +++ b/apps/backend/botservice/azuredeploy-backend.bicep @@ -62,7 +62,7 @@ param SQLServerUsername string @secure() param SQLServerPassword string -@description('Required. The name of the Azure CosmosDB.') +@description('Required. The name of the Azure CosmosDB Account.') param cosmosDBAccountName string @description('Required. The name of the Azure CosmosDB container.') @@ -167,6 +167,14 @@ resource webApp 'Microsoft.Web/sites@2022-09-01' = { name: 'MicrosoftAppPassword' value: appPassword } + { + name: 'MicrosoftAppTenantId' + value: TenantId + } + { + name: 'MicrosoftAppType' + value: appType + } { name: 'BLOB_SAS_TOKEN' value: blobSASToken @@ -282,7 +290,7 @@ resource webAppConfig 'Microsoft.Web/sites/config@2022-09-01' = { phpVersion: '' pythonVersion: '' nodeVersion: '' - linuxFxVersion: 'PYTHON|3.10' + linuxFxVersion: 'PYTHON|3.12' requestTracingEnabled: false remoteDebuggingEnabled: false remoteDebuggingVersion: 'VS2022' diff --git a/apps/backend/botservice/azuredeploy-backend.json b/apps/backend/botservice/azuredeploy-backend.json index d1ac80fd..60089f6f 100644 --- a/apps/backend/botservice/azuredeploy-backend.json +++ b/apps/backend/botservice/azuredeploy-backend.json @@ -141,7 +141,7 @@ "cosmosDBAccountName": { "type": "string", "metadata": { - "description": "Required. The name of the Azure CosmosDB." + "description": "Required. The name of the Azure CosmosDB Account." } }, "cosmosDBContainerName": { @@ -257,6 +257,14 @@ "name": "MicrosoftAppPassword", "value": "[parameters('appPassword')]" }, + { + "name": "MicrosoftAppTenantId", + "value": "[parameters('TenantId')]" + }, + { + "name": "MicrosoftAppType", + "value": "[parameters('appType')]" + }, { "name": "BLOB_SAS_TOKEN", "value": "[parameters('blobSASToken')]" @@ -375,7 +383,7 @@ "phpVersion": "", "pythonVersion": "", "nodeVersion": "", - "linuxFxVersion": "PYTHON|3.10", + "linuxFxVersion": "PYTHON|3.12", "requestTracingEnabled": false, "remoteDebuggingEnabled": false, "remoteDebuggingVersion": "VS2022", diff --git a/apps/backend/botservice/backend.zip b/apps/backend/botservice/backend.zip index e72596f9b2a87cdfe9e9f6b8e32f0be8afa89d35..45341bb22ae93a31095900c9042271dfd44822e0 100644 GIT binary patch delta 23414 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 delta 17494 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 A+W-In diff --git a/apps/frontend/azuredeploy-frontend.json b/apps/frontend/azuredeploy-frontend.json index d3fcb9f2..f8d1c29e 100644 --- a/apps/frontend/azuredeploy-frontend.json +++ b/apps/frontend/azuredeploy-frontend.json @@ -200,8 +200,12 @@ "value": "[parameters('azureOpenAIAPIKey')]" }, { - "name": "AZURE_OPENAI_MODEL_NAME", - "value": "[parameters('azureOpenAIModelName')]" + "name": "GPT4o_DEPLOYMENT_NAME", + "value": "[parameters('gpt4oDeploymentName')]" + }, + { + "name": "GPT4oMINI_DEPLOYMENT_NAME", + "value": "[parameters('gpt4oMiniDeploymentName')]" }, { "name": "AZURE_OPENAI_API_VERSION", diff --git a/credentials.env b/credentials.env index 5e0174d3..b87b12dc 100644 --- a/credentials.env +++ b/credentials.env @@ -29,8 +29,6 @@ AZURE_COSMOSDB_ENDPOINT="ENTER YOUR VALUE HERE" AZURE_COSMOSDB_NAME="ENTER YOUR VALUE HERE" AZURE_COSMOSDB_CONTAINER_NAME="ENTER YOUR VALUE HERE" AZURE_COMOSDB_CONNECTION_STRING="ENTER YOUR VALUE HERE" # Find this in the Keys section -BOT_ID="ENTER YOUR VALUE HERE" # This is the name of your bot service created in Notebook 12 -BOT_SERVICE_DIRECT_LINE_SECRET="ENTER YOUR VALUE HERE" # Find this in Azure Bot Service -> Channels -> Direct Line # Voice env variables SPEECH_ENGINE="openai" @@ -41,4 +39,10 @@ AZURE_SPEECH_KEY="ENTER YOUR VALUE HERE" AZURE_SPEECH_REGION="ENTER YOUR VALUE HERE" AZURE_SPEECH_VOICE_NAME="en-US-AriaNeural" +# After Notebook 12 +BOT_ID="ENTER YOUR VALUE HERE" # This is the name of your bot service created in Notebook 12 +BOT_SERVICE_DIRECT_LINE_SECRET="ENTER YOUR VALUE HERE" # Find this in Azure Bot Service -> Channels -> Direct Line + + +