mirror of
				https://github.com/hwchase17/langchain.git
				synced 2025-10-30 23:29:54 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			178 lines
		
	
	
		
			5.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			178 lines
		
	
	
		
			5.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| {
 | ||
|  "cells": [
 | ||
|   {
 | ||
|    "cell_type": "markdown",
 | ||
|    "id": "7ef4d402-6662-4a26-b612-35b542066487",
 | ||
|    "metadata": {
 | ||
|     "pycharm": {
 | ||
|      "name": "#%% md\n"
 | ||
|     }
 | ||
|    },
 | ||
|    "source": [
 | ||
|     "#  Embeddings & VectorStores\n",
 | ||
|     "\n",
 | ||
|     "This notebook show cases how to use embeddings to create a VectorStore"
 | ||
|    ]
 | ||
|   },
 | ||
|   {
 | ||
|    "cell_type": "code",
 | ||
|    "execution_count": 1,
 | ||
|    "id": "965eecee",
 | ||
|    "metadata": {
 | ||
|     "pycharm": {
 | ||
|      "name": "#%%\n"
 | ||
|     }
 | ||
|    },
 | ||
|    "outputs": [],
 | ||
|    "source": [
 | ||
|     "from langchain.embeddings.openai import OpenAIEmbeddings\n",
 | ||
|     "from langchain.text_splitter import CharacterTextSplitter\n",
 | ||
|     "from langchain.vectorstores.elastic_vector_search import ElasticVectorSearch\n",
 | ||
|     "from langchain.vectorstores.faiss import FAISS"
 | ||
|    ]
 | ||
|   },
 | ||
|   {
 | ||
|    "cell_type": "code",
 | ||
|    "execution_count": 2,
 | ||
|    "id": "68481687",
 | ||
|    "metadata": {
 | ||
|     "pycharm": {
 | ||
|      "name": "#%%\n"
 | ||
|     }
 | ||
|    },
 | ||
|    "outputs": [],
 | ||
|    "source": [
 | ||
|     "with open('../state_of_the_union.txt') as f:\n",
 | ||
|     "    state_of_the_union = f.read()\n",
 | ||
|     "text_splitter = CharacterTextSplitter(chunk_size=1000, chunk_overlap=0)\n",
 | ||
|     "texts = text_splitter.split_text(state_of_the_union)\n",
 | ||
|     "\n",
 | ||
|     "embeddings = OpenAIEmbeddings()"
 | ||
|    ]
 | ||
|   },
 | ||
|   {
 | ||
|    "cell_type": "code",
 | ||
|    "execution_count": 3,
 | ||
|    "id": "015f4ff5",
 | ||
|    "metadata": {
 | ||
|     "pycharm": {
 | ||
|      "name": "#%%\n"
 | ||
|     }
 | ||
|    },
 | ||
|    "outputs": [],
 | ||
|    "source": [
 | ||
|     "docsearch = FAISS.from_texts(texts, embeddings)\n",
 | ||
|     "\n",
 | ||
|     "query = \"What did the president say about Ketanji Brown Jackson\"\n",
 | ||
|     "docs = docsearch.similarity_search(query)"
 | ||
|    ]
 | ||
|   },
 | ||
|   {
 | ||
|    "cell_type": "code",
 | ||
|    "execution_count": 4,
 | ||
|    "id": "67baf32e",
 | ||
|    "metadata": {
 | ||
|     "pycharm": {
 | ||
|      "name": "#%%\n"
 | ||
|     }
 | ||
|    },
 | ||
|    "outputs": [
 | ||
|     {
 | ||
|      "name": "stdout",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "Tonight, I’d like to honor someone who has dedicated his life to serve this country: Justice Stephen Breyer—an Army veteran, Constitutional scholar, and retiring Justice of the United States Supreme Court. Justice Breyer, thank you for your service. \n",
 | ||
|       "\n",
 | ||
|       "One of the most serious constitutional responsibilities a President has is nominating someone to serve on the United States Supreme Court. \n",
 | ||
|       "\n",
 | ||
|       "And I did that 4 days ago, when I nominated Circuit Court of Appeals Judge Ketanji Brown Jackson. One of our nation’s top legal minds, who will continue Justice Breyer’s legacy of excellence. \n",
 | ||
|       "\n",
 | ||
|       "A former top litigator in private practice. A former federal public defender. And from a family of public school educators and police officers. A consensus builder. Since she’s been nominated, she’s received a broad range of support—from the Fraternal Order of Police to former judges appointed by Democrats and Republicans. \n",
 | ||
|       "\n",
 | ||
|       "And if we are to advance liberty and justice, we need to secure the Border and fix the immigration system. \n"
 | ||
|      ]
 | ||
|     }
 | ||
|    ],
 | ||
|    "source": [
 | ||
|     "print(docs[0].page_content)"
 | ||
|    ]
 | ||
|   },
 | ||
|   {
 | ||
|    "cell_type": "markdown",
 | ||
|    "id": "eea6e627",
 | ||
|    "metadata": {},
 | ||
|    "source": [
 | ||
|     "## Requires having ElasticSearch setup"
 | ||
|    ]
 | ||
|   },
 | ||
|   {
 | ||
|    "cell_type": "code",
 | ||
|    "execution_count": 6,
 | ||
|    "id": "4906b8a3",
 | ||
|    "metadata": {
 | ||
|     "pycharm": {
 | ||
|      "name": "#%%\n"
 | ||
|     }
 | ||
|    },
 | ||
|    "outputs": [],
 | ||
|    "source": [
 | ||
|     "docsearch = ElasticVectorSearch.from_texts(texts, embeddings, elasticsearch_url=\"http://localhost:9200\")\n",
 | ||
|     "\n",
 | ||
|     "query = \"What did the president say about Ketanji Brown Jackson\"\n",
 | ||
|     "docs = docsearch.similarity_search(query)"
 | ||
|    ]
 | ||
|   },
 | ||
|   {
 | ||
|    "cell_type": "code",
 | ||
|    "execution_count": 7,
 | ||
|    "id": "95f9eee9",
 | ||
|    "metadata": {
 | ||
|     "pycharm": {
 | ||
|      "name": "#%%\n"
 | ||
|     }
 | ||
|    },
 | ||
|    "outputs": [
 | ||
|     {
 | ||
|      "name": "stdout",
 | ||
|      "output_type": "stream",
 | ||
|      "text": [
 | ||
|       "Tonight, I’d like to honor someone who has dedicated his life to serve this country: Justice Stephen Breyer—an Army veteran, Constitutional scholar, and retiring Justice of the United States Supreme Court. Justice Breyer, thank you for your service. \n",
 | ||
|       "\n",
 | ||
|       "One of the most serious constitutional responsibilities a President has is nominating someone to serve on the United States Supreme Court. \n",
 | ||
|       "\n",
 | ||
|       "And I did that 4 days ago, when I nominated Circuit Court of Appeals Judge Ketanji Brown Jackson. One of our nation’s top legal minds, who will continue Justice Breyer’s legacy of excellence. \n",
 | ||
|       "\n",
 | ||
|       "A former top litigator in private practice. A former federal public defender. And from a family of public school educators and police officers. A consensus builder. Since she’s been nominated, she’s received a broad range of support—from the Fraternal Order of Police to former judges appointed by Democrats and Republicans. \n",
 | ||
|       "\n",
 | ||
|       "And if we are to advance liberty and justice, we need to secure the Border and fix the immigration system. \n"
 | ||
|      ]
 | ||
|     }
 | ||
|    ],
 | ||
|    "source": [
 | ||
|     "print(docs[0].page_content)"
 | ||
|    ]
 | ||
|   }
 | ||
|  ],
 | ||
|  "metadata": {
 | ||
|   "kernelspec": {
 | ||
|    "display_name": "Python 3 (ipykernel)",
 | ||
|    "language": "python",
 | ||
|    "name": "python3"
 | ||
|   },
 | ||
|   "language_info": {
 | ||
|    "codemirror_mode": {
 | ||
|     "name": "ipython",
 | ||
|     "version": 3
 | ||
|    },
 | ||
|    "file_extension": ".py",
 | ||
|    "mimetype": "text/x-python",
 | ||
|    "name": "python",
 | ||
|    "nbconvert_exporter": "python",
 | ||
|    "pygments_lexer": "ipython3",
 | ||
|    "version": "3.8.7"
 | ||
|   }
 | ||
|  },
 | ||
|  "nbformat": 4,
 | ||
|  "nbformat_minor": 5
 | ||
| }
 |