mirror of
https://github.com/hwchase17/langchain
synced 2024-11-10 01:10:59 +00:00
404d92ded0
New features: - New langchain_milvus package in partner - Milvus collection hybrid search retriever - Zilliz cloud pipeline retriever - Milvus Local guid - Rag-milvus template --------- Signed-off-by: ChengZi <chen.zhang@zilliz.com> Signed-off-by: Jael Gu <mengjia.gu@zilliz.com> Co-authored-by: Jael Gu <mengjia.gu@zilliz.com> Co-authored-by: Jackson <jacksonxie612@gmail.com> Co-authored-by: Erick Friis <erick@langchain.dev> Co-authored-by: Erick Friis <erickfriis@gmail.com>
41 lines
1.4 KiB
Python
41 lines
1.4 KiB
Python
from typing import List
|
|
|
|
from langchain_core.documents import Document
|
|
from langchain_core.embeddings import Embeddings
|
|
|
|
fake_texts = ["foo", "bar", "baz"]
|
|
|
|
|
|
class FakeEmbeddings(Embeddings):
|
|
"""Fake embeddings functionality for testing."""
|
|
|
|
def embed_documents(self, texts: List[str]) -> List[List[float]]:
|
|
"""Return simple embeddings.
|
|
Embeddings encode each text as its index."""
|
|
return [[float(1.0)] * 9 + [float(i)] for i in range(len(texts))]
|
|
|
|
async def aembed_documents(self, texts: List[str]) -> List[List[float]]:
|
|
return self.embed_documents(texts)
|
|
|
|
def embed_query(self, text: str) -> List[float]:
|
|
"""Return constant query embeddings.
|
|
Embeddings are identical to embed_documents(texts)[0].
|
|
Distance to each text will be that text's index,
|
|
as it was passed to embed_documents."""
|
|
return [float(1.0)] * 9 + [float(0.0)]
|
|
|
|
async def aembed_query(self, text: str) -> List[float]:
|
|
return self.embed_query(text)
|
|
|
|
|
|
def assert_docs_equal_without_pk(
|
|
docs1: List[Document], docs2: List[Document], pk_field: str = "pk"
|
|
) -> None:
|
|
"""Assert two lists of Documents are equal, ignoring the primary key field."""
|
|
assert len(docs1) == len(docs2)
|
|
for doc1, doc2 in zip(docs1, docs2):
|
|
assert doc1.page_content == doc2.page_content
|
|
doc1.metadata.pop(pk_field, None)
|
|
doc2.metadata.pop(pk_field, None)
|
|
assert doc1.metadata == doc2.metadata
|