Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
90 changes: 74 additions & 16 deletions lab-agent-vector-store.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@
},
{
"cell_type": "code",
"execution_count": null,
"execution_count": 4,
"id": "12df91e0-7322-43c2-96cd-0159d017a1e1",
"metadata": {
"tags": []
Expand All @@ -46,18 +46,55 @@
},
{
"cell_type": "code",
"execution_count": 2,
"execution_count": 1,
"id": "19192a67",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"1.3.13\n"
]
}
],
"source": [
"import langchain\n",
"print(langchain.__version__)"
]
},
{
"cell_type": "code",
"execution_count": 3,
"id": "371e79ec",
"metadata": {},
"outputs": [],
"source": [
"from langchain_core.prompts import ChatPromptTemplate\n",
"from langchain_core.runnables import RunnablePassthrough\n",
"from langchain_core.output_parsers import StrOutputParser\n",
"from langchain_openai import ChatOpenAI"
]
},
{
"cell_type": "code",
"execution_count": 4,
"id": "2868cff1-a3ef-426f-b8d7-7fe89047a5b7",
"metadata": {
"tags": []
},
"outputs": [],
"source": [
"from langchain.chains import RetrievalQA\n",
"from langchain_community.vectorstores import Chroma\n",
"from langchain_openai import OpenAI, OpenAIEmbeddings\n",
"from langchain_text_splitters import CharacterTextSplitter\n",
"from langchain_community.document_loaders import TextLoader"
"# The following are lod version and instead I used the above cell\n",
"# from langchain.chains import RetrievalQA \n",
"\n",
"# from langchain.chains import create_retrieval_chain\n",
"# from langchain.chains.combine_documents import create_stuff_documents_chain\n",
"\n",
"# from langchain_community.vectorstores import Chroma\n",
"# from langchain_openai import OpenAI, OpenAIEmbeddings\n",
"# from langchain_text_splitters import CharacterTextSplitter\n",
"# from langchain_community.document_loaders import TextLoader"
]
},
{
Expand All @@ -70,10 +107,11 @@
"outputs": [],
"source": [
"import os\n",
"from dotenv import load_dotenv, find_dotenv\n",
"_ = load_dotenv(find_dotenv())\n",
"from langchain_community.llms import OpenAI # give your pth for the OpenAI key file at below\n",
"with open(r'D:\\edu_laptop\\Ironhack_AI_&_DataScience\\OpenAI_key.txt', 'r') as file:\n",
" OPENAI_API_KEY = file.read().strip()\n",
"\n",
"OPENAI_API_KEY = os.getenv('OPENAI_API_KEY')"
"os.environ['OPENAI_API_KEY'] = OPENAI_API_KEY"
]
},
{
Expand All @@ -89,7 +127,7 @@
},
{
"cell_type": "code",
"execution_count": 9,
"execution_count": 38,
"id": "14331eec-fd46-42e0-b6e7-adaf21824ef7",
"metadata": {
"tags": []
Expand All @@ -101,7 +139,7 @@
},
{
"cell_type": "code",
"execution_count": 11,
"execution_count": 39,
"id": "0b7b772b",
"metadata": {
"tags": []
Expand All @@ -120,13 +158,33 @@
},
{
"cell_type": "code",
"execution_count": 21,
"execution_count": 43,
"id": "f2675861",
"metadata": {
"tags": []
},
"outputs": [],
"outputs": [
{
"ename": "RuntimeError",
"evalue": "Error loading d:\\edu_laptop\\Ironhack_AI_&_DataScience\\Months3-5\\week34\\Thursday\\lab-agent-vector-store\\state_of_the_union.txt",
"output_type": "error",
"traceback": [
"\u001b[31m---------------------------------------------------------------------------\u001b[39m",
"\u001b[31mUnicodeDecodeError\u001b[39m Traceback (most recent call last)",
"\u001b[36mFile \u001b[39m\u001b[32mc:\\Users\\ASUS\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\langchain_community\\document_loaders\\text.py:43\u001b[39m, in \u001b[36mTextLoader.lazy_load\u001b[39m\u001b[34m(self)\u001b[39m\n\u001b[32m 42\u001b[39m \u001b[38;5;28;01mwith\u001b[39;00m \u001b[38;5;28mopen\u001b[39m(\u001b[38;5;28mself\u001b[39m.file_path, encoding=\u001b[38;5;28mself\u001b[39m.encoding) \u001b[38;5;28;01mas\u001b[39;00m f:\n\u001b[32m---> \u001b[39m\u001b[32m43\u001b[39m text = \u001b[43mf\u001b[49m\u001b[43m.\u001b[49m\u001b[43mread\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n\u001b[32m 44\u001b[39m \u001b[38;5;28;01mexcept\u001b[39;00m \u001b[38;5;167;01mUnicodeDecodeError\u001b[39;00m \u001b[38;5;28;01mas\u001b[39;00m e:\n",
"\u001b[36mFile \u001b[39m\u001b[32mc:\\Users\\ASUS\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\encodings\\cp1252.py:23\u001b[39m, in \u001b[36mIncrementalDecoder.decode\u001b[39m\u001b[34m(self, input, final)\u001b[39m\n\u001b[32m 22\u001b[39m \u001b[38;5;28;01mdef\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[34mdecode\u001b[39m(\u001b[38;5;28mself\u001b[39m, \u001b[38;5;28minput\u001b[39m, final=\u001b[38;5;28;01mFalse\u001b[39;00m):\n\u001b[32m---> \u001b[39m\u001b[32m23\u001b[39m \u001b[38;5;28;01mreturn\u001b[39;00m codecs.charmap_decode(\u001b[38;5;28minput\u001b[39m,\u001b[38;5;28mself\u001b[39m.errors,decoding_table)[\u001b[32m0\u001b[39m]\n",
"\u001b[31mUnicodeDecodeError\u001b[39m: 'charmap' codec can't decode byte 0x9d in position 1225: character maps to <undefined>",
"\nThe above exception was the direct cause of the following exception:\n",
"\u001b[31mRuntimeError\u001b[39m Traceback (most recent call last)",
"\u001b[36mCell\u001b[39m\u001b[36m \u001b[39m\u001b[32mIn[43]\u001b[39m\u001b[32m, line 3\u001b[39m\n\u001b[32m 1\u001b[39m \u001b[38;5;28;01mfrom\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[34;01mlangchain_community\u001b[39;00m\u001b[34;01m.\u001b[39;00m\u001b[34;01mdocument_loaders\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[38;5;28;01mimport\u001b[39;00m TextLoader\n\u001b[32m 2\u001b[39m loader = TextLoader(doc_path)\n\u001b[32m----> \u001b[39m\u001b[32m3\u001b[39m documents = \u001b[43mloader\u001b[49m\u001b[43m.\u001b[49m\u001b[43mload\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n\u001b[32m 4\u001b[39m text_splitter = CharacterTextSplitter(chunk_size=\u001b[32m1000\u001b[39m, chunk_overlap=\u001b[32m0\u001b[39m)\n\u001b[32m 5\u001b[39m texts = text_splitter.split_documents(documents)\n",
"\u001b[36mFile \u001b[39m\u001b[32mc:\\Users\\ASUS\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\langchain_core\\document_loaders\\base.py:43\u001b[39m, in \u001b[36mBaseLoader.load\u001b[39m\u001b[34m(self)\u001b[39m\n\u001b[32m 37\u001b[39m \u001b[38;5;28;01mdef\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[34mload\u001b[39m(\u001b[38;5;28mself\u001b[39m) -> \u001b[38;5;28mlist\u001b[39m[Document]:\n\u001b[32m 38\u001b[39m \u001b[38;5;250m \u001b[39m\u001b[33;03m\"\"\"Load data into `Document` objects.\u001b[39;00m\n\u001b[32m 39\u001b[39m \n\u001b[32m 40\u001b[39m \u001b[33;03m Returns:\u001b[39;00m\n\u001b[32m 41\u001b[39m \u001b[33;03m The documents.\u001b[39;00m\n\u001b[32m 42\u001b[39m \u001b[33;03m \"\"\"\u001b[39;00m\n\u001b[32m---> \u001b[39m\u001b[32m43\u001b[39m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mlist\u001b[39;49m\u001b[43m(\u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[43m.\u001b[49m\u001b[43mlazy_load\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\u001b[43m)\u001b[49m\n",
"\u001b[36mFile \u001b[39m\u001b[32mc:\\Users\\ASUS\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\langchain_community\\document_loaders\\text.py:56\u001b[39m, in \u001b[36mTextLoader.lazy_load\u001b[39m\u001b[34m(self)\u001b[39m\n\u001b[32m 54\u001b[39m \u001b[38;5;28;01mcontinue\u001b[39;00m\n\u001b[32m 55\u001b[39m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[32m---> \u001b[39m\u001b[32m56\u001b[39m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mRuntimeError\u001b[39;00m(\u001b[33mf\u001b[39m\u001b[33m\"\u001b[39m\u001b[33mError loading \u001b[39m\u001b[38;5;132;01m{\u001b[39;00m\u001b[38;5;28mself\u001b[39m.file_path\u001b[38;5;132;01m}\u001b[39;00m\u001b[33m\"\u001b[39m) \u001b[38;5;28;01mfrom\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[34;01me\u001b[39;00m\n\u001b[32m 57\u001b[39m \u001b[38;5;28;01mexcept\u001b[39;00m \u001b[38;5;167;01mException\u001b[39;00m \u001b[38;5;28;01mas\u001b[39;00m e:\n\u001b[32m 58\u001b[39m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mRuntimeError\u001b[39;00m(\u001b[33mf\u001b[39m\u001b[33m\"\u001b[39m\u001b[33mError loading \u001b[39m\u001b[38;5;132;01m{\u001b[39;00m\u001b[38;5;28mself\u001b[39m.file_path\u001b[38;5;132;01m}\u001b[39;00m\u001b[33m\"\u001b[39m) \u001b[38;5;28;01mfrom\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[34;01me\u001b[39;00m\n",
"\u001b[31mRuntimeError\u001b[39m: Error loading d:\\edu_laptop\\Ironhack_AI_&_DataScience\\Months3-5\\week34\\Thursday\\lab-agent-vector-store\\state_of_the_union.txt"
]
}
],
"source": [
"from langchain_community.document_loaders import TextLoader\n",
"loader = TextLoader(doc_path)\n",
"documents = loader.load()\n",
"text_splitter = CharacterTextSplitter(chunk_size=1000, chunk_overlap=0)\n",
Expand Down Expand Up @@ -602,7 +660,7 @@
],
"metadata": {
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
Expand All @@ -616,7 +674,7 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.11.8"
"version": "3.11.9"
}
},
"nbformat": 4,
Expand Down