Fix/issue 1213 (#2932)

### Background

Continuing to implement all the interface methods defined by the
`VectorStore` class. This PR pertains to implementation of the
`max_marginal_relevance_search` method.

### Changes

- a `max_marginal_relevance_search` method implementation has been added
in `weaviate.py`
- tests have been added to the the new method
- vcr cassettes have been added for the weaviate tests

### Test Plan

Added tests for the `max_marginal_relevance_search` implementation

### Change Safety

- [x] I have added tests to cover my changes
This commit is contained in:
cs0lar 2023-04-16 21:11:30 +01:00 committed by GitHub
parent 4c02f4bc30
commit 8b9e02da9d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 1599 additions and 8 deletions

View File

@ -4,10 +4,13 @@ from __future__ import annotations
from typing import Any, Dict, Iterable, List, Optional, Type from typing import Any, Dict, Iterable, List, Optional, Type
from uuid import uuid4 from uuid import uuid4
import numpy as np
from langchain.docstore.document import Document from langchain.docstore.document import Document
from langchain.embeddings.base import Embeddings from langchain.embeddings.base import Embeddings
from langchain.utils import get_from_dict_or_env from langchain.utils import get_from_dict_or_env
from langchain.vectorstores.base import VectorStore from langchain.vectorstores.base import VectorStore
from langchain.vectorstores.utils import maximal_marginal_relevance
def _default_schema(index_name: str) -> Dict: def _default_schema(index_name: str) -> Dict:
@ -42,6 +45,7 @@ class Weaviate(VectorStore):
client: Any, client: Any,
index_name: str, index_name: str,
text_key: str, text_key: str,
embedding: Optional[Embeddings] = None,
attributes: Optional[List[str]] = None, attributes: Optional[List[str]] = None,
): ):
"""Initialize with Weaviate client.""" """Initialize with Weaviate client."""
@ -58,6 +62,7 @@ class Weaviate(VectorStore):
) )
self._client = client self._client = client
self._index_name = index_name self._index_name = index_name
self._embedding = embedding
self._text_key = text_key self._text_key = text_key
self._query_attrs = [self._text_key] self._query_attrs = [self._text_key]
if attributes is not None: if attributes is not None:
@ -129,6 +134,54 @@ class Weaviate(VectorStore):
docs.append(Document(page_content=text, metadata=res)) docs.append(Document(page_content=text, metadata=res))
return docs return docs
def max_marginal_relevance_search(
self, query: str, k: int = 4, fetch_k: int = 20, **kwargs: Any
) -> List[Document]:
"""Return docs selected using the maximal marginal relevance.
Maximal marginal relevance optimizes for similarity to query AND diversity
among selected documents.
Args:
query: Text to look up documents similar to.
k: Number of Documents to return. Defaults to 4.
fetch_k: Number of Documents to fetch to pass to MMR algorithm.
Returns:
List of Documents selected by maximal marginal relevance.
"""
lambda_mult = kwargs.get("lambda_mult", 0.5)
if self._embedding is not None:
embedding = self._embedding.embed_query(query)
else:
raise ValueError(
"max_marginal_relevance_search requires a suitable Embeddings object"
)
vector = {"vector": embedding}
query_obj = self._client.query.get(self._index_name, self._query_attrs)
results = (
query_obj.with_additional("vector")
.with_near_vector(vector)
.with_limit(fetch_k)
.do()
)
payload = results["data"]["Get"][self._index_name]
embeddings = [result["_additional"]["vector"] for result in payload]
mmr_selected = maximal_marginal_relevance(
np.array(embedding), embeddings, k=k, lambda_mult=lambda_mult
)
docs = []
for idx in mmr_selected:
text = payload[idx].pop(self._text_key)
payload[idx].pop("_additional")
meta = payload[idx]
docs.append(Document(page_content=text, metadata=meta))
return docs
@classmethod @classmethod
def from_texts( def from_texts(
cls: Type[Weaviate], cls: Type[Weaviate],
@ -201,10 +254,10 @@ class Weaviate(VectorStore):
"class_name": index_name, "class_name": index_name,
} }
if embeddings is not None: if embeddings is not None:
params["vector"] = (embeddings[i],) params["vector"] = embeddings[i]
batch.add_data_object(**params) batch.add_data_object(**params)
batch.flush() batch.flush()
return cls(client, index_name, text_key, attributes) return cls(client, index_name, text_key, embedding, attributes)

View File

@ -0,0 +1,729 @@
interactions:
- request:
body: '{"input": [[8134], [2308], [43673]], "encoding_format": "base64"}'
headers:
Accept:
- '*/*'
Accept-Encoding:
- gzip, deflate
Connection:
- keep-alive
Content-Length:
- '65'
Content-Type:
- application/json
User-Agent:
- User-Agent-DUMMY
X-OpenAI-Client-User-Agent:
- X-OpenAI-Client-User-Agent-DUMMY
authorization:
- authorization-DUMMY
method: POST
uri: https://api.openai.com/v1/engines/text-embedding-ada-002/embeddings
response:
body:
string: !!binary |
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
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 7b8693d43ffd48b7-LHR
Connection:
- keep-alive
Content-Encoding:
- gzip
Content-Type:
- application/json
Date:
- Sat, 15 Apr 2023 19:25:58 GMT
Server:
- cloudflare
Transfer-Encoding:
- chunked
access-control-allow-origin:
- '*'
alt-svc:
- h3=":443"; ma=86400, h3-29=":443"; ma=86400
openai-organization:
- user-iy0qn7phyookv8vra62ulvxe
openai-processing-ms:
- '264'
openai-version:
- '2020-10-01'
strict-transport-security:
- max-age=15724800; includeSubDomains
x-ratelimit-limit-requests:
- '60'
x-ratelimit-remaining-requests:
- '57'
x-ratelimit-reset-requests:
- 2.38s
x-request-id:
- 607b159345ccf7869258f064154e9a57
status:
code: 200
message: OK
- request:
body: '{"input": [[8134]], "encoding_format": "base64"}'
headers:
Accept:
- '*/*'
Accept-Encoding:
- gzip, deflate
Connection:
- keep-alive
Content-Length:
- '48'
Content-Type:
- application/json
User-Agent:
- User-Agent-DUMMY
X-OpenAI-Client-User-Agent:
- X-OpenAI-Client-User-Agent-DUMMY
authorization:
- authorization-DUMMY
method: POST
uri: https://api.openai.com/v1/engines/text-embedding-ada-002/embeddings
response:
body:
string: !!binary |
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
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 7b8693db192148b7-LHR
Connection:
- keep-alive
Content-Encoding:
- gzip
Content-Type:
- application/json
Date:
- Sat, 15 Apr 2023 19:25:59 GMT
Server:
- cloudflare
Transfer-Encoding:
- chunked
access-control-allow-origin:
- '*'
alt-svc:
- h3=":443"; ma=86400, h3-29=":443"; ma=86400
openai-organization:
- user-iy0qn7phyookv8vra62ulvxe
openai-processing-ms:
- '128'
openai-version:
- '2020-10-01'
strict-transport-security:
- max-age=15724800; includeSubDomains
x-ratelimit-limit-requests:
- '60'
x-ratelimit-remaining-requests:
- '56'
x-ratelimit-reset-requests:
- 3.292s
x-request-id:
- e7a292440e79bd667f0e689db47a9ab6
status:
code: 200
message: OK
- request:
body: '{"input": [[8134]], "encoding_format": "base64"}'
headers:
Accept:
- '*/*'
Accept-Encoding:
- gzip, deflate
Connection:
- keep-alive
Content-Length:
- '48'
Content-Type:
- application/json
User-Agent:
- User-Agent-DUMMY
X-OpenAI-Client-User-Agent:
- X-OpenAI-Client-User-Agent-DUMMY
authorization:
- authorization-DUMMY
method: POST
uri: https://api.openai.com/v1/engines/text-embedding-ada-002/embeddings
response:
body:
string: !!binary |
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
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 7b8693dd4bad48b7-LHR
Connection:
- keep-alive
Content-Encoding:
- gzip
Content-Type:
- application/json
Date:
- Sat, 15 Apr 2023 19:25:59 GMT
Server:
- cloudflare
Transfer-Encoding:
- chunked
access-control-allow-origin:
- '*'
alt-svc:
- h3=":443"; ma=86400, h3-29=":443"; ma=86400
openai-organization:
- user-iy0qn7phyookv8vra62ulvxe
openai-processing-ms:
- '21'
openai-version:
- '2020-10-01'
strict-transport-security:
- max-age=15724800; includeSubDomains
x-ratelimit-limit-requests:
- '60'
x-ratelimit-remaining-requests:
- '56'
x-ratelimit-reset-requests:
- 3.714s
x-request-id:
- a95cc78f0e0fc53eb245fdbe9d71936b
status:
code: 200
message: OK
version: 1

View File

@ -0,0 +1,384 @@
interactions:
- request:
body: '{"input": [[8134], [2308], [43673]], "encoding_format": "base64"}'
headers:
Accept:
- '*/*'
Accept-Encoding:
- gzip, deflate
Connection:
- keep-alive
Content-Length:
- '65'
Content-Type:
- application/json
User-Agent:
- User-Agent-DUMMY
X-OpenAI-Client-User-Agent:
- X-OpenAI-Client-User-Agent-DUMMY
authorization:
- authorization-DUMMY
method: POST
uri: https://api.openai.com/v1/engines/text-embedding-ada-002/embeddings
response:
body:
string: !!binary |
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
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 7b8693cc4cf823dc-LHR
Connection:
- keep-alive
Content-Encoding:
- gzip
Content-Type:
- application/json
Date:
- Sat, 15 Apr 2023 19:25:56 GMT
Server:
- cloudflare
Transfer-Encoding:
- chunked
access-control-allow-origin:
- '*'
alt-svc:
- h3=":443"; ma=86400, h3-29=":443"; ma=86400
openai-organization:
- user-iy0qn7phyookv8vra62ulvxe
openai-processing-ms:
- '298'
openai-version:
- '2020-10-01'
strict-transport-security:
- max-age=15724800; includeSubDomains
x-ratelimit-limit-requests:
- '60'
x-ratelimit-remaining-requests:
- '58'
x-ratelimit-reset-requests:
- 1.666s
x-request-id:
- 05aa395b3d571732ad5050891d1e0e1e
status:
code: 200
message: OK
version: 1

View File

@ -0,0 +1,385 @@
interactions:
- request:
body: '{"input": [[8134], [2308], [43673]], "encoding_format": "base64"}'
headers:
Accept:
- '*/*'
Accept-Encoding:
- gzip, deflate
Connection:
- keep-alive
Content-Length:
- '65'
Content-Type:
- application/json
User-Agent:
- User-Agent-DUMMY
X-OpenAI-Client-User-Agent:
- X-OpenAI-Client-User-Agent-DUMMY
authorization:
- authorization-DUMMY
method: POST
uri: https://api.openai.com/v1/engines/text-embedding-ada-002/embeddings
response:
body:
string: !!binary |
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
AwC5CQjfhWEAAA==
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 7b8693c3fe087743-LHR
Connection:
- keep-alive
Content-Encoding:
- gzip
Content-Type:
- application/json
Date:
- Sat, 15 Apr 2023 19:25:55 GMT
Server:
- cloudflare
Transfer-Encoding:
- chunked
access-control-allow-origin:
- '*'
alt-svc:
- h3=":443"; ma=86400, h3-29=":443"; ma=86400
openai-organization:
- user-iy0qn7phyookv8vra62ulvxe
openai-processing-ms:
- '110'
openai-version:
- '2020-10-01'
strict-transport-security:
- max-age=15724800; includeSubDomains
x-ratelimit-limit-requests:
- '60'
x-ratelimit-remaining-requests:
- '59'
x-ratelimit-reset-requests:
- 1s
x-request-id:
- da07a850f69de94f01587228396b9036
status:
code: 200
message: OK
version: 1

View File

@ -17,6 +17,7 @@ services:
QUERY_DEFAULTS_LIMIT: 25 QUERY_DEFAULTS_LIMIT: 25
AUTHENTICATION_ANONYMOUS_ACCESS_ENABLED: 'true' AUTHENTICATION_ANONYMOUS_ACCESS_ENABLED: 'true'
PERSISTENCE_DATA_PATH: '/var/lib/weaviate' PERSISTENCE_DATA_PATH: '/var/lib/weaviate'
DEFAULT_VECTORIZER_MODULE: 'none' DEFAULT_VECTORIZER_MODULE: 'text2vec-openai'
ENABLE_MODULES: '' ENABLE_MODULES: 'text2vec-openai'
OPENAI_APIKEY: '${OPENAI_API_KEY}'
CLUSTER_HOSTNAME: 'node1' CLUSTER_HOSTNAME: 'node1'

View File

@ -1,5 +1,6 @@
"""Test Weaviate functionality.""" """Test Weaviate functionality."""
import logging import logging
import os
from typing import Generator, Union from typing import Generator, Union
import pytest import pytest
@ -18,6 +19,11 @@ docker compose -f weaviate.yml up
class TestWeaviate: class TestWeaviate:
@classmethod
def setup_class(cls) -> None:
if not os.getenv("OPENAI_API_KEY"):
raise ValueError("OPENAI_API_KEY environment variable is not set")
@pytest.fixture(scope="class", autouse=True) @pytest.fixture(scope="class", autouse=True)
def weaviate_url(self) -> Union[str, Generator[str, None, None]]: def weaviate_url(self) -> Union[str, Generator[str, None, None]]:
"""Return the weaviate url.""" """Return the weaviate url."""
@ -28,24 +34,57 @@ class TestWeaviate:
client = Client(url) client = Client(url)
client.schema.delete_all() client.schema.delete_all()
def test_similarity_search_without_metadata(self, weaviate_url: str) -> None: @pytest.mark.vcr(ignore_localhost=True)
def test_similarity_search_without_metadata(
self, weaviate_url: str, embedding_openai: OpenAIEmbeddings
) -> None:
"""Test end to end construction and search without metadata.""" """Test end to end construction and search without metadata."""
texts = ["foo", "bar", "baz"] texts = ["foo", "bar", "baz"]
docsearch = Weaviate.from_texts( docsearch = Weaviate.from_texts(
texts, texts,
OpenAIEmbeddings(), embedding_openai,
weaviate_url=weaviate_url, weaviate_url=weaviate_url,
) )
output = docsearch.similarity_search("foo", k=1) output = docsearch.similarity_search("foo", k=1)
assert output == [Document(page_content="foo")] assert output == [Document(page_content="foo")]
def test_similarity_search_with_metadata(self, weaviate_url: str) -> None: @pytest.mark.vcr(ignore_localhost=True)
def test_similarity_search_with_metadata(
self, weaviate_url: str, embedding_openai: OpenAIEmbeddings
) -> None:
"""Test end to end construction and search with metadata.""" """Test end to end construction and search with metadata."""
texts = ["foo", "bar", "baz"] texts = ["foo", "bar", "baz"]
metadatas = [{"page": i} for i in range(len(texts))] metadatas = [{"page": i} for i in range(len(texts))]
docsearch = Weaviate.from_texts( docsearch = Weaviate.from_texts(
texts, OpenAIEmbeddings(), metadatas=metadatas, weaviate_url=weaviate_url texts, embedding_openai, metadatas=metadatas, weaviate_url=weaviate_url
) )
output = docsearch.similarity_search("foo", k=1) output = docsearch.similarity_search("foo", k=1)
assert output == [Document(page_content="foo", metadata={"page": 0})] assert output == [Document(page_content="foo", metadata={"page": 0})]
@pytest.mark.vcr(ignore_localhost=True)
def test_max_marginal_relevance_search(
self, weaviate_url: str, embedding_openai: OpenAIEmbeddings
) -> None:
"""Test end to end construction and MRR search."""
texts = ["foo", "bar", "baz"]
metadatas = [{"page": i} for i in range(len(texts))]
docsearch = Weaviate.from_texts(
texts, embedding_openai, metadatas=metadatas, weaviate_url=weaviate_url
)
# if lambda=1 the algorithm should be equivalent to standard ranking
standard_ranking = docsearch.similarity_search("foo", k=2)
output = docsearch.max_marginal_relevance_search(
"foo", k=2, fetch_k=3, lambda_mult=1.0
)
assert output == standard_ranking
# if lambda=0 the algorithm should favour maximal diversity
output = docsearch.max_marginal_relevance_search(
"foo", k=2, fetch_k=3, lambda_mult=0.0
)
assert output == [
Document(page_content="foo", metadata={"page": 0}),
Document(page_content="bar", metadata={"page": 1}),
]