{"id":136186,"date":"2024-09-18T13:04:08","date_gmt":"2024-09-18T07:34:08","guid":{"rendered":"https:\/\/www.vskills.in\/certification\/tutorial\/?page_id=136186"},"modified":"2024-09-18T13:04:09","modified_gmt":"2024-09-18T07:34:09","slug":"retrieving-relevant-chunks-based-on-queries","status":"publish","type":"page","link":"https:\/\/www.vskills.in\/certification\/tutorial\/retrieving-relevant-chunks-based-on-queries\/","title":{"rendered":"Retrieving Relevant Chunks Based on Queries"},"content":{"rendered":"\n<p>Once you have a collection of documents stored in a Chroma database, you can effectively retrieve relevant chunks of text based on user queries. This process involves generating embeddings for both the query and the documents, performing similarity search, and extracting the most relevant chunks.<\/p>\n\n\n\n<p><strong>Prerequisites<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Chroma:<\/strong> Ensure you have Chroma installed on your system.<\/li>\n\n\n\n<li><strong>Embedding Model:<\/strong> Choose a suitable embedding model for generating embeddings.<\/li>\n\n\n\n<li><strong>Documents:<\/strong> Have a collection of documents stored in your Chroma database.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Query Processing<\/strong><\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Create a Query:<\/strong> Define the query text that you want to search for.<\/li>\n\n\n\n<li><strong>Generate Query Embedding:<\/strong> Use the same embedding model as used for the documents to generate an embedding for the query.<\/li>\n\n\n\n<li><strong>Perform Similarity Search:<\/strong> Query the Chroma collection using the query embedding to retrieve the most similar documents.<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Extracting Relevant Chunks<\/strong><\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Tokenize Documents:<\/strong> Break the retrieved documents into smaller chunks, such as sentences or paragraphs.<\/li>\n\n\n\n<li><strong>Generate Embeddings for Chunks:<\/strong> Generate embeddings for each chunk using the same embedding model.<\/li>\n\n\n\n<li><strong>Calculate Similarity:<\/strong> Calculate the similarity between the query embedding and the embeddings of each chunk.<\/li>\n\n\n\n<li><strong>Retrieve Relevant Chunks:<\/strong> Select the chunks with the highest similarity scores as the most relevant results.<\/li>\n<\/ol>\n\n\n\n<p><strong>Example<\/strong><\/p>\n\n\n\n<p>Python<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>import chromadb\nfrom sentence_transformers import SentenceTransformer\n\n# ... (code to create a Chroma collection and add documents)\n\nquery_text = \"What is the capital of France?\"\nquery_embedding = embedding_model.encode(&#91;query_text])\nresults = collection.query(\n    query_embeddings=query_embedding,\n    n_results=5\n)\n\nfor result in results&#91;\"matches\"]:\n    document = result&#91;\"document\"]\n    # Tokenize the document into chunks\n    chunks = document.split(\".\")\n    for chunk in chunks:\n        # Generate embedding for the chunk\n        chunk_embedding = embedding_model.encode(&#91;chunk])\n        # Calculate similarity\n        similarity = 1 - cosine(query_embedding&#91;0], chunk_embedding&#91;0])\n        if similarity &gt; 0.8:\n            print(chunk)\n<\/code><\/pre>\n\n\n\n<p>By following these steps, you can effectively retrieve relevant chunks of text from your Chroma database based on user queries. This technique can be used for tasks such as question answering, summarization, and information retrieval.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Once you have a collection of documents stored in a Chroma database, you can effectively retrieve relevant chunks of text based on user queries. This process involves generating embeddings for both the query and the documents, performing similarity search, and extracting the most relevant chunks. Prerequisites Query Processing Extracting Relevant Chunks Example Python By following&#8230;<\/p>\n","protected":false},"author":16,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-136186","page","type-page","status-publish","hentry"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Retrieving Relevant Chunks Based on Queries - Tutorial<\/title>\n<meta name=\"description\" content=\"Discover how to retrieve relevant chunks from a Chroma database based on queries, optimizing the search process to find information.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.vskills.in\/certification\/tutorial\/retrieving-relevant-chunks-based-on-queries\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Retrieving Relevant Chunks Based on Queries - Tutorial\" \/>\n<meta property=\"og:description\" content=\"Discover how to retrieve relevant chunks from a Chroma database based on queries, optimizing the search process to find information.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.vskills.in\/certification\/tutorial\/retrieving-relevant-chunks-based-on-queries\/\" \/>\n<meta property=\"og:site_name\" content=\"Tutorial\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/vskills.in\/\" \/>\n<meta property=\"article:modified_time\" content=\"2024-09-18T07:34:09+00:00\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.vskills.in\/certification\/tutorial\/retrieving-relevant-chunks-based-on-queries\/\",\"url\":\"https:\/\/www.vskills.in\/certification\/tutorial\/retrieving-relevant-chunks-based-on-queries\/\",\"name\":\"Retrieving Relevant Chunks Based on Queries - Tutorial\",\"isPartOf\":{\"@id\":\"https:\/\/www.vskills.in\/certification\/tutorial\/#website\"},\"datePublished\":\"2024-09-18T07:34:08+00:00\",\"dateModified\":\"2024-09-18T07:34:09+00:00\",\"description\":\"Discover how to retrieve relevant chunks from a Chroma database based on queries, optimizing the search process to find information.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.vskills.in\/certification\/tutorial\/retrieving-relevant-chunks-based-on-queries\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.vskills.in\/certification\/tutorial\/retrieving-relevant-chunks-based-on-queries\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.vskills.in\/certification\/tutorial\/retrieving-relevant-chunks-based-on-queries\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.vskills.in\/certification\/tutorial\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Retrieving Relevant Chunks Based on Queries\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.vskills.in\/certification\/tutorial\/#website\",\"url\":\"https:\/\/www.vskills.in\/certification\/tutorial\/\",\"name\":\"Tutorial\",\"description\":\"Vskills - A initiative in elearning and certification\",\"publisher\":{\"@id\":\"https:\/\/www.vskills.in\/certification\/tutorial\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.vskills.in\/certification\/tutorial\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.vskills.in\/certification\/tutorial\/#organization\",\"name\":\"Vskills\",\"url\":\"https:\/\/www.vskills.in\/certification\/tutorial\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.vskills.in\/certification\/tutorial\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.vskills.in\/certification\/tutorial\/wp-content\/uploads\/2017\/07\/vskills-min-logo.jpg\",\"contentUrl\":\"https:\/\/www.vskills.in\/certification\/tutorial\/wp-content\/uploads\/2017\/07\/vskills-min-logo.jpg\",\"width\":73,\"height\":55,\"caption\":\"Vskills\"},\"image\":{\"@id\":\"https:\/\/www.vskills.in\/certification\/tutorial\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/vskills.in\/\",\"https:\/\/x.com\/vskills_in\",\"https:\/\/www.linkedin.com\/company-beta\/1371554\/\",\"https:\/\/www.youtube.com\/channel\/UCMWnscxPwRF_PqXo9B7q_Tw\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Retrieving Relevant Chunks Based on Queries - Tutorial","description":"Discover how to retrieve relevant chunks from a Chroma database based on queries, optimizing the search process to find information.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.vskills.in\/certification\/tutorial\/retrieving-relevant-chunks-based-on-queries\/","og_locale":"en_US","og_type":"article","og_title":"Retrieving Relevant Chunks Based on Queries - Tutorial","og_description":"Discover how to retrieve relevant chunks from a Chroma database based on queries, optimizing the search process to find information.","og_url":"https:\/\/www.vskills.in\/certification\/tutorial\/retrieving-relevant-chunks-based-on-queries\/","og_site_name":"Tutorial","article_publisher":"https:\/\/www.facebook.com\/vskills.in\/","article_modified_time":"2024-09-18T07:34:09+00:00","twitter_misc":{"Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.vskills.in\/certification\/tutorial\/retrieving-relevant-chunks-based-on-queries\/","url":"https:\/\/www.vskills.in\/certification\/tutorial\/retrieving-relevant-chunks-based-on-queries\/","name":"Retrieving Relevant Chunks Based on Queries - Tutorial","isPartOf":{"@id":"https:\/\/www.vskills.in\/certification\/tutorial\/#website"},"datePublished":"2024-09-18T07:34:08+00:00","dateModified":"2024-09-18T07:34:09+00:00","description":"Discover how to retrieve relevant chunks from a Chroma database based on queries, optimizing the search process to find information.","breadcrumb":{"@id":"https:\/\/www.vskills.in\/certification\/tutorial\/retrieving-relevant-chunks-based-on-queries\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.vskills.in\/certification\/tutorial\/retrieving-relevant-chunks-based-on-queries\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.vskills.in\/certification\/tutorial\/retrieving-relevant-chunks-based-on-queries\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.vskills.in\/certification\/tutorial\/"},{"@type":"ListItem","position":2,"name":"Retrieving Relevant Chunks Based on Queries"}]},{"@type":"WebSite","@id":"https:\/\/www.vskills.in\/certification\/tutorial\/#website","url":"https:\/\/www.vskills.in\/certification\/tutorial\/","name":"Tutorial","description":"Vskills - A initiative in elearning and certification","publisher":{"@id":"https:\/\/www.vskills.in\/certification\/tutorial\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.vskills.in\/certification\/tutorial\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.vskills.in\/certification\/tutorial\/#organization","name":"Vskills","url":"https:\/\/www.vskills.in\/certification\/tutorial\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.vskills.in\/certification\/tutorial\/#\/schema\/logo\/image\/","url":"https:\/\/www.vskills.in\/certification\/tutorial\/wp-content\/uploads\/2017\/07\/vskills-min-logo.jpg","contentUrl":"https:\/\/www.vskills.in\/certification\/tutorial\/wp-content\/uploads\/2017\/07\/vskills-min-logo.jpg","width":73,"height":55,"caption":"Vskills"},"image":{"@id":"https:\/\/www.vskills.in\/certification\/tutorial\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/vskills.in\/","https:\/\/x.com\/vskills_in","https:\/\/www.linkedin.com\/company-beta\/1371554\/","https:\/\/www.youtube.com\/channel\/UCMWnscxPwRF_PqXo9B7q_Tw"]}]}},"_links":{"self":[{"href":"https:\/\/www.vskills.in\/certification\/tutorial\/wp-json\/wp\/v2\/pages\/136186","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.vskills.in\/certification\/tutorial\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.vskills.in\/certification\/tutorial\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.vskills.in\/certification\/tutorial\/wp-json\/wp\/v2\/users\/16"}],"replies":[{"embeddable":true,"href":"https:\/\/www.vskills.in\/certification\/tutorial\/wp-json\/wp\/v2\/comments?post=136186"}],"version-history":[{"count":1,"href":"https:\/\/www.vskills.in\/certification\/tutorial\/wp-json\/wp\/v2\/pages\/136186\/revisions"}],"predecessor-version":[{"id":136191,"href":"https:\/\/www.vskills.in\/certification\/tutorial\/wp-json\/wp\/v2\/pages\/136186\/revisions\/136191"}],"wp:attachment":[{"href":"https:\/\/www.vskills.in\/certification\/tutorial\/wp-json\/wp\/v2\/media?parent=136186"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.vskills.in\/certification\/tutorial\/wp-json\/wp\/v2\/categories?post=136186"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.vskills.in\/certification\/tutorial\/wp-json\/wp\/v2\/tags?post=136186"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}