405 lines
13 KiB
HTML
Raw Normal View History

<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Query Engine 🔎</title>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bulma@0.9.4/css/bulma.min.css">
<link href="https://unpkg.com/prismjs@1.20.0/themes/prism-okaidia.css" rel="stylesheet">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/Primer/19.1.1/tooltips.min.css" crossorigin="anonymous" referrerpolicy="no-referrer" />
<style>
html {
padding: 0;
margin: 0;
}
body{
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
padding: 0;
margin: 0;
}
footer{
width: 100%;
height: 32px;
font-size: 12px;
display: flex;
flex-direction: row;
justify-content: center;
gap: 18px;
align-items: center;
color: #5d5d5d;
background: #e9eaeb;
border-top: 1px solid #c4c5c6;
}
#cookiesManager{
cursor: pointer;
color: #485fc7;
}
.page-content {
display: flex;
flex-direction: row;
margin: 0;
padding: 0;
overflow: scroll;
padding: 0;
margin: 0;
}
header {
background-color: lightgrey;
height: 2%;
padding: 10px;
}
nav {
padding: 1em;
min-width: 200px;
}
main {
flex: 1;
padding: 0 5em 0 5em;
}
.logotitle {
font-size: 1.5em;
font-weight: bold;
margin: 5px;
}
.number {
all: unset;
}
.tag.token {
all: unset;
}
main ul {
list-style-type: disc;
padding-left: 30px;
margin-top: 10px;
}
h1 {
font-size: 2rem;
margin-top: 10px;
}
h2 {
font-size: 1.5rem;
margin-top: 10px;
font-weight: 500;
}
h3 {
font-size: 1rem;
margin-top: 10px;
font-weight: 500;
}
p {
margin-top: 10px;
}
</style>
<script type="module" async>import mermaid from "https://unpkg.com/mermaid@10/dist/mermaid.esm.min.mjs";document.addEventListener('DOMContentLoaded', mermaid.initialize({"loadOnSave":true}));</script>
<script>function showTooltip(o,e){o.trigger.className.includes("tooltipped")||(o.trigger.children[0].className="tooltipped tooltipped-s",o.trigger.children[0].ariaLabel=e)}window.addEventListener("load",()=>{var o=new ClipboardJS(".code-copy");o.on("success",o=>showTooltip(o,"Copied!")),o.on("error",o=>showTooltip(o,"Failed..."))});</script>
<script async src="https://cdn.jsdelivr.net/npm/clipboard@2.0.11/dist/clipboard.min.js"></script>
<script src="https://wcpstatic.microsoft.com/mscc/lib/v2/wcp-consent.js" type="text/javascript"></script>
<script>
function onConsentChanged(categoryPreferences) {
console.log("onConsentChanged", categoryPreferences);
}
var siteConsent
function initialize(){
var currentYear = new Date().getFullYear()
document.getElementById("copyright").innerHTML = `©️ ${currentYear} Microsoft`;
window.WcpConsent && WcpConsent.init("en-US", "cookie-banner", function (err, _siteConsent) {
if (!err) {
siteConsent = _siteConsent; //siteConsent is used to get the current consent
} else {
console.log("Error initializing WcpConsent: "+ err);
}
}, onConsentChanged, WcpConsent.themes.light);
}
addEventListener("DOMContentLoaded", initialize)
function manageConsent() {
if(siteConsent.isConsentRequired){
siteConsent.manageConsent();
}
}
</script>
</head>
<body>
<header>
<div id="cookie-banner"></div>
<a href="/"><span class="logotitle">GraphRAG</span></a>
</header>
<div class="page-content">
<!-- Sidebar -->
<aside class="menu">
<ul class="menu-list">
<li>
<a href="/">Welcome</a>
</li>
<!-- Get Started Links -->
<li>
<a href="/_posts/get_started/">Get Started</a>
<a href="/_posts/developing/">Developing</a>
</li>
<!-- Indexing Links -->
<li>
<a href="/_posts/_index/overview/">Indexing</a>
<ul><li>
<a href="/_posts/_index/0-architecture/">Architecture</a>
</li><li>
<a href="/_posts/_index/1-default_dataflow/">Dataflow</a>
</li><li>
<a href="/_posts/_index/2-cli/">CLI</a>
</li><li>
<a href="/_posts/_index/_workflows/overview/">Workflows</a>
<ul hidden ><li>
<a href="/_posts/_indexing/_workflows/create_base_document_graph/">create_base_document_graph</a>
</li><li>
<a href="/_posts/_indexing/_workflows/create_base_document_nodes/">create_base_document_nodes</a>
</li><li>
<a href="/_posts/_indexing/_workflows/create_base_documents/">create_base_documents</a>
</li><li>
<a href="/_posts/_indexing/_workflows/create_base_entity_graph/">create_base_entity_graph</a>
</li><li>
<a href="/_posts/_indexing/_workflows/create_base_entity_nodes/">create_base_entity_nodes</a>
</li><li>
<a href="/_posts/_indexing/_workflows/create_base_extracted_entities/">create_base_extracted_entities</a>
</li><li>
<a href="/_posts/_indexing/_workflows/create_base_text_units/">create_base_text_units</a>
</li><li>
<a href="/_posts/_indexing/_workflows/create_final_communities/">create_final_communities</a>
</li><li>
<a href="/_posts/_indexing/_workflows/create_final_community_reports/">create_final_community_reports</a>
</li><li>
<a href="/_posts/_indexing/_workflows/create_final_covariates/">create_final_covariates</a>
</li><li>
<a href="/_posts/_indexing/_workflows/create_final_documents/">create_final_documents</a>
</li><li>
<a href="/_posts/_indexing/_workflows/create_final_entities/">create_final_entities</a>
</li><li>
<a href="/_posts/_indexing/_workflows/create_final_nodes/">create_final_nodes</a>
</li><li>
<a href="/_posts/_indexing/_workflows/create_final_relationships/">create_final_relationships</a>
</li><li>
<a href="/_posts/_indexing/_workflows/create_final_text_units/">create_final_text_units</a>
</li><li>
<a href="/_posts/_indexing/_workflows/create_summarized_entities/">create_summarized_entities</a>
</li><li>
<a href="/_posts/_index/_workflows/create_base_documents/">create_base_documents</a>
</li><li>
<a href="/_posts/_index/_workflows/create_final_communities/">create_final_communities</a>
</li><li>
<a href="/_posts/_index/_workflows/create_final_community_reports/">create_final_community_reports</a>
</li><li>
<a href="/_posts/_index/_workflows/create_final_relationships/">create_final_relationships</a>
</li><li>
<a href="/_posts/_index/_workflows/create_summarized_entities/">create_summarized_entities</a>
</li><li>
<a href="/_posts/_index/_workflows/create_base_entity_graph/">create_base_entity_graph</a>
</li><li>
<a href="/_posts/_index/_workflows/create_base_extracted_entities/">create_base_extracted_entities</a>
</li><li>
<a href="/_posts/_index/_workflows/create_base_text_units/">create_base_text_units</a>
</li><li>
<a href="/_posts/_index/_workflows/create_final_covariates/">create_final_covariates</a>
</li><li>
<a href="/_posts/_index/_workflows/create_final_documents/">create_final_documents</a>
</li><li>
<a href="/_posts/_index/_workflows/create_final_entities/">create_final_entities</a>
</li><li>
<a href="/_posts/_index/_workflows/create_final_nodes/">create_final_nodes</a>
</li><li>
<a href="/_posts/_index/_workflows/create_final_text_units/">create_final_text_units</a>
</li></ul>
</li>
<li>
<a href="/_posts/_index/_verbs/overview/">Verbs</a>
<ul hidden ><li>
<a href="/_posts/_indexing/_verbs/aggregate/">aggregate</a>
</li><li>
<a href="/_posts/_indexing/_verbs/chunk/">chunk</a>
</li><li>
<a href="/_posts/_indexing/_verbs/cluster_graph/">cluster_graph</a>
</li><li>
<a href="/_posts/_indexing/_verbs/concat/">concat</a>
</li><li>
<a href="/_posts/_indexing/_verbs/create_graph/">create_graph</a>
</li><li>
<a href="/_posts/_indexing/_verbs/genid/">genid</a>
</li><li>
<a href="/_posts/_indexing/_verbs/layout_graph/">layout_graph</a>
</li><li>
<a href="/_posts/_indexing/_verbs/merge/">merge</a>
</li><li>
<a href="/_posts/_indexing/_verbs/merge_graphs/">merge_graphs</a>
</li><li>
<a href="/_posts/_indexing/_verbs/noop/">noop</a>
</li><li>
<a href="/_posts/_indexing/_verbs/spread_json/">spread_json</a>
</li><li>
<a href="/_posts/_indexing/_verbs/text_replace/">text_replace</a>
</li><li>
<a href="/_posts/_indexing/_verbs/text_split/">text_split</a>
</li><li>
<a href="/_posts/_indexing/_verbs/unpack_graph/">unpack_graph</a>
</li><li>
<a href="/_posts/_indexing/_verbs/unzip/">unzip</a>
</li><li>
<a href="/_posts/_indexing/_verbs/zip/">zip</a>
</li><li>
<a href="/_posts/_index/_verbs/genid/">genid</a>
</li><li>
<a href="/_posts/_index/_verbs/spread_json/">spread_json</a>
</li><li>
<a href="/_posts/_index/_verbs/unzip/">unzip</a>
</li><li>
<a href="/_posts/_index/_verbs/zip/">zip</a>
</li><li>
<a href="/_posts/_index/_verbs/aggregate/">aggregate</a>
</li><li>
<a href="/_posts/_index/_verbs/concat/">concat</a>
</li><li>
<a href="/_posts/_index/_verbs/merge/">merge</a>
</li><li>
<a href="/_posts/_index/_verbs/text_replace/">text_replace</a>
</li><li>
<a href="/_posts/_index/_verbs/text_split/">text_split</a>
</li><li>
<a href="/_posts/_index/_verbs/chunk/">chunk</a>
</li><li>
<a href="/_posts/_index/_verbs/create_graph/">create_graph</a>
</li><li>
<a href="/_posts/_index/_verbs/unpack_graph/">unpack_graph</a>
</li><li>
<a href="/_posts/_index/_verbs/layout_graph/">layout_graph</a>
</li><li>
<a href="/_posts/_index/_verbs/merge_graphs/">merge_graphs</a>
</li><li>
<a href="/_posts/_index/_verbs/cluster_graph/">cluster_graph</a>
</li></ul>
</li>
<li>
<a href="/_posts/_config/overview/">Configuration</a>
<ul>
<li>
<a href="/_posts/_config/env_vars">Using Env Vars</a>
</li>
<li>
<a href="/_posts/_config/json_yaml">Using JSON or YAML</a>
</li>
<li>
<a href="/_posts/_config/custom">Fully Custom</a>
</li>
</ul>
</li>
</ul>
</li>
<!-- Query Links -->
<li>
<a href="/_posts/_query/overview/" class="is-active" aria-current="page">Query</a>
<ul><li>
<a href="/_posts/_query/0-global_search/">Global Search</a>
</li><li>
<a href="/_posts/_query/1-local_search/">Local Search</a>
</li><li>
<a href="/_posts/_query/2-question_generation/">Question Generation</a>
</li><li>
<a href="/_posts/_query/3-cli/">CLI</a>
</li><li>
<a href="/_posts/_query/notebooks/overview/">Notebooks</a>
<ul>
<li>
<a href="/_posts/_query/notebooks/global_search_nb">Global Search</a>
</li>
<li>
<a href="/_posts/_query/notebooks/local_search_nb">Local Search</a>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</aside>
<!-- Main Content -->
<main>
<h1>Query Engine 🔎</h1>
<p>The Query Engine is the retrieval module of the Graph RAG Library. It is one of the two main components of the Graph RAG library, the other being the Indexing Pipeline (see <a href="../../_index/overview">Indexing Pipeline</a>).
It is responsible for the following tasks:</p>
<ul>
<li><a href="#local-search">Local Search</a></li>
<li><a href="#global-search">Global Search</a></li>
<li><a href="#question-generation">Question Generation</a></li>
</ul>
<h2>Local Search</h2>
<p>Local search method generates answers by combining relevant data from the AI-extracted knowledge-graph with text chunks of the raw documents. This method is suitable for questions that require an understanding of specific entities mentioned in the documents (e.g. What are the healing properties of chamomile?).</p>
<p>For more details about how Local Search works please refer to the <a href="../1-local_search">Local Search</a> documentation.</p>
<h2>Global Search</h2>
<p>Global search method generates answers by searching over all AI-generated community reports in a map-reduce fashion. This is a resource-intensive method, but often gives good responses for questions that require an understanding of the dataset as a whole (e.g. What are the most significant values of the herbs mentioned in this notebook?).</p>
<p>More about this can be checked at the <a href="../0-global_search">Global Search</a> documentation.</p>
<h2>Question Generation</h2>
<p>This functionality takes a list of user queries and generates the next candidate questions. This is useful for generating follow-up questions in a conversation or for generating a list of questions for the investigator to dive deeper into the dataset.</p>
<p>Information about how question generation works can be found at the <a href="../2-question_generation">Question Generation</a> documentation page.</p>
</main>
</div>
<footer>
<a href="https://go.microsoft.com/fwlink/?LinkId=521839">Privacy</a>
|
<a href="https://go.microsoft.com/fwlink/?LinkId=2259814">Consumer Health Privacy</a>
|
<span id="cookiesManager" onClick="manageConsent();">Cookies</span>
|
<a href="https://go.microsoft.com/fwlink/?LinkID=206977">Terms of Use</a>
|
<a href="https://www.microsoft.com/trademarks">Trademarks</a>
|
<a href="https://www.microsoft.com" id="copyright"></a>
|
<a href="https://github.com/microsoft/graphrag">GitHub</a>
</footer>
</body>
</html>