Moorcheh is a lightning-fast semantic search engine and vector store. Instead of using simple distance metrics like L2 or Cosine, Moorcheh uses Maximally Informative Binarization (MIB) and Information-Theoretic Score (ITS) to retrieve accurate document chunks.The following tutorial will allow you to use Moorcheh and LangChain to upload and store text documents and vector embeddings as well as retrieve relevant chunks for all of your queries.
document_1 = Document( page_content="Brewed a fresh cup of Ethiopian coffee and paired it with a warm croissant.", metadata={"source": "blog"},)document_2 = Document( page_content="Tomorrow's weather will be sunny with light winds, reaching a high of 78°F.", metadata={"source": "news"},)document_3 = Document( page_content="Experimenting with LangChain for an AI-powered note-taking assistant!", metadata={"source": "tweet"},)document_4 = Document( page_content="Local bakery donates 500 loaves of bread to the community food bank.", metadata={"source": "news"},)document_5 = Document( page_content="That concert last night was absolutely unforgettable—what a performance!", metadata={"source": "tweet"},)document_6 = Document( page_content="Check out our latest article: 5 ways to boost productivity while working from home.", metadata={"source": "website"},)document_7 = Document( page_content="The ultimate guide to mastering homemade pizza dough.", metadata={"source": "website"},)document_8 = Document( page_content="LangGraph just made multi-agent workflows way easier—seriously impressive!", metadata={"source": "tweet"},)document_9 = Document( page_content="Oil prices rose 3% today after unexpected supply cuts from major exporters.", metadata={"source": "news"},)document_10 = Document( page_content="I really hope this post doesn't vanish into the digital void…", metadata={"source": "tweet"},)documents = [ document_1, document_2, document_3, document_4, document_5, document_6, document_7, document_8, document_9, document_10,]uuids = [str(uuid4()) for _ in range(len(documents))]store.add_documents(documents=documents, ids=uuids)
Once your namespace has been created and you have uploaded documents into it, you can ask queries about the documents directly through the vector store. Set the query and LLM you would like to answer your query. For more information on supported LLMs, please visit our GitHub page.
query = "Give me a brief summary of the provided documents"answer = store.generative_answer(query, ai_model = "anthropic.claude-sonnet-4-6")print(answer)