From 8e6fa5f1d7f7ee21477e9c0a4b473dde2bf8cd41 Mon Sep 17 00:00:00 2001 From: Bagatur <22008038+baskaryan@users.noreply.github.com> Date: Thu, 12 Oct 2023 22:36:07 -0700 Subject: [PATCH] mv self-query docs to integrations (#11744) --- .../activeloop_deeplake_self_query.ipynb | 0 .../self_query/chroma_self_query.ipynb | 0 .../retrievers/self_query/dashvector.ipynb | 0 .../self_query/elasticsearch_self_query.ipynb | 0 .../retrievers/self_query/index.mdx | 11 +++++++ .../self_query/milvus_self_query.ipynb | 0 .../self_query/myscale_self_query.ipynb | 0 .../self_query/opensearch_self_query.ipynb | 0 .../retrievers/self_query/pinecone.ipynb | 0 .../self_query/qdrant_self_query.ipynb | 0 .../self_query/redis_self_query.ipynb | 0 .../self_query/supabase_self_query.ipynb | 0 .../timescalevector_self_query.ipynb | 0 .../self_query/vectara_self_query.ipynb | 0 .../self_query/weaviate_self_query.ipynb | 0 .../retrievers/self_query.mdx} | 33 ++++++++++++------- .../retrievers/self_query/index.mdx | 9 ----- docs/vercel.json | 8 +++-- 18 files changed, 39 insertions(+), 22 deletions(-) rename docs/docs/{modules/data_connection => integrations}/retrievers/self_query/activeloop_deeplake_self_query.ipynb (100%) rename docs/docs/{modules/data_connection => integrations}/retrievers/self_query/chroma_self_query.ipynb (100%) rename docs/docs/{modules/data_connection => integrations}/retrievers/self_query/dashvector.ipynb (100%) rename docs/docs/{modules/data_connection => integrations}/retrievers/self_query/elasticsearch_self_query.ipynb (100%) create mode 100644 docs/docs/integrations/retrievers/self_query/index.mdx rename docs/docs/{modules/data_connection => integrations}/retrievers/self_query/milvus_self_query.ipynb (100%) rename docs/docs/{modules/data_connection => integrations}/retrievers/self_query/myscale_self_query.ipynb (100%) rename docs/docs/{modules/data_connection => integrations}/retrievers/self_query/opensearch_self_query.ipynb (100%) rename docs/docs/{modules/data_connection => integrations}/retrievers/self_query/pinecone.ipynb (100%) rename docs/docs/{modules/data_connection => integrations}/retrievers/self_query/qdrant_self_query.ipynb (100%) rename docs/docs/{modules/data_connection => integrations}/retrievers/self_query/redis_self_query.ipynb (100%) rename docs/docs/{modules/data_connection => integrations}/retrievers/self_query/supabase_self_query.ipynb (100%) rename docs/docs/{modules/data_connection => integrations}/retrievers/self_query/timescalevector_self_query.ipynb (100%) rename docs/docs/{modules/data_connection => integrations}/retrievers/self_query/vectara_self_query.ipynb (100%) rename docs/docs/{modules/data_connection => integrations}/retrievers/self_query/weaviate_self_query.ipynb (100%) rename docs/{snippets/modules/data_connection/retrievers/self_query/get_started.mdx => docs/modules/data_connection/retrievers/self_query.mdx} (85%) delete mode 100644 docs/docs/modules/data_connection/retrievers/self_query/index.mdx diff --git a/docs/docs/modules/data_connection/retrievers/self_query/activeloop_deeplake_self_query.ipynb b/docs/docs/integrations/retrievers/self_query/activeloop_deeplake_self_query.ipynb similarity index 100% rename from docs/docs/modules/data_connection/retrievers/self_query/activeloop_deeplake_self_query.ipynb rename to docs/docs/integrations/retrievers/self_query/activeloop_deeplake_self_query.ipynb diff --git a/docs/docs/modules/data_connection/retrievers/self_query/chroma_self_query.ipynb b/docs/docs/integrations/retrievers/self_query/chroma_self_query.ipynb similarity index 100% rename from docs/docs/modules/data_connection/retrievers/self_query/chroma_self_query.ipynb rename to docs/docs/integrations/retrievers/self_query/chroma_self_query.ipynb diff --git a/docs/docs/modules/data_connection/retrievers/self_query/dashvector.ipynb b/docs/docs/integrations/retrievers/self_query/dashvector.ipynb similarity index 100% rename from docs/docs/modules/data_connection/retrievers/self_query/dashvector.ipynb rename to docs/docs/integrations/retrievers/self_query/dashvector.ipynb diff --git a/docs/docs/modules/data_connection/retrievers/self_query/elasticsearch_self_query.ipynb b/docs/docs/integrations/retrievers/self_query/elasticsearch_self_query.ipynb similarity index 100% rename from docs/docs/modules/data_connection/retrievers/self_query/elasticsearch_self_query.ipynb rename to docs/docs/integrations/retrievers/self_query/elasticsearch_self_query.ipynb diff --git a/docs/docs/integrations/retrievers/self_query/index.mdx b/docs/docs/integrations/retrievers/self_query/index.mdx new file mode 100644 index 0000000000..71899a6397 --- /dev/null +++ b/docs/docs/integrations/retrievers/self_query/index.mdx @@ -0,0 +1,11 @@ +--- +sidebar-position: 0 +--- + +# Self-querying retriever + +Learn about how the self-querying retriever works [here](/docs/modules/data_connection/retrievers/self_query). + +import DocCardList from "@theme/DocCardList"; + + diff --git a/docs/docs/modules/data_connection/retrievers/self_query/milvus_self_query.ipynb b/docs/docs/integrations/retrievers/self_query/milvus_self_query.ipynb similarity index 100% rename from docs/docs/modules/data_connection/retrievers/self_query/milvus_self_query.ipynb rename to docs/docs/integrations/retrievers/self_query/milvus_self_query.ipynb diff --git a/docs/docs/modules/data_connection/retrievers/self_query/myscale_self_query.ipynb b/docs/docs/integrations/retrievers/self_query/myscale_self_query.ipynb similarity index 100% rename from docs/docs/modules/data_connection/retrievers/self_query/myscale_self_query.ipynb rename to docs/docs/integrations/retrievers/self_query/myscale_self_query.ipynb diff --git a/docs/docs/modules/data_connection/retrievers/self_query/opensearch_self_query.ipynb b/docs/docs/integrations/retrievers/self_query/opensearch_self_query.ipynb similarity index 100% rename from docs/docs/modules/data_connection/retrievers/self_query/opensearch_self_query.ipynb rename to docs/docs/integrations/retrievers/self_query/opensearch_self_query.ipynb diff --git a/docs/docs/modules/data_connection/retrievers/self_query/pinecone.ipynb b/docs/docs/integrations/retrievers/self_query/pinecone.ipynb similarity index 100% rename from docs/docs/modules/data_connection/retrievers/self_query/pinecone.ipynb rename to docs/docs/integrations/retrievers/self_query/pinecone.ipynb diff --git a/docs/docs/modules/data_connection/retrievers/self_query/qdrant_self_query.ipynb b/docs/docs/integrations/retrievers/self_query/qdrant_self_query.ipynb similarity index 100% rename from docs/docs/modules/data_connection/retrievers/self_query/qdrant_self_query.ipynb rename to docs/docs/integrations/retrievers/self_query/qdrant_self_query.ipynb diff --git a/docs/docs/modules/data_connection/retrievers/self_query/redis_self_query.ipynb b/docs/docs/integrations/retrievers/self_query/redis_self_query.ipynb similarity index 100% rename from docs/docs/modules/data_connection/retrievers/self_query/redis_self_query.ipynb rename to docs/docs/integrations/retrievers/self_query/redis_self_query.ipynb diff --git a/docs/docs/modules/data_connection/retrievers/self_query/supabase_self_query.ipynb b/docs/docs/integrations/retrievers/self_query/supabase_self_query.ipynb similarity index 100% rename from docs/docs/modules/data_connection/retrievers/self_query/supabase_self_query.ipynb rename to docs/docs/integrations/retrievers/self_query/supabase_self_query.ipynb diff --git a/docs/docs/modules/data_connection/retrievers/self_query/timescalevector_self_query.ipynb b/docs/docs/integrations/retrievers/self_query/timescalevector_self_query.ipynb similarity index 100% rename from docs/docs/modules/data_connection/retrievers/self_query/timescalevector_self_query.ipynb rename to docs/docs/integrations/retrievers/self_query/timescalevector_self_query.ipynb diff --git a/docs/docs/modules/data_connection/retrievers/self_query/vectara_self_query.ipynb b/docs/docs/integrations/retrievers/self_query/vectara_self_query.ipynb similarity index 100% rename from docs/docs/modules/data_connection/retrievers/self_query/vectara_self_query.ipynb rename to docs/docs/integrations/retrievers/self_query/vectara_self_query.ipynb diff --git a/docs/docs/modules/data_connection/retrievers/self_query/weaviate_self_query.ipynb b/docs/docs/integrations/retrievers/self_query/weaviate_self_query.ipynb similarity index 100% rename from docs/docs/modules/data_connection/retrievers/self_query/weaviate_self_query.ipynb rename to docs/docs/integrations/retrievers/self_query/weaviate_self_query.ipynb diff --git a/docs/snippets/modules/data_connection/retrievers/self_query/get_started.mdx b/docs/docs/modules/data_connection/retrievers/self_query.mdx similarity index 85% rename from docs/snippets/modules/data_connection/retrievers/self_query/get_started.mdx rename to docs/docs/modules/data_connection/retrievers/self_query.mdx index 56bb752608..ac8c1a552f 100644 --- a/docs/snippets/modules/data_connection/retrievers/self_query/get_started.mdx +++ b/docs/docs/modules/data_connection/retrievers/self_query.mdx @@ -1,5 +1,15 @@ +# Self-querying + +:::info +Head to [Integrations](/docs/integrations/retrievers/self_query) for documentation on vector stores with built-in support for self-querying. +::: + +A self-querying retriever is one that, as the name suggests, has the ability to query itself. Specifically, given any natural language query, the retriever uses a query-constructing LLM chain to write a structured query and then applies that structured query to its underlying VectorStore. This allows the retriever to not only use the user-input query for semantic similarity comparison with the contents of stored documents but to also extract filters from the user query on the metadata of stored documents and to execute those filters. + +![](https://drive.google.com/uc?id=1OQUN-0MJcDUxmPXofgS7MqReEs720pqS) + ## Get started -We'll use a Pinecone vector store in this example. +For demonstration purposes we'll use a `Pinecone` vector store. First we'll want to create a `Pinecone` vector store and seed it with some data. We've created a small demo set of documents that contain summaries of movies. @@ -60,18 +70,18 @@ from langchain.chains.query_constructor.base import AttributeInfo metadata_field_info=[ AttributeInfo( name="genre", - description="The genre of the movie", - type="string or list[string]", + description="The genre of the movie", + type="string or list[string]", ), AttributeInfo( name="year", - description="The year the movie was released", - type="integer", + description="The year the movie was released", + type="integer", ), AttributeInfo( name="director", - description="The name of the movie director", - type="string", + description="The name of the movie director", + type="string", ), AttributeInfo( name="rating", @@ -185,10 +195,10 @@ We can do this by passing `enable_limit=True` to the constructor. ```python retriever = SelfQueryRetriever.from_llm( - llm, - vectorstore, - document_content_description, - metadata_field_info, + llm, + vectorstore, + document_content_description, + metadata_field_info, enable_limit=True, verbose=True ) @@ -199,3 +209,4 @@ retriever = SelfQueryRetriever.from_llm( # This example only specifies a relevant query retriever.get_relevant_documents("What are two movies about dinosaurs") ``` + diff --git a/docs/docs/modules/data_connection/retrievers/self_query/index.mdx b/docs/docs/modules/data_connection/retrievers/self_query/index.mdx deleted file mode 100644 index ee9c2b4eca..0000000000 --- a/docs/docs/modules/data_connection/retrievers/self_query/index.mdx +++ /dev/null @@ -1,9 +0,0 @@ -# Self-querying - -A self-querying retriever is one that, as the name suggests, has the ability to query itself. Specifically, given any natural language query, the retriever uses a query-constructing LLM chain to write a structured query and then applies that structured query to its underlying VectorStore. This allows the retriever to not only use the user-input query for semantic similarity comparison with the contents of stored documents but to also extract filters from the user query on the metadata of stored documents and to execute those filters. - -![](https://drive.google.com/uc?id=1OQUN-0MJcDUxmPXofgS7MqReEs720pqS) - -import Example from "@snippets/modules/data_connection/retrievers/self_query/get_started.mdx" - - diff --git a/docs/vercel.json b/docs/vercel.json index 2f642f8aa8..ef89026f55 100644 --- a/docs/vercel.json +++ b/docs/vercel.json @@ -1,8 +1,12 @@ { "redirects": [ { - "source": "/docs/use_cases/more/agents/autonomous_agents/:path*", - "destination": "/cookbook" + "source": "/docs/modules/data_connection/retrievers/self_query/:path*", + "destination": "/docs/integrations/retrievers/self_query/:path*" + }, + { + "source": "/docs/use_cases/more/agents/autonomous_agents/:path*", + "destination": "/cookbook" }, { "source": "/docs/use_cases/more/agents/agent_simulations/:path*",