fix integration tests (#10952)

This commit is contained in:
Bagatur
2023-09-22 12:04:38 -07:00
committed by GitHub
parent 6f781902ae
commit 1b65779905
2 changed files with 32 additions and 16 deletions

View File

@@ -1,7 +1,6 @@
from typing import Optional
import pytest
from qdrant_client import models
from langchain.schema import Document
from langchain.vectorstores import Qdrant
@@ -21,6 +20,8 @@ def test_qdrant_max_marginal_relevance_search(
vector_name: Optional[str],
) -> None:
"""Test end to end construction and MRR search."""
from qdrant_client import models
filter = models.Filter(
must=[
models.FieldCondition(

View File

@@ -0,0 +1,112 @@
# flake8: noqa
from langchain.docstore.document import Document
from langchain.vectorstores.vearch import Vearch
from tests.integration_tests.vectorstores.fake_embeddings import FakeEmbeddings
def test_vearch() -> None:
"""
Test end to end create vearch ,store vector into it and search
"""
texts = [
"Vearch 是一款存储大语言模型数据的向量数据库用于存储和快速搜索模型embedding后的向量可用于基于个人知识库的大模型应用",
"Vearch 支持OpenAI, Llama, ChatGLM等模型以及LangChain库",
"vearch 是基于C语言,go语言开发的并提供python接口可以直接通过pip安装",
]
metadatas = [
{
"source": (
"/data/zhx/zhx/langchain-ChatGLM_new/knowledge_base/santi/three_body.txt"
)
},
{
"source": (
"/data/zhx/zhx/langchain-ChatGLM_new/knowledge_base/santi/three_body.txt"
)
},
{
"source": (
"/data/zhx/zhx/langchain-ChatGLM_new/knowledge_base/santi/three_body.txt"
)
},
]
vearch_db = Vearch.from_texts(
texts=texts,
embedding=FakeEmbeddings(),
metadatas=metadatas,
table_name="test_vearch",
metadata_path="./",
)
result = vearch_db.similarity_search(
"Vearch 支持OpenAI, Llama, ChatGLM等模型以及LangChain库", 1
)
assert result == [
Document(
page_content="Vearch 支持OpenAI, Llama, ChatGLM等模型以及LangChain库",
metadata={
"source": (
"/data/zhx/zhx/langchain-ChatGLM_new/knowledge_base/santi/"
"three_body.txt"
)
},
)
]
def test_vearch_add_texts() -> None:
"""Test end to end adding of texts."""
texts = [
("Vearch 是一款存储大语言模型数据的向量数据库用于存储和快速搜索模型embedding后的向量" "可用于基于个人知识库的大模型应用"),
"Vearch 支持OpenAI, Llama, ChatGLM等模型以及LangChain库",
"vearch 是基于C语言,go语言开发的并提供python接口可以直接通过pip安装",
]
metadatas = [
{
"source": "/data/zhx/zhx/langchain-ChatGLM_new/knowledge_base/santi/"
"three_body.txt"
},
{
"source": "/data/zhx/zhx/langchain-ChatGLM_new/knowledge_base/santi/"
"three_body.txt"
},
{
"source": "/data/zhx/zhx/langchain-ChatGLM_new/knowledge_base/santi/"
"three_body.txt"
},
]
vearch_db = Vearch.from_texts(
texts=texts,
embedding=FakeEmbeddings(),
metadatas=metadatas,
table_name="test_vearch",
metadata_path="./",
)
vearch_db.add_texts(
texts=["Vearch 支持OpenAI, Llama, ChatGLM等模型以及LangChain库"],
metadatas=[
{
"source": "/data/zhx/zhx/langchain-ChatGLM_new/knowledge_base/santi/three_body.txt"
},
],
)
result = vearch_db.similarity_search(
"Vearch 支持OpenAI, Llama, ChatGLM等模型以及LangChain库", 2
)
assert result == [
Document(
page_content="Vearch 支持OpenAI, Llama, ChatGLM等模型以及LangChain库",
metadata={
"source": "/data/zhx/zhx/langchain-ChatGLM_new/knowledge_base/santi/three_body.txt"
},
),
Document(
page_content="Vearch 支持OpenAI, Llama, ChatGLM等模型以及LangChain库",
metadata={
"source": "/data/zhx/zhx/langchain-ChatGLM_new/knowledge_base/santi/three_body.txt"
},
),
]