|
|
|
@ -1,5 +1,7 @@
|
|
|
|
|
# flake8: noqa
|
|
|
|
|
|
|
|
|
|
from langchain.docstore.document import Document
|
|
|
|
|
from langchain.vectorstores.vearch import VearchDb
|
|
|
|
|
from langchain.vectorstores.vearch import Vearch
|
|
|
|
|
from tests.integration_tests.vectorstores.fake_embeddings import FakeEmbeddings
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -14,16 +16,22 @@ def test_vearch() -> None:
|
|
|
|
|
]
|
|
|
|
|
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"
|
|
|
|
|
"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 = VearchDb.from_texts(
|
|
|
|
|
vearch_db = Vearch.from_texts(
|
|
|
|
|
texts=texts,
|
|
|
|
|
embedding=FakeEmbeddings(),
|
|
|
|
|
metadatas=metadatas,
|
|
|
|
@ -37,7 +45,10 @@ def test_vearch() -> None:
|
|
|
|
|
Document(
|
|
|
|
|
page_content="Vearch 支持OpenAI, Llama, ChatGLM等模型,以及LangChain库",
|
|
|
|
|
metadata={
|
|
|
|
|
"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"
|
|
|
|
|
)
|
|
|
|
|
},
|
|
|
|
|
)
|
|
|
|
|
]
|
|
|
|
@ -46,23 +57,26 @@ def test_vearch() -> None:
|
|
|
|
|
def test_vearch_add_texts() -> None:
|
|
|
|
|
"""Test end to end adding of texts."""
|
|
|
|
|
texts = [
|
|
|
|
|
"Vearch 是一款存储大语言模型数据的向量数据库,用于存储和快速搜索模型embedding后的向量,可用于基于个人知识库的大模型应用",
|
|
|
|
|
("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"
|
|
|
|
|
"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 = VearchDb.from_texts(
|
|
|
|
|
vearch_db = Vearch.from_texts(
|
|
|
|
|
texts=texts,
|
|
|
|
|
embedding=FakeEmbeddings(),
|
|
|
|
|
metadatas=metadatas,
|
|
|
|
@ -72,9 +86,11 @@ def test_vearch_add_texts() -> None:
|
|
|
|
|
|
|
|
|
|
vearch_db.add_texts(
|
|
|
|
|
texts=["Vearch 支持OpenAI, Llama, ChatGLM等模型,以及LangChain库"],
|
|
|
|
|
metadatas={
|
|
|
|
|
"source": "/data/zhx/zhx/langchain-ChatGLM_new/knowledge_base/santi/three_body.txt"
|
|
|
|
|
},
|
|
|
|
|
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
|
|
|
|
@ -94,4 +110,3 @@ def test_vearch_add_texts() -> None:
|
|
|
|
|
},
|
|
|
|
|
),
|
|
|
|
|
]
|
|
|
|
|
|