mirror of
https://github.com/hwchase17/langchain.git
synced 2025-09-07 05:52:15 +00:00
community[patch]: update for compatibility with latest Meilisearch version (#18970)
- **Description:** Updates Meilisearch vectorstore for compatibility with v1.6 and above. Adds embedders settings and embedder_name which are now required. --------- Co-authored-by: Bagatur <baskaryan@gmail.com>
This commit is contained in:
@@ -130,7 +130,14 @@
|
||||
"from langchain_openai import OpenAIEmbeddings\n",
|
||||
"from langchain_text_splitters import CharacterTextSplitter\n",
|
||||
"\n",
|
||||
"embeddings = OpenAIEmbeddings()"
|
||||
"embeddings = OpenAIEmbeddings()\n",
|
||||
"embedders = {\n",
|
||||
" \"default\": {\n",
|
||||
" \"source\": \"userProvided\",\n",
|
||||
" \"dimensions\": 1536,\n",
|
||||
" }\n",
|
||||
"}\n",
|
||||
"embedder_name = \"default\""
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -152,7 +159,9 @@
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"# Use Meilisearch vector store to store texts & associated embeddings as vector\n",
|
||||
"vector_store = Meilisearch.from_texts(texts=texts, embedding=embeddings)"
|
||||
"vector_store = Meilisearch.from_texts(\n",
|
||||
" texts=texts, embedding=embeddings, embedders=embedders, embedder_name=embedder_name\n",
|
||||
")"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -188,11 +197,16 @@
|
||||
"docs = text_splitter.split_documents(documents)\n",
|
||||
"\n",
|
||||
"# Import documents & embeddings in the vector store\n",
|
||||
"vector_store = Meilisearch.from_documents(documents=documents, embedding=embeddings)\n",
|
||||
"vector_store = Meilisearch.from_documents(\n",
|
||||
" documents=documents,\n",
|
||||
" embedding=embeddings,\n",
|
||||
" embedders=embedders,\n",
|
||||
" embedder_name=embedder_name,\n",
|
||||
")\n",
|
||||
"\n",
|
||||
"# Search in our vector store\n",
|
||||
"query = \"What did the president say about Ketanji Brown Jackson\"\n",
|
||||
"docs = vector_store.similarity_search(query)\n",
|
||||
"docs = vector_store.similarity_search(query, embedder_name=embedder_name)\n",
|
||||
"print(docs[0].page_content)"
|
||||
]
|
||||
},
|
||||
@@ -221,7 +235,11 @@
|
||||
"\n",
|
||||
"client = meilisearch.Client(url=\"http://127.0.0.1:7700\", api_key=\"***\")\n",
|
||||
"vector_store = Meilisearch(\n",
|
||||
" embedding=embeddings, client=client, index_name=\"langchain_demo\", text_key=\"text\"\n",
|
||||
" embedding=embeddings,\n",
|
||||
" embedders=embedders,\n",
|
||||
" client=client,\n",
|
||||
" index_name=\"langchain_demo\",\n",
|
||||
" text_key=\"text\",\n",
|
||||
")\n",
|
||||
"vector_store.add_documents(documents)"
|
||||
]
|
||||
@@ -232,7 +250,7 @@
|
||||
"source": [
|
||||
"## Similarity Search with score\n",
|
||||
"\n",
|
||||
"This specific method allows you to return the documents and the distance score of the query to them."
|
||||
"This specific method allows you to return the documents and the distance score of the query to them. `embedder_name` is the name of the embedder that should be used for semantic search, defaults to \"default\"."
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -241,7 +259,9 @@
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"docs_and_scores = vector_store.similarity_search_with_score(query)\n",
|
||||
"docs_and_scores = vector_store.similarity_search_with_score(\n",
|
||||
" query, embedder_name=embedder_name\n",
|
||||
")\n",
|
||||
"docs_and_scores[0]"
|
||||
]
|
||||
},
|
||||
@@ -249,7 +269,8 @@
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"## Similarity Search by vector"
|
||||
"## Similarity Search by vector\n",
|
||||
"`embedder_name` is the name of the embedder that should be used for semantic search, defaults to \"default\"."
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -259,7 +280,9 @@
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"embedding_vector = embeddings.embed_query(query)\n",
|
||||
"docs_and_scores = vector_store.similarity_search_by_vector(embedding_vector)\n",
|
||||
"docs_and_scores = vector_store.similarity_search_by_vector(\n",
|
||||
" embedding_vector, embedder_name=embedder_name\n",
|
||||
")\n",
|
||||
"docs_and_scores[0]"
|
||||
]
|
||||
},
|
||||
|
Reference in New Issue
Block a user