TairAlibaba Cloud에서 개발한 클라우드 네이티브 인메모리 데이터베이스 서비스입니다. 오픈소스 Redis와 완벽한 호환성을 유지하면서 실시간 온라인 시나리오를 지원하는 풍부한 데이터 모델과 엔터프라이즈급 기능을 제공합니다. Tair는 또한 새로운 비휘발성 메모리(NVM) 저장 매체를 기반으로 하는 영구 메모리 최적화 인스턴스를 도입했습니다.
이 노트북은 Tair vector database와 관련된 기능을 사용하는 방법을 보여줍니다. 이 integration을 사용하려면 pip install -qU langchain-communitylangchain-community를 설치해야 합니다 실행하려면 Tair 인스턴스가 실행 중이어야 합니다.
from langchain_community.embeddings.fake import FakeEmbeddings
from langchain_community.vectorstores import Tair
from langchain_text_splitters import CharacterTextSplitter
from langchain_community.document_loaders import TextLoader

loader = TextLoader("../../how_to/state_of_the_union.txt")
documents = loader.load()
text_splitter = CharacterTextSplitter(chunk_size=1000, chunk_overlap=0)
docs = text_splitter.split_documents(documents)

embeddings = FakeEmbeddings(size=128)
TAIR_URL environment variable을 사용하여 Tair에 연결합니다
export TAIR_URL="redis://{username}:{password}@{tair_address}:{tair_port}"
또는 keyword argument tair_url을 사용할 수 있습니다. 그런 다음 문서와 embedding을 Tair에 저장합니다.
tair_url = "redis://localhost:6379"

# drop first if index already exists
Tair.drop_index(tair_url=tair_url)

vector_store = Tair.from_documents(docs, embeddings, tair_url=tair_url)
유사한 문서를 쿼리합니다.
query = "What did the president say about Ketanji Brown Jackson"
docs = vector_store.similarity_search(query)
docs[0]
Tair Hybrid Search Index 구축
# drop first if index already exists
Tair.drop_index(tair_url=tair_url)

vector_store = Tair.from_documents(
    docs, embeddings, tair_url=tair_url, index_params={"lexical_algorithm": "bm25"}
)
Tair Hybrid Search
query = "What did the president say about Ketanji Brown Jackson"
# hybrid_ratio: 0.5 hybrid search, 0.9999 vector search, 0.0001 text search
kwargs = {"TEXT": query, "hybrid_ratio": 0.5}
docs = vector_store.similarity_search(query, **kwargs)
docs[0]

Connect these docs programmatically to Claude, VSCode, and more via MCP for real-time answers.
I