Skip to Content

Basic Usage

This guide covers adding documents to your Endee vector store and performing similarity searches with LangChain.

Creating Sample Documents

Create texts with metadata for indexing:

# Sample texts texts = [ "Python is a high-level, interpreted programming language known for its readability and simplicity.", "JavaScript is a scripting language that enables interactive web pages and is an essential part of web applications.", "Machine learning is a subset of artificial intelligence that provides systems the ability to automatically learn and improve from experience.", "Deep learning is part of a broader family of machine learning methods based on artificial neural networks with representation learning.", "Vector databases are specialized database systems designed to store and query high-dimensional vectors for similarity search.", "Endee is the world's fastest vector database that provides faster vector search capabilities." ] # Add metadata metadatas = [ {"category": "programming", "language": "python", "difficulty": "beginner", "doc_id": "doc1"}, {"category": "programming", "language": "javascript", "difficulty": "intermediate", "doc_id": "doc2"}, {"category": "ai", "field": "machine_learning", "difficulty": "advanced", "doc_id": "doc3"}, {"category": "ai", "field": "deep_learning", "difficulty": "advanced", "doc_id": "doc4"}, {"category": "database", "type": "vector", "difficulty": "intermediate", "doc_id": "doc5"}, {"category": "database", "type": "vector", "product": "endee", "difficulty": "intermediate", "doc_id": "doc6"} ] print(f"Created {len(texts)} sample documents")

Adding Documents to the Vector Store

Add your documents to Endee:

# Add texts to the vector store ids = vector_store.add_texts(texts=texts, metadatas=metadatas) print(f"Added {len(ids)} documents with the following IDs:") for i, doc_id in enumerate(ids): print(f"Document {i+1}: {doc_id}")

Perform a semantic similarity search:

# Perform a basic similarity search query = "What is Python?" results = vector_store.similarity_search(query, k=2) print(f"Query: '{query}'") print(f"\nFound {len(results)} similar documents:") for i, doc in enumerate(results): print(f"\nResult {i+1}:") print(f"Content: {doc.page_content}") print(f"Metadata: {doc.metadata}")

Similarity Search with Scores

Get similarity scores along with results:

# Search with scores query = "Tell me about vector databases" results_with_scores = vector_store.similarity_search_with_score(query, k=2) print(f"Query: '{query}'") print(f"\nFound {len(results_with_scores)} similar documents:") for i, (doc, score) in enumerate(results_with_scores): print(f"\nResult {i+1}:") print(f"Content: {doc.page_content}") print(f"Metadata: {doc.metadata}") print(f"Similarity Score: {score:.4f}")

Creating a Retriever

Create a LangChain retriever from your vector store:

# Create a retriever from the vector store retriever = vector_store.as_retriever(search_kwargs={"k": 2}) # Use the retriever retrieved_docs = retriever.invoke("What is machine learning?") print(f"Retrieved {len(retrieved_docs)} documents:") for i, doc in enumerate(retrieved_docs): print(f"\nDocument {i+1}:") print(f"Content: {doc.page_content}") print(f"Metadata: {doc.metadata}")

Search Methods Reference

MethodDescription
similarity_search(query, k)Basic similarity search returning documents
similarity_search_with_score(query, k)Search with similarity scores
as_retriever(search_kwargs)Create a LangChain retriever
add_texts(texts, metadatas)Add documents to the vector store

Next Steps