Deploying to gh-pages from @ microsoft/graphrag@321d479ab6 🚀

This commit is contained in:
natoverse 2025-03-12 00:26:37 +00:00
parent 8c5fe2566f
commit 5190bef846
198 changed files with 1133 additions and 1131 deletions

View File

@ -1406,15 +1406,6 @@
<nav class="md-nav" aria-label="Prerequisite">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#load-configuration" class="md-nav__link">
<span class="md-ellipsis">
Load configuration
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#generate-a-object" class="md-nav__link">
<span class="md-ellipsis">
@ -1972,11 +1963,23 @@ span.linenos.special { color: #000000; background-color: #ffffc0; padding-left:
</div>
</clipboard-copy>
</div>
<div class="highlight-ipynb hl-python"><pre><span></span><span class="kn">import</span><span class="w"> </span><span class="nn">graphrag.api</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="nn">api</span>
<span class="kn">from</span><span class="w"> </span><span class="nn">graphrag.index.typing</span><span class="w"> </span><span class="kn">import</span> <span class="n">PipelineRunResult</span>
<div class="highlight-ipynb hl-python"><pre><span></span><span class="kn">from</span><span class="w"> </span><span class="nn">pathlib</span><span class="w"> </span><span class="kn">import</span> <span class="n">Path</span>
<span class="kn">from</span><span class="w"> </span><span class="nn">pprint</span><span class="w"> </span><span class="kn">import</span> <span class="n">pprint</span>
<span class="kn">import</span><span class="w"> </span><span class="nn">pandas</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="nn">pd</span>
<span class="kn">import</span><span class="w"> </span><span class="nn">graphrag.api</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="nn">api</span>
<span class="kn">from</span><span class="w"> </span><span class="nn">graphrag.config.load_config</span><span class="w"> </span><span class="kn">import</span> <span class="n">load_config</span>
<span class="kn">from</span><span class="w"> </span><span class="nn">graphrag.index.typing.pipeline_run_result</span><span class="w"> </span><span class="kn">import</span> <span class="n">PipelineRunResult</span>
</pre></div>
<div class="clipboard-copy-txt" id="cell-2">import graphrag.api as api
from graphrag.index.typing import PipelineRunResult</div>
<div class="clipboard-copy-txt" id="cell-2">from pathlib import Path
from pprint import pprint
import pandas as pd
import graphrag.api as api
from graphrag.config.load_config import load_config
from graphrag.index.typing.pipeline_run_result import PipelineRunResult</div>
</div>
</div>
</div>
@ -1992,37 +1995,11 @@ from graphrag.index.typing import PipelineRunResult</div>
</pre>
</div>
</div>
<div class="jp-OutputArea-child">
<div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="application/vnd.jupyter.stderr" tabindex="0">
<pre>
<span class="ansi-red-fg">---------------------------------------------------------------------------</span>
<span class="ansi-red-fg">ImportError</span> Traceback (most recent call last)
Cell <span class="ansi-green-fg">In[2], line 2</span>
<span class="ansi-green-intense-fg ansi-bold"> 1</span> <span class="ansi-bold" style="color: rgb(0,135,0)">import</span><span style="color: rgb(188,188,188)"> </span><span class="ansi-bold" style="color: rgb(0,0,255)">graphrag</span><span class="ansi-bold" style="color: rgb(0,0,255)">.</span><span class="ansi-bold" style="color: rgb(0,0,255)">api</span><span style="color: rgb(188,188,188)"> </span><span class="ansi-bold" style="color: rgb(0,135,0)">as</span><span style="color: rgb(188,188,188)"> </span><span class="ansi-bold" style="color: rgb(0,0,255)">api</span>
<span class="ansi-green-fg">----&gt; 2</span> <span class="ansi-bold" style="color: rgb(0,135,0)">from</span><span style="color: rgb(188,188,188)"> </span><span class="ansi-bold" style="color: rgb(0,0,255)">graphrag</span><span class="ansi-bold" style="color: rgb(0,0,255)">.</span><span class="ansi-bold" style="color: rgb(0,0,255)">index</span><span class="ansi-bold" style="color: rgb(0,0,255)">.</span><span class="ansi-bold" style="color: rgb(0,0,255)">typing</span><span style="color: rgb(188,188,188)"> </span><span class="ansi-bold" style="color: rgb(0,135,0)">import</span> PipelineRunResult
<span class="ansi-red-fg">ImportError</span>: cannot import name 'PipelineRunResult' from 'graphrag.index.typing' (/home/runner/work/graphrag/graphrag/graphrag/index/typing/__init__.py)</pre>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell">
<div class="jp-Cell-inputWrapper" tabindex="0">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput" data-mime-type="text/markdown">
<h2 id="prerequisite">Prerequisite<a class="anchor-link" href="#prerequisite"></a></h2><p>As a prerequisite to all API operations, a <code>GraphRagConfig</code> object is required. It is the primary means to control the behavior of graphrag and can be instantiated from a <code>settings.yaml</code> configuration file.</p>
<p>Please refer to the <a href="https://microsoft.github.io/graphrag/cli/#init">CLI docs</a> for more detailed information on how to generate the <code>settings.yaml</code> file.</p>
<h4 id="load-settingsyaml-configuration">Load <code>settings.yaml</code> configuration<a class="anchor-link" href="#load-settingsyaml-configuration"></a></h4>
</div>
</div>
</div>
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell">
<div class="jp-Cell jp-CodeCell jp-Notebook-cell">
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs">
<div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs">
<div class="jp-Cell-inputWrapper" tabindex="0">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
@ -2040,44 +2017,9 @@ Cell <span class="ansi-green-fg">In[2], line 2</span>
</div>
</clipboard-copy>
</div>
<div class="highlight-ipynb hl-python"><pre><span></span><span class="kn">import</span><span class="w"> </span><span class="nn">yaml</span>
<span class="n">PROJECT_DIRECTORY</span> <span class="o">=</span> <span class="s2">"&lt;project_directory&gt;"</span>
<span class="n">settings</span> <span class="o">=</span> <span class="n">yaml</span><span class="o">.</span><span class="n">safe_load</span><span class="p">(</span><span class="nb">open</span><span class="p">(</span><span class="sa">f</span><span class="s2">"</span><span class="si">{</span><span class="n">PROJECT_DIRECTORY</span><span class="si">}</span><span class="s2">/settings.yaml"</span><span class="p">))</span> <span class="c1"># noqa: PTH123, SIM115</span>
<div class="highlight-ipynb hl-python"><pre><span></span><span class="n">PROJECT_DIRECTORY</span> <span class="o">=</span> <span class="s2">"&lt;your project directory&gt;"</span>
</pre></div>
<div class="clipboard-copy-txt" id="cell-3">import yaml
PROJECT_DIRECTORY = "<project_directory>"
settings = yaml.safe_load(open(f"{PROJECT_DIRECTORY}/settings.yaml")) # noqa: PTH123, SIM115</project_directory></div>
</div>
</div>
</div>
</div>
<div class="jp-Cell-outputWrapper">
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
</div>
<div class="jp-OutputArea jp-Cell-outputArea">
<div class="jp-OutputArea-child">
<div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="application/vnd.jupyter.stderr" tabindex="0">
<pre>
<span class="ansi-red-fg">---------------------------------------------------------------------------</span>
<span class="ansi-red-fg">FileNotFoundError</span> Traceback (most recent call last)
Cell <span class="ansi-green-fg">In[3], line 4</span>
<span class="ansi-green-intense-fg ansi-bold"> 1</span> <span class="ansi-bold" style="color: rgb(0,135,0)">import</span><span style="color: rgb(188,188,188)"> </span><span class="ansi-bold" style="color: rgb(0,0,255)">yaml</span>
<span class="ansi-green-intense-fg ansi-bold"> 3</span> PROJECT_DIRECTORY <span style="color: rgb(98,98,98)">=</span> <span style="color: rgb(175,0,0)">"</span><span style="color: rgb(175,0,0)">&lt;project_directory&gt;</span><span style="color: rgb(175,0,0)">"</span>
<span class="ansi-green-fg">----&gt; 4</span> settings <span style="color: rgb(98,98,98)">=</span> yaml<span style="color: rgb(98,98,98)">.</span>safe_load(<span class="ansi-yellow-bg" style="color: rgb(0,135,0)">open</span><span class="ansi-yellow-bg">(</span><span class="ansi-yellow-bg" style="color: rgb(175,0,0)">f</span><span class="ansi-yellow-bg" style="color: rgb(175,0,0)">"</span><span class="ansi-yellow-bg ansi-bold" style="color: rgb(175,95,135)">{</span><span class="ansi-yellow-bg">PROJECT_DIRECTORY</span><span class="ansi-yellow-bg ansi-bold" style="color: rgb(175,95,135)">}</span><span class="ansi-yellow-bg" style="color: rgb(175,0,0)">/settings.yaml</span><span class="ansi-yellow-bg" style="color: rgb(175,0,0)">"</span><span class="ansi-yellow-bg">)</span>) <span style="color: rgb(95,135,135)"># noqa: PTH123, SIM115</span>
File <span class="ansi-green-fg">~/.cache/pypoetry/virtualenvs/graphrag-F2jvqev7-py3.11/lib/python3.11/site-packages/IPython/core/interactiveshell.py:324</span>, in <span class="ansi-cyan-fg">_modified_open</span><span class="ansi-blue-fg">(file, *args, **kwargs)</span>
<span class="ansi-green-intense-fg ansi-bold"> 317</span> <span class="ansi-bold" style="color: rgb(0,135,0)">if</span> file <span class="ansi-bold" style="color: rgb(175,0,255)">in</span> {<span style="color: rgb(98,98,98)">0</span>, <span style="color: rgb(98,98,98)">1</span>, <span style="color: rgb(98,98,98)">2</span>}:
<span class="ansi-green-intense-fg ansi-bold"> 318</span> <span class="ansi-bold" style="color: rgb(0,135,0)">raise</span> <span class="ansi-bold" style="color: rgb(215,95,95)">ValueError</span>(
<span class="ansi-green-intense-fg ansi-bold"> 319</span> <span style="color: rgb(175,0,0)">f</span><span style="color: rgb(175,0,0)">"</span><span style="color: rgb(175,0,0)">IPython won</span><span style="color: rgb(175,0,0)">'</span><span style="color: rgb(175,0,0)">t let you open fd=</span><span class="ansi-bold" style="color: rgb(175,95,135)">{</span>file<span class="ansi-bold" style="color: rgb(175,95,135)">}</span><span style="color: rgb(175,0,0)"> by default </span><span style="color: rgb(175,0,0)">"</span>
<span class="ansi-green-intense-fg ansi-bold"> 320</span> <span style="color: rgb(175,0,0)">"</span><span style="color: rgb(175,0,0)">as it is likely to crash IPython. If you know what you are doing, </span><span style="color: rgb(175,0,0)">"</span>
<span class="ansi-green-intense-fg ansi-bold"> 321</span> <span style="color: rgb(175,0,0)">"</span><span style="color: rgb(175,0,0)">you can use builtins</span><span style="color: rgb(175,0,0)">'</span><span style="color: rgb(175,0,0)"> open.</span><span style="color: rgb(175,0,0)">"</span>
<span class="ansi-green-intense-fg ansi-bold"> 322</span> )
<span class="ansi-green-fg">--&gt; 324</span> <span class="ansi-bold" style="color: rgb(0,135,0)">return</span> <span class="ansi-yellow-bg">io_open</span><span class="ansi-yellow-bg">(</span><span class="ansi-yellow-bg">file</span><span class="ansi-yellow-bg">,</span><span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg" style="color: rgb(98,98,98)">*</span><span class="ansi-yellow-bg">args</span><span class="ansi-yellow-bg">,</span><span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg" style="color: rgb(98,98,98)">*</span><span class="ansi-yellow-bg" style="color: rgb(98,98,98)">*</span><span class="ansi-yellow-bg">kwargs</span><span class="ansi-yellow-bg">)</span>
<span class="ansi-red-fg">FileNotFoundError</span>: [Errno 2] No such file or directory: '&lt;project_directory&gt;/settings.yaml'</pre>
<div class="clipboard-copy-txt" id="cell-3">PROJECT_DIRECTORY = "<your directory="" project="">"</your></div>
</div>
</div>
</div>
@ -2090,7 +2032,8 @@ File <span class="ansi-green-fg">~/.cache/pypoetry/virtualenvs/graphrag-F2jvqev7
</div>
<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput" data-mime-type="text/markdown">
<p>At this point, you can modify the imported settings to align with your application's requirements. For example, if building a UI application, the application might need to change the input and/or storage destinations dynamically in order to enable users to build and query different indexes.</p>
<h2 id="prerequisite">Prerequisite<a class="anchor-link" href="#prerequisite"></a></h2><p>As a prerequisite to all API operations, a <code>GraphRagConfig</code> object is required. It is the primary means to control the behavior of graphrag and can be instantiated from a <code>settings.yaml</code> configuration file.</p>
<p>Please refer to the <a href="https://microsoft.github.io/graphrag/cli/#init">CLI docs</a> for more detailed information on how to generate the <code>settings.yaml</code> file.</p>
</div>
</div>
</div>
@ -2124,13 +2067,9 @@ File <span class="ansi-green-fg">~/.cache/pypoetry/virtualenvs/graphrag-F2jvqev7
</div>
</clipboard-copy>
</div>
<div class="highlight-ipynb hl-python"><pre><span></span><span class="kn">from</span><span class="w"> </span><span class="nn">graphrag.config.create_graphrag_config</span><span class="w"> </span><span class="kn">import</span> <span class="n">create_graphrag_config</span>
<span class="n">graphrag_config</span> <span class="o">=</span> <span class="n">create_graphrag_config</span><span class="p">(</span><span class="n">values</span><span class="o">=</span><span class="n">settings</span><span class="p">,</span> <span class="n">root_dir</span><span class="o">=</span><span class="n">PROJECT_DIRECTORY</span><span class="p">)</span>
<div class="highlight-ipynb hl-python"><pre><span></span><span class="n">graphrag_config</span> <span class="o">=</span> <span class="n">load_config</span><span class="p">(</span><span class="n">Path</span><span class="p">(</span><span class="n">PROJECT_DIRECTORY</span><span class="p">))</span>
</pre></div>
<div class="clipboard-copy-txt" id="cell-4">from graphrag.config.create_graphrag_config import create_graphrag_config
graphrag_config = create_graphrag_config(values=settings, root_dir=PROJECT_DIRECTORY)</div>
<div class="clipboard-copy-txt" id="cell-4">graphrag_config = load_config(Path(PROJECT_DIRECTORY))</div>
</div>
</div>
</div>
@ -2144,12 +2083,37 @@ graphrag_config = create_graphrag_config(values=settings, root_dir=PROJECT_DIREC
<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="application/vnd.jupyter.stderr" tabindex="0">
<pre>
<span class="ansi-red-fg">---------------------------------------------------------------------------</span>
<span class="ansi-red-fg">NameError</span> Traceback (most recent call last)
Cell <span class="ansi-green-fg">In[4], line 3</span>
<span class="ansi-green-intense-fg ansi-bold"> 1</span> <span class="ansi-bold" style="color: rgb(0,135,0)">from</span><span style="color: rgb(188,188,188)"> </span><span class="ansi-bold" style="color: rgb(0,0,255)">graphrag</span><span class="ansi-bold" style="color: rgb(0,0,255)">.</span><span class="ansi-bold" style="color: rgb(0,0,255)">config</span><span class="ansi-bold" style="color: rgb(0,0,255)">.</span><span class="ansi-bold" style="color: rgb(0,0,255)">create_graphrag_config</span><span style="color: rgb(188,188,188)"> </span><span class="ansi-bold" style="color: rgb(0,135,0)">import</span> create_graphrag_config
<span class="ansi-green-fg">----&gt; 3</span> graphrag_config <span style="color: rgb(98,98,98)">=</span> create_graphrag_config(values<span style="color: rgb(98,98,98)">=</span><span class="ansi-yellow-bg">settings</span>, root_dir<span style="color: rgb(98,98,98)">=</span>PROJECT_DIRECTORY)
<span class="ansi-red-fg">FileNotFoundError</span> Traceback (most recent call last)
Cell <span class="ansi-green-fg">In[4], line 1</span>
<span class="ansi-green-fg">----&gt; 1</span> graphrag_config <span style="color: rgb(98,98,98)">=</span> <span class="ansi-yellow-bg">load_config</span><span class="ansi-yellow-bg">(</span><span class="ansi-yellow-bg">Path</span><span class="ansi-yellow-bg">(</span><span class="ansi-yellow-bg">PROJECT_DIRECTORY</span><span class="ansi-yellow-bg">)</span><span class="ansi-yellow-bg">)</span>
<span class="ansi-red-fg">NameError</span>: name 'settings' is not defined</pre>
File <span class="ansi-green-fg">~/work/graphrag/graphrag/graphrag/config/load_config.py:183</span>, in <span class="ansi-cyan-fg">load_config</span><span class="ansi-blue-fg">(root_dir, config_filepath, cli_overrides)</span>
<span class="ansi-green-intense-fg ansi-bold"> 151</span> <span style="color: rgb(175,0,0)">"""Load configuration from a file.</span>
<span class="ansi-green-intense-fg ansi-bold"> 152</span>
<span class="ansi-green-intense-fg ansi-bold"> 153</span> <span style="color: rgb(175,0,0)">Parameters</span>
<span class="ansi-green-fg"> (...)</span>
<span class="ansi-green-intense-fg ansi-bold"> 180</span> <span style="color: rgb(175,0,0)"> If there are pydantic validation errors when instantiating the config.</span>
<span class="ansi-green-intense-fg ansi-bold"> 181</span> <span style="color: rgb(175,0,0)">"""</span>
<span class="ansi-green-intense-fg ansi-bold"> 182</span> root <span style="color: rgb(98,98,98)">=</span> root_dir<span style="color: rgb(98,98,98)">.</span>resolve()
<span class="ansi-green-fg">--&gt; 183</span> config_path <span style="color: rgb(98,98,98)">=</span> <span class="ansi-yellow-bg">_get_config_path</span><span class="ansi-yellow-bg">(</span><span class="ansi-yellow-bg">root</span><span class="ansi-yellow-bg">,</span><span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">config_filepath</span><span class="ansi-yellow-bg">)</span>
<span class="ansi-green-intense-fg ansi-bold"> 184</span> _load_dotenv(config_path)
<span class="ansi-green-intense-fg ansi-bold"> 185</span> config_extension <span style="color: rgb(98,98,98)">=</span> config_path<span style="color: rgb(98,98,98)">.</span>suffix
File <span class="ansi-green-fg">~/work/graphrag/graphrag/graphrag/config/load_config.py:106</span>, in <span class="ansi-cyan-fg">_get_config_path</span><span class="ansi-blue-fg">(root_dir, config_filepath)</span>
<span class="ansi-green-intense-fg ansi-bold"> 104</span> <span class="ansi-bold" style="color: rgb(0,135,0)">raise</span> <span class="ansi-bold" style="color: rgb(215,95,95)">FileNotFoundError</span>(msg)
<span class="ansi-green-intense-fg ansi-bold"> 105</span> <span class="ansi-bold" style="color: rgb(0,135,0)">else</span>:
<span class="ansi-green-fg">--&gt; 106</span> config_path <span style="color: rgb(98,98,98)">=</span> <span class="ansi-yellow-bg">_search_for_config_in_root_dir</span><span class="ansi-yellow-bg">(</span><span class="ansi-yellow-bg">root_dir</span><span class="ansi-yellow-bg">)</span>
<span class="ansi-green-intense-fg ansi-bold"> 108</span> <span class="ansi-bold" style="color: rgb(0,135,0)">if</span> <span class="ansi-bold" style="color: rgb(175,0,255)">not</span> config_path:
<span class="ansi-green-intense-fg ansi-bold"> 109</span> msg <span style="color: rgb(98,98,98)">=</span> <span style="color: rgb(175,0,0)">f</span><span style="color: rgb(175,0,0)">"</span><span style="color: rgb(175,0,0)">Config file not found in root directory: </span><span class="ansi-bold" style="color: rgb(175,95,135)">{</span>root_dir<span class="ansi-bold" style="color: rgb(175,95,135)">}</span><span style="color: rgb(175,0,0)">"</span>
File <span class="ansi-green-fg">~/work/graphrag/graphrag/graphrag/config/load_config.py:40</span>, in <span class="ansi-cyan-fg">_search_for_config_in_root_dir</span><span class="ansi-blue-fg">(root)</span>
<span class="ansi-green-intense-fg ansi-bold"> 38</span> <span class="ansi-bold" style="color: rgb(0,135,0)">if</span> <span class="ansi-bold" style="color: rgb(175,0,255)">not</span> root<span style="color: rgb(98,98,98)">.</span>is_dir():
<span class="ansi-green-intense-fg ansi-bold"> 39</span> msg <span style="color: rgb(98,98,98)">=</span> <span style="color: rgb(175,0,0)">f</span><span style="color: rgb(175,0,0)">"</span><span style="color: rgb(175,0,0)">Invalid config path: </span><span class="ansi-bold" style="color: rgb(175,95,135)">{</span>root<span class="ansi-bold" style="color: rgb(175,95,135)">}</span><span style="color: rgb(175,0,0)"> is not a directory</span><span style="color: rgb(175,0,0)">"</span>
<span class="ansi-green-fg">---&gt; 40</span> <span class="ansi-bold" style="color: rgb(0,135,0)">raise</span> <span class="ansi-bold" style="color: rgb(215,95,95)">FileNotFoundError</span>(msg)
<span class="ansi-green-intense-fg ansi-bold"> 42</span> <span class="ansi-bold" style="color: rgb(0,135,0)">for</span> file <span class="ansi-bold" style="color: rgb(175,0,255)">in</span> _default_config_files:
<span class="ansi-green-intense-fg ansi-bold"> 43</span> <span class="ansi-bold" style="color: rgb(0,135,0)">if</span> (root <span style="color: rgb(98,98,98)">/</span> file)<span style="color: rgb(98,98,98)">.</span>is_file():
<span class="ansi-red-fg">FileNotFoundError</span>: Invalid config path: /home/runner/work/graphrag/graphrag/docs/examples_notebooks/&lt;your project directory&gt; is not a directory</pre>
</div>
</div>
</div>
@ -2264,38 +2228,34 @@ Cell <span class="ansi-green-fg">In[5], line 1</span>
</div>
</clipboard-copy>
</div>
<div class="highlight-ipynb hl-python"><pre><span></span><span class="kn">import</span><span class="w"> </span><span class="nn">pandas</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="nn">pd</span>
<span class="n">final_entities</span> <span class="o">=</span> <span class="n">pd</span><span class="o">.</span><span class="n">read_parquet</span><span class="p">(</span><span class="sa">f</span><span class="s2">"</span><span class="si">{</span><span class="n">PROJECT_DIRECTORY</span><span class="si">}</span><span class="s2">/output/entities.parquet"</span><span class="p">)</span>
<span class="n">final_communities</span> <span class="o">=</span> <span class="n">pd</span><span class="o">.</span><span class="n">read_parquet</span><span class="p">(</span><span class="sa">f</span><span class="s2">"</span><span class="si">{</span><span class="n">PROJECT_DIRECTORY</span><span class="si">}</span><span class="s2">/output/communities.parquet"</span><span class="p">)</span>
<span class="n">final_community_reports</span> <span class="o">=</span> <span class="n">pd</span><span class="o">.</span><span class="n">read_parquet</span><span class="p">(</span>
<div class="highlight-ipynb hl-python"><pre><span></span><span class="n">entities</span> <span class="o">=</span> <span class="n">pd</span><span class="o">.</span><span class="n">read_parquet</span><span class="p">(</span><span class="sa">f</span><span class="s2">"</span><span class="si">{</span><span class="n">PROJECT_DIRECTORY</span><span class="si">}</span><span class="s2">/output/entities.parquet"</span><span class="p">)</span>
<span class="n">communities</span> <span class="o">=</span> <span class="n">pd</span><span class="o">.</span><span class="n">read_parquet</span><span class="p">(</span><span class="sa">f</span><span class="s2">"</span><span class="si">{</span><span class="n">PROJECT_DIRECTORY</span><span class="si">}</span><span class="s2">/output/communities.parquet"</span><span class="p">)</span>
<span class="n">community_reports</span> <span class="o">=</span> <span class="n">pd</span><span class="o">.</span><span class="n">read_parquet</span><span class="p">(</span>
<span class="sa">f</span><span class="s2">"</span><span class="si">{</span><span class="n">PROJECT_DIRECTORY</span><span class="si">}</span><span class="s2">/output/community_reports.parquet"</span>
<span class="p">)</span>
<span class="n">response</span><span class="p">,</span> <span class="n">context</span> <span class="o">=</span> <span class="k">await</span> <span class="n">api</span><span class="o">.</span><span class="n">global_search</span><span class="p">(</span>
<span class="n">config</span><span class="o">=</span><span class="n">graphrag_config</span><span class="p">,</span>
<span class="n">entities</span><span class="o">=</span><span class="n">final_entities</span><span class="p">,</span>
<span class="n">communities</span><span class="o">=</span><span class="n">final_communities</span><span class="p">,</span>
<span class="n">community_reports</span><span class="o">=</span><span class="n">final_community_reports</span><span class="p">,</span>
<span class="n">entities</span><span class="o">=</span><span class="n">entities</span><span class="p">,</span>
<span class="n">communities</span><span class="o">=</span><span class="n">communities</span><span class="p">,</span>
<span class="n">community_reports</span><span class="o">=</span><span class="n">community_reports</span><span class="p">,</span>
<span class="n">community_level</span><span class="o">=</span><span class="mi">2</span><span class="p">,</span>
<span class="n">dynamic_community_selection</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span>
<span class="n">response_type</span><span class="o">=</span><span class="s2">"Multiple Paragraphs"</span><span class="p">,</span>
<span class="n">query</span><span class="o">=</span><span class="s2">"Who is Scrooge and what are his main relationships?"</span><span class="p">,</span>
<span class="p">)</span>
</pre></div>
<div class="clipboard-copy-txt" id="cell-6">import pandas as pd
final_entities = pd.read_parquet(f"{PROJECT_DIRECTORY}/output/entities.parquet")
final_communities = pd.read_parquet(f"{PROJECT_DIRECTORY}/output/communities.parquet")
final_community_reports = pd.read_parquet(
<div class="clipboard-copy-txt" id="cell-6">entities = pd.read_parquet(f"{PROJECT_DIRECTORY}/output/entities.parquet")
communities = pd.read_parquet(f"{PROJECT_DIRECTORY}/output/communities.parquet")
community_reports = pd.read_parquet(
f"{PROJECT_DIRECTORY}/output/community_reports.parquet"
)
response, context = await api.global_search(
config=graphrag_config,
entities=final_entities,
communities=final_communities,
community_reports=final_community_reports,
entities=entities,
communities=communities,
community_reports=community_reports,
community_level=2,
dynamic_community_selection=False,
response_type="Multiple Paragraphs",
@ -2315,13 +2275,12 @@ response, context = await api.global_search(
<pre>
<span class="ansi-red-fg">---------------------------------------------------------------------------</span>
<span class="ansi-red-fg">FileNotFoundError</span> Traceback (most recent call last)
Cell <span class="ansi-green-fg">In[6], line 3</span>
<span class="ansi-green-intense-fg ansi-bold"> 1</span> <span class="ansi-bold" style="color: rgb(0,135,0)">import</span><span style="color: rgb(188,188,188)"> </span><span class="ansi-bold" style="color: rgb(0,0,255)">pandas</span><span style="color: rgb(188,188,188)"> </span><span class="ansi-bold" style="color: rgb(0,135,0)">as</span><span style="color: rgb(188,188,188)"> </span><span class="ansi-bold" style="color: rgb(0,0,255)">pd</span>
<span class="ansi-green-fg">----&gt; 3</span> final_entities <span style="color: rgb(98,98,98)">=</span> <span class="ansi-yellow-bg">pd</span><span class="ansi-yellow-bg" style="color: rgb(98,98,98)">.</span><span class="ansi-yellow-bg">read_parquet</span><span class="ansi-yellow-bg">(</span><span class="ansi-yellow-bg" style="color: rgb(175,0,0)">f</span><span class="ansi-yellow-bg" style="color: rgb(175,0,0)">"</span><span class="ansi-yellow-bg ansi-bold" style="color: rgb(175,95,135)">{</span><span class="ansi-yellow-bg">PROJECT_DIRECTORY</span><span class="ansi-yellow-bg ansi-bold" style="color: rgb(175,95,135)">}</span><span class="ansi-yellow-bg" style="color: rgb(175,0,0)">/output/entities.parquet</span><span class="ansi-yellow-bg" style="color: rgb(175,0,0)">"</span><span class="ansi-yellow-bg">)</span>
<span class="ansi-green-intense-fg ansi-bold"> 4</span> final_communities <span style="color: rgb(98,98,98)">=</span> pd<span style="color: rgb(98,98,98)">.</span>read_parquet(<span style="color: rgb(175,0,0)">f</span><span style="color: rgb(175,0,0)">"</span><span class="ansi-bold" style="color: rgb(175,95,135)">{</span>PROJECT_DIRECTORY<span class="ansi-bold" style="color: rgb(175,95,135)">}</span><span style="color: rgb(175,0,0)">/output/communities.parquet</span><span style="color: rgb(175,0,0)">"</span>)
<span class="ansi-green-intense-fg ansi-bold"> 5</span> final_community_reports <span style="color: rgb(98,98,98)">=</span> pd<span style="color: rgb(98,98,98)">.</span>read_parquet(
<span class="ansi-green-intense-fg ansi-bold"> 6</span> <span style="color: rgb(175,0,0)">f</span><span style="color: rgb(175,0,0)">"</span><span class="ansi-bold" style="color: rgb(175,95,135)">{</span>PROJECT_DIRECTORY<span class="ansi-bold" style="color: rgb(175,95,135)">}</span><span style="color: rgb(175,0,0)">/output/community_reports.parquet</span><span style="color: rgb(175,0,0)">"</span>
<span class="ansi-green-intense-fg ansi-bold"> 7</span> )
Cell <span class="ansi-green-fg">In[6], line 1</span>
<span class="ansi-green-fg">----&gt; 1</span> entities <span style="color: rgb(98,98,98)">=</span> <span class="ansi-yellow-bg">pd</span><span class="ansi-yellow-bg" style="color: rgb(98,98,98)">.</span><span class="ansi-yellow-bg">read_parquet</span><span class="ansi-yellow-bg">(</span><span class="ansi-yellow-bg" style="color: rgb(175,0,0)">f</span><span class="ansi-yellow-bg" style="color: rgb(175,0,0)">"</span><span class="ansi-yellow-bg ansi-bold" style="color: rgb(175,95,135)">{</span><span class="ansi-yellow-bg">PROJECT_DIRECTORY</span><span class="ansi-yellow-bg ansi-bold" style="color: rgb(175,95,135)">}</span><span class="ansi-yellow-bg" style="color: rgb(175,0,0)">/output/entities.parquet</span><span class="ansi-yellow-bg" style="color: rgb(175,0,0)">"</span><span class="ansi-yellow-bg">)</span>
<span class="ansi-green-intense-fg ansi-bold"> 2</span> communities <span style="color: rgb(98,98,98)">=</span> pd<span style="color: rgb(98,98,98)">.</span>read_parquet(<span style="color: rgb(175,0,0)">f</span><span style="color: rgb(175,0,0)">"</span><span class="ansi-bold" style="color: rgb(175,95,135)">{</span>PROJECT_DIRECTORY<span class="ansi-bold" style="color: rgb(175,95,135)">}</span><span style="color: rgb(175,0,0)">/output/communities.parquet</span><span style="color: rgb(175,0,0)">"</span>)
<span class="ansi-green-intense-fg ansi-bold"> 3</span> community_reports <span style="color: rgb(98,98,98)">=</span> pd<span style="color: rgb(98,98,98)">.</span>read_parquet(
<span class="ansi-green-intense-fg ansi-bold"> 4</span> <span style="color: rgb(175,0,0)">f</span><span style="color: rgb(175,0,0)">"</span><span class="ansi-bold" style="color: rgb(175,95,135)">{</span>PROJECT_DIRECTORY<span class="ansi-bold" style="color: rgb(175,95,135)">}</span><span style="color: rgb(175,0,0)">/output/community_reports.parquet</span><span style="color: rgb(175,0,0)">"</span>
<span class="ansi-green-intense-fg ansi-bold"> 5</span> )
File <span class="ansi-green-fg">~/.cache/pypoetry/virtualenvs/graphrag-F2jvqev7-py3.11/lib/python3.11/site-packages/pandas/io/parquet.py:667</span>, in <span class="ansi-cyan-fg">read_parquet</span><span class="ansi-blue-fg">(path, engine, columns, storage_options, use_nullable_dtypes, dtype_backend, filesystem, filters, **kwargs)</span>
<span class="ansi-green-intense-fg ansi-bold"> 664</span> use_nullable_dtypes <span style="color: rgb(98,98,98)">=</span> <span class="ansi-bold" style="color: rgb(0,135,0)">False</span>
@ -2381,7 +2340,7 @@ File <span class="ansi-green-fg">~/.cache/pypoetry/virtualenvs/graphrag-F2jvqev7
<span class="ansi-green-intense-fg ansi-bold"> 883</span> handles<span style="color: rgb(98,98,98)">.</span>append(handle)
<span class="ansi-green-intense-fg ansi-bold"> 885</span> <span style="color: rgb(95,135,135)"># Convert BytesIO or file objects passed with an encoding</span>
<span class="ansi-red-fg">FileNotFoundError</span>: [Errno 2] No such file or directory: '&lt;project_directory&gt;/output/entities.parquet'</pre>
<span class="ansi-red-fg">FileNotFoundError</span>: [Errno 2] No such file or directory: '&lt;your project directory&gt;/output/entities.parquet'</pre>
</div>
</div>
</div>
@ -2473,13 +2432,9 @@ Cell <span class="ansi-green-fg">In[7], line 1</span>
</div>
</clipboard-copy>
</div>
<div class="highlight-ipynb hl-python"><pre><span></span><span class="kn">from</span><span class="w"> </span><span class="nn">pprint</span><span class="w"> </span><span class="kn">import</span> <span class="n">pprint</span>
<span class="n">pprint</span><span class="p">(</span><span class="n">context</span><span class="p">)</span> <span class="c1"># noqa: T203</span>
<div class="highlight-ipynb hl-python"><pre><span></span><span class="n">pprint</span><span class="p">(</span><span class="n">context</span><span class="p">)</span> <span class="c1"># noqa: T203</span>
</pre></div>
<div class="clipboard-copy-txt" id="cell-8">from pprint import pprint
pprint(context) # noqa: T203</div>
<div class="clipboard-copy-txt" id="cell-8">pprint(context) # noqa: T203</div>
</div>
</div>
</div>
@ -2494,9 +2449,8 @@ pprint(context) # noqa: T203</div>
<pre>
<span class="ansi-red-fg">---------------------------------------------------------------------------</span>
<span class="ansi-red-fg">NameError</span> Traceback (most recent call last)
Cell <span class="ansi-green-fg">In[8], line 3</span>
<span class="ansi-green-intense-fg ansi-bold"> 1</span> <span class="ansi-bold" style="color: rgb(0,135,0)">from</span><span style="color: rgb(188,188,188)"> </span><span class="ansi-bold" style="color: rgb(0,0,255)">pprint</span><span style="color: rgb(188,188,188)"> </span><span class="ansi-bold" style="color: rgb(0,135,0)">import</span> pprint
<span class="ansi-green-fg">----&gt; 3</span> pprint(<span class="ansi-yellow-bg">context</span>) <span style="color: rgb(95,135,135)"># noqa: T203</span>
Cell <span class="ansi-green-fg">In[8], line 1</span>
<span class="ansi-green-fg">----&gt; 1</span> pprint(<span class="ansi-yellow-bg">context</span>) <span style="color: rgb(95,135,135)"># noqa: T203</span>
<span class="ansi-red-fg">NameError</span>: name 'context' is not defined</pre>
</div>

View File

@ -1906,7 +1906,10 @@ span.linenos.special { color: #000000; background-color: #ffffc0; padding-left:
<span class="kn">import</span><span class="w"> </span><span class="nn">pandas</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="nn">pd</span>
<span class="kn">import</span><span class="w"> </span><span class="nn">tiktoken</span>
<span class="kn">from</span><span class="w"> </span><span class="nn">graphrag.config.enums</span><span class="w"> </span><span class="kn">import</span> <span class="n">ModelType</span>
<span class="kn">from</span><span class="w"> </span><span class="nn">graphrag.config.models.drift_search_config</span><span class="w"> </span><span class="kn">import</span> <span class="n">DRIFTSearchConfig</span>
<span class="kn">from</span><span class="w"> </span><span class="nn">graphrag.config.models.language_model_config</span><span class="w"> </span><span class="kn">import</span> <span class="n">LanguageModelConfig</span>
<span class="kn">from</span><span class="w"> </span><span class="nn">graphrag.language_model.manager</span><span class="w"> </span><span class="kn">import</span> <span class="n">ModelManager</span>
<span class="kn">from</span><span class="w"> </span><span class="nn">graphrag.query.indexer_adapters</span><span class="w"> </span><span class="kn">import</span> <span class="p">(</span>
<span class="n">read_indexer_entities</span><span class="p">,</span>
<span class="n">read_indexer_relationships</span><span class="p">,</span>
@ -1914,9 +1917,6 @@ span.linenos.special { color: #000000; background-color: #ffffc0; padding-left:
<span class="n">read_indexer_reports</span><span class="p">,</span>
<span class="n">read_indexer_text_units</span><span class="p">,</span>
<span class="p">)</span>
<span class="kn">from</span><span class="w"> </span><span class="nn">graphrag.query.llm.oai.chat_openai</span><span class="w"> </span><span class="kn">import</span> <span class="n">ChatOpenAI</span>
<span class="kn">from</span><span class="w"> </span><span class="nn">graphrag.query.llm.oai.embedding</span><span class="w"> </span><span class="kn">import</span> <span class="n">OpenAIEmbedding</span>
<span class="kn">from</span><span class="w"> </span><span class="nn">graphrag.query.llm.oai.typing</span><span class="w"> </span><span class="kn">import</span> <span class="n">OpenaiApiType</span>
<span class="kn">from</span><span class="w"> </span><span class="nn">graphrag.query.structured_search.drift_search.drift_context</span><span class="w"> </span><span class="kn">import</span> <span class="p">(</span>
<span class="n">DRIFTSearchContextBuilder</span><span class="p">,</span>
<span class="p">)</span>
@ -1976,7 +1976,10 @@ from pathlib import Path
import pandas as pd
import tiktoken
from graphrag.config.enums import ModelType
from graphrag.config.models.drift_search_config import DRIFTSearchConfig
from graphrag.config.models.language_model_config import LanguageModelConfig
from graphrag.language_model.manager import ModelManager
from graphrag.query.indexer_adapters import (
read_indexer_entities,
read_indexer_relationships,
@ -1984,9 +1987,6 @@ from graphrag.query.indexer_adapters import (
read_indexer_reports,
read_indexer_text_units,
)
from graphrag.query.llm.oai.chat_openai import ChatOpenAI
from graphrag.query.llm.oai.embedding import OpenAIEmbedding
from graphrag.query.llm.oai.typing import OpenaiApiType
from graphrag.query.structured_search.drift_search.drift_context import (
DRIFTSearchContextBuilder,
)
@ -2049,23 +2049,106 @@ text_unit_df.head()</div>
<div class="jp-OutputArea jp-Cell-outputArea">
<div class="jp-OutputArea-child">
<div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="application/vnd.jupyter.stderr" tabindex="0">
<pre>
<span class="ansi-red-fg">---------------------------------------------------------------------------</span>
<span class="ansi-red-fg">ModuleNotFoundError</span> Traceback (most recent call last)
Cell <span class="ansi-green-fg">In[2], line 15</span>
<span class="ansi-green-intense-fg ansi-bold"> 7</span> <span class="ansi-bold" style="color: rgb(0,135,0)">from</span><span style="color: rgb(188,188,188)"> </span><span class="ansi-bold" style="color: rgb(0,0,255)">graphrag</span><span class="ansi-bold" style="color: rgb(0,0,255)">.</span><span class="ansi-bold" style="color: rgb(0,0,255)">config</span><span class="ansi-bold" style="color: rgb(0,0,255)">.</span><span class="ansi-bold" style="color: rgb(0,0,255)">models</span><span class="ansi-bold" style="color: rgb(0,0,255)">.</span><span class="ansi-bold" style="color: rgb(0,0,255)">drift_search_config</span><span style="color: rgb(188,188,188)"> </span><span class="ansi-bold" style="color: rgb(0,135,0)">import</span> DRIFTSearchConfig
<span class="ansi-green-intense-fg ansi-bold"> 8</span> <span class="ansi-bold" style="color: rgb(0,135,0)">from</span><span style="color: rgb(188,188,188)"> </span><span class="ansi-bold" style="color: rgb(0,0,255)">graphrag</span><span class="ansi-bold" style="color: rgb(0,0,255)">.</span><span class="ansi-bold" style="color: rgb(0,0,255)">query</span><span class="ansi-bold" style="color: rgb(0,0,255)">.</span><span class="ansi-bold" style="color: rgb(0,0,255)">indexer_adapters</span><span style="color: rgb(188,188,188)"> </span><span class="ansi-bold" style="color: rgb(0,135,0)">import</span> (
<span class="ansi-green-intense-fg ansi-bold"> 9</span> read_indexer_entities,
<span class="ansi-green-intense-fg ansi-bold"> 10</span> read_indexer_relationships,
<span class="ansi-green-fg"> (...)</span>
<span class="ansi-green-intense-fg ansi-bold"> 13</span> read_indexer_text_units,
<span class="ansi-green-intense-fg ansi-bold"> 14</span> )
<span class="ansi-green-fg">---&gt; 15</span> <span class="ansi-bold" style="color: rgb(0,135,0)">from</span><span style="color: rgb(188,188,188)"> </span><span class="ansi-bold" style="color: rgb(0,0,255)">graphrag</span><span class="ansi-bold" style="color: rgb(0,0,255)">.</span><span class="ansi-bold" style="color: rgb(0,0,255)">query</span><span class="ansi-bold" style="color: rgb(0,0,255)">.</span><span class="ansi-bold" style="color: rgb(0,0,255)">llm</span><span class="ansi-bold" style="color: rgb(0,0,255)">.</span><span class="ansi-bold" style="color: rgb(0,0,255)">oai</span><span class="ansi-bold" style="color: rgb(0,0,255)">.</span><span class="ansi-bold" style="color: rgb(0,0,255)">chat_openai</span><span style="color: rgb(188,188,188)"> </span><span class="ansi-bold" style="color: rgb(0,135,0)">import</span> ChatOpenAI
<span class="ansi-green-intense-fg ansi-bold"> 16</span> <span class="ansi-bold" style="color: rgb(0,135,0)">from</span><span style="color: rgb(188,188,188)"> </span><span class="ansi-bold" style="color: rgb(0,0,255)">graphrag</span><span class="ansi-bold" style="color: rgb(0,0,255)">.</span><span class="ansi-bold" style="color: rgb(0,0,255)">query</span><span class="ansi-bold" style="color: rgb(0,0,255)">.</span><span class="ansi-bold" style="color: rgb(0,0,255)">llm</span><span class="ansi-bold" style="color: rgb(0,0,255)">.</span><span class="ansi-bold" style="color: rgb(0,0,255)">oai</span><span class="ansi-bold" style="color: rgb(0,0,255)">.</span><span class="ansi-bold" style="color: rgb(0,0,255)">embedding</span><span style="color: rgb(188,188,188)"> </span><span class="ansi-bold" style="color: rgb(0,135,0)">import</span> OpenAIEmbedding
<span class="ansi-green-intense-fg ansi-bold"> 17</span> <span class="ansi-bold" style="color: rgb(0,135,0)">from</span><span style="color: rgb(188,188,188)"> </span><span class="ansi-bold" style="color: rgb(0,0,255)">graphrag</span><span class="ansi-bold" style="color: rgb(0,0,255)">.</span><span class="ansi-bold" style="color: rgb(0,0,255)">query</span><span class="ansi-bold" style="color: rgb(0,0,255)">.</span><span class="ansi-bold" style="color: rgb(0,0,255)">llm</span><span class="ansi-bold" style="color: rgb(0,0,255)">.</span><span class="ansi-bold" style="color: rgb(0,0,255)">oai</span><span class="ansi-bold" style="color: rgb(0,0,255)">.</span><span class="ansi-bold" style="color: rgb(0,0,255)">typing</span><span style="color: rgb(188,188,188)"> </span><span class="ansi-bold" style="color: rgb(0,135,0)">import</span> OpenaiApiType
<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="text/plain" tabindex="0">
<pre>Entity df columns: Index(['id', 'human_readable_id', 'title', 'type', 'description',
'text_unit_ids', 'frequency', 'degree', 'x', 'y'],
dtype='object')
Entity count: 18
Relationship count: 54
Text unit records: 5
</pre>
</div>
</div>
<div class="jp-OutputArea-child jp-OutputArea-executeResult">
<div class="jp-OutputPrompt jp-OutputArea-prompt">Out[2]:</div>
<div class="jp-RenderedHTMLCommon jp-RenderedHTML jp-OutputArea-output jp-OutputArea-executeResult" data-mime-type="text/html" tabindex="0">
<div>
<style scoped="">
.dataframe tbody tr th:only-of-type {
vertical-align: middle;
}
<span class="ansi-red-fg">ModuleNotFoundError</span>: No module named 'graphrag.query.llm.oai'</pre>
.dataframe tbody tr th {
vertical-align: top;
}
.dataframe thead th {
text-align: right;
}
</style>
<table border="1" class="dataframe">
<thead>
<tr style="text-align: right;">
<th></th>
<th>id</th>
<th>human_readable_id</th>
<th>text</th>
<th>n_tokens</th>
<th>document_ids</th>
<th>entity_ids</th>
<th>relationship_ids</th>
<th>covariate_ids</th>
</tr>
</thead>
<tbody>
<tr>
<th>0</th>
<td>8e938693af886bfd081acbbe8384c3671446bff84a134a...</td>
<td>1</td>
<td># Operation: Dulce\n\n## Chapter 1\n\nThe thru...</td>
<td>1200</td>
<td>[6e81f882f89dd5596e1925dd3ae8a4f0a0edcb55b35a8...</td>
<td>[425a7862-0aef-4f69-a4c8-8bd42151c9d4, bcdbf1f...</td>
<td>[2bfad9f4-5abd-48d0-8db3-a9cad9120413, 6cbb838...</td>
<td>[745d28dd-be20-411b-85ff-1c69ca70e7b3, 9cba185...</td>
</tr>
<tr>
<th>1</th>
<td>fd1f46d32e1df6cd429542aeda3d64ddf3745ccb80f443...</td>
<td>2</td>
<td>, the hollow echo of the bay a stark reminder ...</td>
<td>1200</td>
<td>[6e81f882f89dd5596e1925dd3ae8a4f0a0edcb55b35a8...</td>
<td>[425a7862-0aef-4f69-a4c8-8bd42151c9d4, bcdbf1f...</td>
<td>[2bfad9f4-5abd-48d0-8db3-a9cad9120413, 6cbb838...</td>
<td>[4f9b461f-5e8f-465d-9586-e2fc81787062, 0f74618...</td>
</tr>
<tr>
<th>2</th>
<td>7296d9a1f046854d59079dc183de8a054c27c4843d2979...</td>
<td>3</td>
<td>differently than praise from others. This was...</td>
<td>1200</td>
<td>[6e81f882f89dd5596e1925dd3ae8a4f0a0edcb55b35a8...</td>
<td>[425a7862-0aef-4f69-a4c8-8bd42151c9d4, bcdbf1f...</td>
<td>[2bfad9f4-5abd-48d0-8db3-a9cad9120413, 6cbb838...</td>
<td>[3ef1be9c-4080-4fac-99bd-c4a636248904, 8730b20...</td>
</tr>
<tr>
<th>3</th>
<td>ac72722a02ac71242a2a91fca323198d04197daf60515d...</td>
<td>4</td>
<td>contrast to the rigid silence enveloping the ...</td>
<td>1200</td>
<td>[6e81f882f89dd5596e1925dd3ae8a4f0a0edcb55b35a8...</td>
<td>[425a7862-0aef-4f69-a4c8-8bd42151c9d4, bcdbf1f...</td>
<td>[2bfad9f4-5abd-48d0-8db3-a9cad9120413, 6cbb838...</td>
<td>[2c292047-b79a-4958-ab57-7bf7d7a22c92, 3cbd18a...</td>
</tr>
<tr>
<th>4</th>
<td>4c277337d461a16aaf8f9760ddb8b44ef220e948a2341d...</td>
<td>5</td>
<td>a mask of duty.\n\nIn the midst of the descen...</td>
<td>35</td>
<td>[6e81f882f89dd5596e1925dd3ae8a4f0a0edcb55b35a8...</td>
<td>[d084d615-3584-4ec8-9931-90aa6075c764, 4b84859...</td>
<td>[6efdc42e-69a2-47c0-97ec-4b296cd16d5e]</td>
<td>[db8da02f-f889-4bb5-8e81-ab2a72e380bb]</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
@ -2094,44 +2177,62 @@ Cell <span class="ansi-green-fg">In[2], line 15</span>
<span class="n">llm_model</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="p">[</span><span class="s2">"GRAPHRAG_LLM_MODEL"</span><span class="p">]</span>
<span class="n">embedding_model</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="p">[</span><span class="s2">"GRAPHRAG_EMBEDDING_MODEL"</span><span class="p">]</span>
<span class="n">chat_llm</span> <span class="o">=</span> <span class="n">ChatOpenAI</span><span class="p">(</span>
<span class="n">chat_config</span> <span class="o">=</span> <span class="n">LanguageModelConfig</span><span class="p">(</span>
<span class="n">api_key</span><span class="o">=</span><span class="n">api_key</span><span class="p">,</span>
<span class="nb">type</span><span class="o">=</span><span class="n">ModelType</span><span class="o">.</span><span class="n">OpenAIChat</span><span class="p">,</span>
<span class="n">model</span><span class="o">=</span><span class="n">llm_model</span><span class="p">,</span>
<span class="n">api_type</span><span class="o">=</span><span class="n">OpenaiApiType</span><span class="o">.</span><span class="n">OpenAI</span><span class="p">,</span> <span class="c1"># OpenaiApiType.OpenAI or OpenaiApiType.AzureOpenAI</span>
<span class="n">max_retries</span><span class="o">=</span><span class="mi">20</span><span class="p">,</span>
<span class="p">)</span>
<span class="n">chat_model</span> <span class="o">=</span> <span class="n">ModelManager</span><span class="p">()</span><span class="o">.</span><span class="n">get_or_create_chat_model</span><span class="p">(</span>
<span class="n">name</span><span class="o">=</span><span class="s2">"local_search"</span><span class="p">,</span>
<span class="n">model_type</span><span class="o">=</span><span class="n">ModelType</span><span class="o">.</span><span class="n">OpenAIChat</span><span class="p">,</span>
<span class="n">config</span><span class="o">=</span><span class="n">chat_config</span><span class="p">,</span>
<span class="p">)</span>
<span class="n">token_encoder</span> <span class="o">=</span> <span class="n">tiktoken</span><span class="o">.</span><span class="n">encoding_for_model</span><span class="p">(</span><span class="n">llm_model</span><span class="p">)</span>
<span class="n">text_embedder</span> <span class="o">=</span> <span class="n">OpenAIEmbedding</span><span class="p">(</span>
<span class="n">embedding_config</span> <span class="o">=</span> <span class="n">LanguageModelConfig</span><span class="p">(</span>
<span class="n">api_key</span><span class="o">=</span><span class="n">api_key</span><span class="p">,</span>
<span class="n">api_base</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
<span class="n">api_type</span><span class="o">=</span><span class="n">OpenaiApiType</span><span class="o">.</span><span class="n">OpenAI</span><span class="p">,</span>
<span class="nb">type</span><span class="o">=</span><span class="n">ModelType</span><span class="o">.</span><span class="n">OpenAIEmbedding</span><span class="p">,</span>
<span class="n">model</span><span class="o">=</span><span class="n">embedding_model</span><span class="p">,</span>
<span class="n">deployment_name</span><span class="o">=</span><span class="n">embedding_model</span><span class="p">,</span>
<span class="n">max_retries</span><span class="o">=</span><span class="mi">20</span><span class="p">,</span>
<span class="p">)</span>
<span class="n">text_embedder</span> <span class="o">=</span> <span class="n">ModelManager</span><span class="p">()</span><span class="o">.</span><span class="n">get_or_create_embedding_model</span><span class="p">(</span>
<span class="n">name</span><span class="o">=</span><span class="s2">"local_search_embedding"</span><span class="p">,</span>
<span class="n">model_type</span><span class="o">=</span><span class="n">ModelType</span><span class="o">.</span><span class="n">OpenAIEmbedding</span><span class="p">,</span>
<span class="n">config</span><span class="o">=</span><span class="n">embedding_config</span><span class="p">,</span>
<span class="p">)</span>
</pre></div>
<div class="clipboard-copy-txt" id="cell-3">api_key = os.environ["GRAPHRAG_API_KEY"]
llm_model = os.environ["GRAPHRAG_LLM_MODEL"]
embedding_model = os.environ["GRAPHRAG_EMBEDDING_MODEL"]
chat_llm = ChatOpenAI(
chat_config = LanguageModelConfig(
api_key=api_key,
type=ModelType.OpenAIChat,
model=llm_model,
api_type=OpenaiApiType.OpenAI, # OpenaiApiType.OpenAI or OpenaiApiType.AzureOpenAI
max_retries=20,
)
chat_model = ModelManager().get_or_create_chat_model(
name="local_search",
model_type=ModelType.OpenAIChat,
config=chat_config,
)
token_encoder = tiktoken.encoding_for_model(llm_model)
text_embedder = OpenAIEmbedding(
embedding_config = LanguageModelConfig(
api_key=api_key,
api_base=None,
api_type=OpenaiApiType.OpenAI,
type=ModelType.OpenAIEmbedding,
model=embedding_model,
deployment_name=embedding_model,
max_retries=20,
)
text_embedder = ModelManager().get_or_create_embedding_model(
name="local_search_embedding",
model_type=ModelType.OpenAIEmbedding,
config=embedding_config,
)</div>
</div>
</div>
@ -2146,32 +2247,45 @@ text_embedder = OpenAIEmbedding(
<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="application/vnd.jupyter.stderr" tabindex="0">
<pre>
<span class="ansi-red-fg">---------------------------------------------------------------------------</span>
<span class="ansi-red-fg">NameError</span> Traceback (most recent call last)
<span class="ansi-red-fg">ValidationError</span> Traceback (most recent call last)
Cell <span class="ansi-green-fg">In[3], line 5</span>
<span class="ansi-green-intense-fg ansi-bold"> 2</span> llm_model <span style="color: rgb(98,98,98)">=</span> os<span style="color: rgb(98,98,98)">.</span>environ[<span style="color: rgb(175,0,0)">"</span><span style="color: rgb(175,0,0)">GRAPHRAG_LLM_MODEL</span><span style="color: rgb(175,0,0)">"</span>]
<span class="ansi-green-intense-fg ansi-bold"> 3</span> embedding_model <span style="color: rgb(98,98,98)">=</span> os<span style="color: rgb(98,98,98)">.</span>environ[<span style="color: rgb(175,0,0)">"</span><span style="color: rgb(175,0,0)">GRAPHRAG_EMBEDDING_MODEL</span><span style="color: rgb(175,0,0)">"</span>]
<span class="ansi-green-fg">----&gt; 5</span> chat_llm <span style="color: rgb(98,98,98)">=</span> <span class="ansi-yellow-bg">ChatOpenAI</span>(
<span class="ansi-green-intense-fg ansi-bold"> 6</span> api_key<span style="color: rgb(98,98,98)">=</span>api_key,
<span class="ansi-green-intense-fg ansi-bold"> 7</span> model<span style="color: rgb(98,98,98)">=</span>llm_model,
<span class="ansi-green-intense-fg ansi-bold"> 8</span> api_type<span style="color: rgb(98,98,98)">=</span>OpenaiApiType<span style="color: rgb(98,98,98)">.</span>OpenAI, <span style="color: rgb(95,135,135)"># OpenaiApiType.OpenAI or OpenaiApiType.AzureOpenAI</span>
<span class="ansi-green-intense-fg ansi-bold"> 9</span> max_retries<span style="color: rgb(98,98,98)">=</span><span style="color: rgb(98,98,98)">20</span>,
<span class="ansi-green-intense-fg ansi-bold"> 10</span> )
<span class="ansi-green-intense-fg ansi-bold"> 12</span> token_encoder <span style="color: rgb(98,98,98)">=</span> tiktoken<span style="color: rgb(98,98,98)">.</span>encoding_for_model(llm_model)
<span class="ansi-green-intense-fg ansi-bold"> 14</span> text_embedder <span style="color: rgb(98,98,98)">=</span> OpenAIEmbedding(
<span class="ansi-green-intense-fg ansi-bold"> 15</span> api_key<span style="color: rgb(98,98,98)">=</span>api_key,
<span class="ansi-green-intense-fg ansi-bold"> 16</span> api_base<span style="color: rgb(98,98,98)">=</span><span class="ansi-bold" style="color: rgb(0,135,0)">None</span>,
<span class="ansi-green-fg"> (...)</span>
<span class="ansi-green-intense-fg ansi-bold"> 20</span> max_retries<span style="color: rgb(98,98,98)">=</span><span style="color: rgb(98,98,98)">20</span>,
<span class="ansi-green-intense-fg ansi-bold"> 21</span> )
<span class="ansi-green-fg">----&gt; 5</span> chat_config <span style="color: rgb(98,98,98)">=</span> <span class="ansi-yellow-bg">LanguageModelConfig</span><span class="ansi-yellow-bg">(</span>
<span class="ansi-green-intense-fg ansi-bold"> 6</span> <span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">api_key</span><span class="ansi-yellow-bg" style="color: rgb(98,98,98)">=</span><span class="ansi-yellow-bg">api_key</span><span class="ansi-yellow-bg">,</span>
<span class="ansi-green-intense-fg ansi-bold"> 7</span> <span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg" style="color: rgb(0,135,0)">type</span><span class="ansi-yellow-bg" style="color: rgb(98,98,98)">=</span><span class="ansi-yellow-bg">ModelType</span><span class="ansi-yellow-bg" style="color: rgb(98,98,98)">.</span><span class="ansi-yellow-bg">OpenAIChat</span><span class="ansi-yellow-bg">,</span>
<span class="ansi-green-intense-fg ansi-bold"> 8</span> <span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">model</span><span class="ansi-yellow-bg" style="color: rgb(98,98,98)">=</span><span class="ansi-yellow-bg">llm_model</span><span class="ansi-yellow-bg">,</span>
<span class="ansi-green-intense-fg ansi-bold"> 9</span> <span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">max_retries</span><span class="ansi-yellow-bg" style="color: rgb(98,98,98)">=</span><span class="ansi-yellow-bg" style="color: rgb(98,98,98)">20</span><span class="ansi-yellow-bg">,</span>
<span class="ansi-green-intense-fg ansi-bold"> 10</span> <span class="ansi-yellow-bg">)</span>
<span class="ansi-green-intense-fg ansi-bold"> 11</span> chat_model <span style="color: rgb(98,98,98)">=</span> ModelManager()<span style="color: rgb(98,98,98)">.</span>get_or_create_chat_model(
<span class="ansi-green-intense-fg ansi-bold"> 12</span> name<span style="color: rgb(98,98,98)">=</span><span style="color: rgb(175,0,0)">"</span><span style="color: rgb(175,0,0)">local_search</span><span style="color: rgb(175,0,0)">"</span>,
<span class="ansi-green-intense-fg ansi-bold"> 13</span> model_type<span style="color: rgb(98,98,98)">=</span>ModelType<span style="color: rgb(98,98,98)">.</span>OpenAIChat,
<span class="ansi-green-intense-fg ansi-bold"> 14</span> config<span style="color: rgb(98,98,98)">=</span>chat_config,
<span class="ansi-green-intense-fg ansi-bold"> 15</span> )
<span class="ansi-green-intense-fg ansi-bold"> 17</span> token_encoder <span style="color: rgb(98,98,98)">=</span> tiktoken<span style="color: rgb(98,98,98)">.</span>encoding_for_model(llm_model)
<span class="ansi-red-fg">NameError</span>: name 'ChatOpenAI' is not defined</pre>
File <span class="ansi-green-fg">~/.cache/pypoetry/virtualenvs/graphrag-F2jvqev7-py3.11/lib/python3.11/site-packages/pydantic/main.py:214</span>, in <span class="ansi-cyan-fg">BaseModel.__init__</span><span class="ansi-blue-fg">(self, **data)</span>
<span class="ansi-green-intense-fg ansi-bold"> 212</span> <span style="color: rgb(95,135,135)"># `__tracebackhide__` tells pytest and some other tools to omit this function from tracebacks</span>
<span class="ansi-green-intense-fg ansi-bold"> 213</span> __tracebackhide__ <span style="color: rgb(98,98,98)">=</span> <span class="ansi-bold" style="color: rgb(0,135,0)">True</span>
<span class="ansi-green-fg">--&gt; 214</span> validated_self <span style="color: rgb(98,98,98)">=</span> <span class="ansi-yellow-bg" style="color: rgb(0,135,0)">self</span><span class="ansi-yellow-bg" style="color: rgb(98,98,98)">.</span><span class="ansi-yellow-bg">__pydantic_validator__</span><span class="ansi-yellow-bg" style="color: rgb(98,98,98)">.</span><span class="ansi-yellow-bg">validate_python</span><span class="ansi-yellow-bg">(</span><span class="ansi-yellow-bg">data</span><span class="ansi-yellow-bg">,</span><span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">self_instance</span><span class="ansi-yellow-bg" style="color: rgb(98,98,98)">=</span><span class="ansi-yellow-bg" style="color: rgb(0,135,0)">self</span><span class="ansi-yellow-bg">)</span>
<span class="ansi-green-intense-fg ansi-bold"> 215</span> <span class="ansi-bold" style="color: rgb(0,135,0)">if</span> <span style="color: rgb(0,135,0)">self</span> <span class="ansi-bold" style="color: rgb(175,0,255)">is</span> <span class="ansi-bold" style="color: rgb(175,0,255)">not</span> validated_self:
<span class="ansi-green-intense-fg ansi-bold"> 216</span> warnings<span style="color: rgb(98,98,98)">.</span>warn(
<span class="ansi-green-intense-fg ansi-bold"> 217</span> <span style="color: rgb(175,0,0)">'</span><span style="color: rgb(175,0,0)">A custom validator is returning a value other than `self`.</span><span class="ansi-bold" style="color: rgb(175,95,0)">\n</span><span style="color: rgb(175,0,0)">'</span>
<span class="ansi-green-intense-fg ansi-bold"> 218</span> <span style="color: rgb(175,0,0)">"</span><span style="color: rgb(175,0,0)">Returning anything other than `self` from a top level model validator isn</span><span style="color: rgb(175,0,0)">'</span><span style="color: rgb(175,0,0)">t supported when validating via `__init__`.</span><span class="ansi-bold" style="color: rgb(175,95,0)">\n</span><span style="color: rgb(175,0,0)">"</span>
<span class="ansi-green-intense-fg ansi-bold"> 219</span> <span style="color: rgb(175,0,0)">'</span><span style="color: rgb(175,0,0)">See the `model_validator` docs (https://docs.pydantic.dev/latest/concepts/validators/#model-validators) for more details.</span><span style="color: rgb(175,0,0)">'</span>,
<span class="ansi-green-intense-fg ansi-bold"> 220</span> stacklevel<span style="color: rgb(98,98,98)">=</span><span style="color: rgb(98,98,98)">2</span>,
<span class="ansi-green-intense-fg ansi-bold"> 221</span> )
<span class="ansi-red-fg">ValidationError</span>: 1 validation error for LanguageModelConfig
Value error, API Key is required for ModelType.OpenAIChat when using api_key authentication. Please rerun `graphrag init` and set the API_KEY. [type=value_error, input_value={'api_key': '', 'type': "...-4o', 'max_retries': 20}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/value_error</pre>
</div>
</div>
</div>
</div>
</div>
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell">
<div class="jp-Cell jp-CodeCell jp-Notebook-cell">
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs">
<div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs">
<div class="jp-Cell-inputWrapper" tabindex="0">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
@ -2228,29 +2342,6 @@ read_indexer_report_embeddings(reports, full_content_embedding_store)</div>
</div>
</div>
</div>
<div class="jp-Cell-outputWrapper">
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
</div>
<div class="jp-OutputArea jp-Cell-outputArea">
<div class="jp-OutputArea-child">
<div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="application/vnd.jupyter.stderr" tabindex="0">
<pre>
<span class="ansi-red-fg">---------------------------------------------------------------------------</span>
<span class="ansi-red-fg">NameError</span> Traceback (most recent call last)
Cell <span class="ansi-green-fg">In[4], line 3</span>
<span class="ansi-green-intense-fg ansi-bold"> 1</span> <span class="ansi-bold" style="color: rgb(0,135,0)">def</span><span style="color: rgb(188,188,188)"> </span><span style="color: rgb(0,0,255)">read_community_reports</span>(
<span class="ansi-green-intense-fg ansi-bold"> 2</span> input_dir: <span style="color: rgb(0,135,0)">str</span>,
<span class="ansi-green-fg">----&gt; 3</span> community_report_table: <span style="color: rgb(0,135,0)">str</span> <span style="color: rgb(98,98,98)">=</span> <span class="ansi-yellow-bg">COMMUNITY_REPORT_TABLE</span>,
<span class="ansi-green-intense-fg ansi-bold"> 4</span> ):
<span class="ansi-green-intense-fg ansi-bold"> 5</span> <span style="color: rgb(188,188,188)"> </span><span style="color: rgb(175,0,0)">"""Embeds the full content of the community reports and saves the DataFrame with embeddings to the output path."""</span>
<span class="ansi-green-intense-fg ansi-bold"> 6</span> input_path <span style="color: rgb(98,98,98)">=</span> Path(input_dir) <span style="color: rgb(98,98,98)">/</span> <span style="color: rgb(175,0,0)">f</span><span style="color: rgb(175,0,0)">"</span><span class="ansi-bold" style="color: rgb(175,95,135)">{</span>community_report_table<span class="ansi-bold" style="color: rgb(175,95,135)">}</span><span style="color: rgb(175,0,0)">.parquet</span><span style="color: rgb(175,0,0)">"</span>
<span class="ansi-red-fg">NameError</span>: name 'COMMUNITY_REPORT_TABLE' is not defined</pre>
</div>
</div>
</div>
</div>
</div>
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell">
<div class="jp-Cell jp-CodeCell jp-Notebook-cell">
@ -2281,7 +2372,7 @@ Cell <span class="ansi-green-fg">In[4], line 3</span>
<span class="p">)</span>
<span class="n">context_builder</span> <span class="o">=</span> <span class="n">DRIFTSearchContextBuilder</span><span class="p">(</span>
<span class="n">chat_llm</span><span class="o">=</span><span class="n">chat_llm</span><span class="p">,</span>
<span class="n">model</span><span class="o">=</span><span class="n">chat_model</span><span class="p">,</span>
<span class="n">text_embedder</span><span class="o">=</span><span class="n">text_embedder</span><span class="p">,</span>
<span class="n">entities</span><span class="o">=</span><span class="n">entities</span><span class="p">,</span>
<span class="n">relationships</span><span class="o">=</span><span class="n">relationships</span><span class="p">,</span>
@ -2293,7 +2384,7 @@ Cell <span class="ansi-green-fg">In[4], line 3</span>
<span class="p">)</span>
<span class="n">search</span> <span class="o">=</span> <span class="n">DRIFTSearch</span><span class="p">(</span>
<span class="n">llm</span><span class="o">=</span><span class="n">chat_llm</span><span class="p">,</span> <span class="n">context_builder</span><span class="o">=</span><span class="n">context_builder</span><span class="p">,</span> <span class="n">token_encoder</span><span class="o">=</span><span class="n">token_encoder</span>
<span class="n">model</span><span class="o">=</span><span class="n">chat_model</span><span class="p">,</span> <span class="n">context_builder</span><span class="o">=</span><span class="n">context_builder</span><span class="p">,</span> <span class="n">token_encoder</span><span class="o">=</span><span class="n">token_encoder</span>
<span class="p">)</span>
</pre></div>
<div class="clipboard-copy-txt" id="cell-5">drift_params = DRIFTSearchConfig(
@ -2306,7 +2397,7 @@ Cell <span class="ansi-green-fg">In[4], line 3</span>
)
context_builder = DRIFTSearchContextBuilder(
chat_llm=chat_llm,
model=chat_model,
text_embedder=text_embedder,
entities=entities,
relationships=relationships,
@ -2318,7 +2409,7 @@ context_builder = DRIFTSearchContextBuilder(
)
search = DRIFTSearch(
llm=chat_llm, context_builder=context_builder, token_encoder=token_encoder
model=chat_model, context_builder=context_builder, token_encoder=token_encoder
)</div>
</div>
</div>
@ -2334,15 +2425,15 @@ search = DRIFTSearch(
<pre>
<span class="ansi-red-fg">---------------------------------------------------------------------------</span>
<span class="ansi-red-fg">NameError</span> Traceback (most recent call last)
Cell <span class="ansi-green-fg">In[5], line 10</span>
Cell <span class="ansi-green-fg">In[5], line 11</span>
<span class="ansi-green-intense-fg ansi-bold"> 1</span> drift_params <span style="color: rgb(98,98,98)">=</span> DRIFTSearchConfig(
<span class="ansi-green-intense-fg ansi-bold"> 2</span> temperature<span style="color: rgb(98,98,98)">=</span><span style="color: rgb(98,98,98)">0</span>,
<span class="ansi-green-intense-fg ansi-bold"> 3</span> max_tokens<span style="color: rgb(98,98,98)">=</span><span style="color: rgb(98,98,98)">12_000</span>,
<span class="ansi-green-fg"> (...)</span>
<span class="ansi-green-intense-fg ansi-bold"> 7</span> n<span style="color: rgb(98,98,98)">=</span><span style="color: rgb(98,98,98)">1</span>,
<span class="ansi-green-intense-fg ansi-bold"> 8</span> )
<span class="ansi-green-fg">---&gt; 10</span> context_builder <span style="color: rgb(98,98,98)">=</span> <span class="ansi-yellow-bg">DRIFTSearchContextBuilder</span>(
<span class="ansi-green-intense-fg ansi-bold"> 11</span> chat_llm<span style="color: rgb(98,98,98)">=</span>chat_llm,
<span class="ansi-green-intense-fg ansi-bold"> 10</span> context_builder <span style="color: rgb(98,98,98)">=</span> DRIFTSearchContextBuilder(
<span class="ansi-green-fg">---&gt; 11</span> model<span style="color: rgb(98,98,98)">=</span><span class="ansi-yellow-bg">chat_model</span>,
<span class="ansi-green-intense-fg ansi-bold"> 12</span> text_embedder<span style="color: rgb(98,98,98)">=</span>text_embedder,
<span class="ansi-green-intense-fg ansi-bold"> 13</span> entities<span style="color: rgb(98,98,98)">=</span>entities,
<span class="ansi-green-intense-fg ansi-bold"> 14</span> relationships<span style="color: rgb(98,98,98)">=</span>relationships,
@ -2353,10 +2444,10 @@ Cell <span class="ansi-green-fg">In[5], line 10</span>
<span class="ansi-green-intense-fg ansi-bold"> 19</span> config<span style="color: rgb(98,98,98)">=</span>drift_params,
<span class="ansi-green-intense-fg ansi-bold"> 20</span> )
<span class="ansi-green-intense-fg ansi-bold"> 22</span> search <span style="color: rgb(98,98,98)">=</span> DRIFTSearch(
<span class="ansi-green-intense-fg ansi-bold"> 23</span> llm<span style="color: rgb(98,98,98)">=</span>chat_llm, context_builder<span style="color: rgb(98,98,98)">=</span>context_builder, token_encoder<span style="color: rgb(98,98,98)">=</span>token_encoder
<span class="ansi-green-intense-fg ansi-bold"> 23</span> model<span style="color: rgb(98,98,98)">=</span>chat_model, context_builder<span style="color: rgb(98,98,98)">=</span>context_builder, token_encoder<span style="color: rgb(98,98,98)">=</span>token_encoder
<span class="ansi-green-intense-fg ansi-bold"> 24</span> )
<span class="ansi-red-fg">NameError</span>: name 'DRIFTSearchContextBuilder' is not defined</pre>
<span class="ansi-red-fg">NameError</span>: name 'chat_model' is not defined</pre>
</div>
</div>
</div>
@ -2471,9 +2562,9 @@ Cell <span class="ansi-green-fg">In[7], line 1</span>
</div>
</clipboard-copy>
</div>
<div class="highlight-ipynb hl-python"><pre><span></span><span class="n">resp</span><span class="o">.</span><span class="n">response</span><span class="p">[</span><span class="s2">"nodes"</span><span class="p">][</span><span class="mi">0</span><span class="p">][</span><span class="s2">"answer"</span><span class="p">]</span>
<div class="highlight-ipynb hl-python"><pre><span></span><span class="nb">print</span><span class="p">(</span><span class="n">resp</span><span class="o">.</span><span class="n">context_data</span><span class="p">)</span>
</pre></div>
<div class="clipboard-copy-txt" id="cell-8">resp.response["nodes"][0]["answer"]</div>
<div class="clipboard-copy-txt" id="cell-8">print(resp.context_data)</div>
</div>
</div>
</div>
@ -2489,7 +2580,7 @@ Cell <span class="ansi-green-fg">In[7], line 1</span>
<span class="ansi-red-fg">---------------------------------------------------------------------------</span>
<span class="ansi-red-fg">NameError</span> Traceback (most recent call last)
Cell <span class="ansi-green-fg">In[8], line 1</span>
<span class="ansi-green-fg">----&gt; 1</span> <span class="ansi-yellow-bg">resp</span><span style="color: rgb(98,98,98)">.</span>response[<span style="color: rgb(175,0,0)">"</span><span style="color: rgb(175,0,0)">nodes</span><span style="color: rgb(175,0,0)">"</span>][<span style="color: rgb(98,98,98)">0</span>][<span style="color: rgb(175,0,0)">"</span><span style="color: rgb(175,0,0)">answer</span><span style="color: rgb(175,0,0)">"</span>]
<span class="ansi-green-fg">----&gt; 1</span> <span style="color: rgb(0,135,0)">print</span>(<span class="ansi-yellow-bg">resp</span><span style="color: rgb(98,98,98)">.</span>context_data)
<span class="ansi-red-fg">NameError</span>: name 'resp' is not defined</pre>
</div>

View File

@ -2037,8 +2037,8 @@ span.linenos.special { color: #000000; background-color: #ffffc0; padding-left:
</div>
</div>
</div>
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell">
<div class="jp-Cell jp-CodeCell jp-Notebook-cell">
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs">
<div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs">
<div class="jp-Cell-inputWrapper" tabindex="0">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
@ -2061,13 +2061,14 @@ span.linenos.special { color: #000000; background-color: #ffffc0; padding-left:
<span class="kn">import</span><span class="w"> </span><span class="nn">pandas</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="nn">pd</span>
<span class="kn">import</span><span class="w"> </span><span class="nn">tiktoken</span>
<span class="kn">from</span><span class="w"> </span><span class="nn">graphrag.config.enums</span><span class="w"> </span><span class="kn">import</span> <span class="n">ModelType</span>
<span class="kn">from</span><span class="w"> </span><span class="nn">graphrag.config.models.language_model_config</span><span class="w"> </span><span class="kn">import</span> <span class="n">LanguageModelConfig</span>
<span class="kn">from</span><span class="w"> </span><span class="nn">graphrag.language_model.manager</span><span class="w"> </span><span class="kn">import</span> <span class="n">ModelManager</span>
<span class="kn">from</span><span class="w"> </span><span class="nn">graphrag.query.indexer_adapters</span><span class="w"> </span><span class="kn">import</span> <span class="p">(</span>
<span class="n">read_indexer_communities</span><span class="p">,</span>
<span class="n">read_indexer_entities</span><span class="p">,</span>
<span class="n">read_indexer_reports</span><span class="p">,</span>
<span class="p">)</span>
<span class="kn">from</span><span class="w"> </span><span class="nn">graphrag.query.llm.oai.chat_openai</span><span class="w"> </span><span class="kn">import</span> <span class="n">ChatOpenAI</span>
<span class="kn">from</span><span class="w"> </span><span class="nn">graphrag.query.llm.oai.typing</span><span class="w"> </span><span class="kn">import</span> <span class="n">OpenaiApiType</span>
<span class="kn">from</span><span class="w"> </span><span class="nn">graphrag.query.structured_search.global_search.community_context</span><span class="w"> </span><span class="kn">import</span> <span class="p">(</span>
<span class="n">GlobalCommunityContext</span><span class="p">,</span>
<span class="p">)</span>
@ -2078,13 +2079,14 @@ span.linenos.special { color: #000000; background-color: #ffffc0; padding-left:
import pandas as pd
import tiktoken
from graphrag.config.enums import ModelType
from graphrag.config.models.language_model_config import LanguageModelConfig
from graphrag.language_model.manager import ModelManager
from graphrag.query.indexer_adapters import (
read_indexer_communities,
read_indexer_entities,
read_indexer_reports,
)
from graphrag.query.llm.oai.chat_openai import ChatOpenAI
from graphrag.query.llm.oai.typing import OpenaiApiType
from graphrag.query.structured_search.global_search.community_context import (
GlobalCommunityContext,
)
@ -2093,34 +2095,6 @@ from graphrag.query.structured_search.global_search.search import GlobalSearch</
</div>
</div>
</div>
<div class="jp-Cell-outputWrapper">
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
</div>
<div class="jp-OutputArea jp-Cell-outputArea">
<div class="jp-OutputArea-child">
<div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="application/vnd.jupyter.stderr" tabindex="0">
<pre>
<span class="ansi-red-fg">---------------------------------------------------------------------------</span>
<span class="ansi-red-fg">ModuleNotFoundError</span> Traceback (most recent call last)
Cell <span class="ansi-green-fg">In[2], line 11</span>
<span class="ansi-green-intense-fg ansi-bold"> 4</span> <span class="ansi-bold" style="color: rgb(0,135,0)">import</span><span style="color: rgb(188,188,188)"> </span><span class="ansi-bold" style="color: rgb(0,0,255)">tiktoken</span>
<span class="ansi-green-intense-fg ansi-bold"> 6</span> <span class="ansi-bold" style="color: rgb(0,135,0)">from</span><span style="color: rgb(188,188,188)"> </span><span class="ansi-bold" style="color: rgb(0,0,255)">graphrag</span><span class="ansi-bold" style="color: rgb(0,0,255)">.</span><span class="ansi-bold" style="color: rgb(0,0,255)">query</span><span class="ansi-bold" style="color: rgb(0,0,255)">.</span><span class="ansi-bold" style="color: rgb(0,0,255)">indexer_adapters</span><span style="color: rgb(188,188,188)"> </span><span class="ansi-bold" style="color: rgb(0,135,0)">import</span> (
<span class="ansi-green-intense-fg ansi-bold"> 7</span> read_indexer_communities,
<span class="ansi-green-intense-fg ansi-bold"> 8</span> read_indexer_entities,
<span class="ansi-green-intense-fg ansi-bold"> 9</span> read_indexer_reports,
<span class="ansi-green-intense-fg ansi-bold"> 10</span> )
<span class="ansi-green-fg">---&gt; 11</span> <span class="ansi-bold" style="color: rgb(0,135,0)">from</span><span style="color: rgb(188,188,188)"> </span><span class="ansi-bold" style="color: rgb(0,0,255)">graphrag</span><span class="ansi-bold" style="color: rgb(0,0,255)">.</span><span class="ansi-bold" style="color: rgb(0,0,255)">query</span><span class="ansi-bold" style="color: rgb(0,0,255)">.</span><span class="ansi-bold" style="color: rgb(0,0,255)">llm</span><span class="ansi-bold" style="color: rgb(0,0,255)">.</span><span class="ansi-bold" style="color: rgb(0,0,255)">oai</span><span class="ansi-bold" style="color: rgb(0,0,255)">.</span><span class="ansi-bold" style="color: rgb(0,0,255)">chat_openai</span><span style="color: rgb(188,188,188)"> </span><span class="ansi-bold" style="color: rgb(0,135,0)">import</span> ChatOpenAI
<span class="ansi-green-intense-fg ansi-bold"> 12</span> <span class="ansi-bold" style="color: rgb(0,135,0)">from</span><span style="color: rgb(188,188,188)"> </span><span class="ansi-bold" style="color: rgb(0,0,255)">graphrag</span><span class="ansi-bold" style="color: rgb(0,0,255)">.</span><span class="ansi-bold" style="color: rgb(0,0,255)">query</span><span class="ansi-bold" style="color: rgb(0,0,255)">.</span><span class="ansi-bold" style="color: rgb(0,0,255)">llm</span><span class="ansi-bold" style="color: rgb(0,0,255)">.</span><span class="ansi-bold" style="color: rgb(0,0,255)">oai</span><span class="ansi-bold" style="color: rgb(0,0,255)">.</span><span class="ansi-bold" style="color: rgb(0,0,255)">typing</span><span style="color: rgb(188,188,188)"> </span><span class="ansi-bold" style="color: rgb(0,135,0)">import</span> OpenaiApiType
<span class="ansi-green-intense-fg ansi-bold"> 13</span> <span class="ansi-bold" style="color: rgb(0,135,0)">from</span><span style="color: rgb(188,188,188)"> </span><span class="ansi-bold" style="color: rgb(0,0,255)">graphrag</span><span class="ansi-bold" style="color: rgb(0,0,255)">.</span><span class="ansi-bold" style="color: rgb(0,0,255)">query</span><span class="ansi-bold" style="color: rgb(0,0,255)">.</span><span class="ansi-bold" style="color: rgb(0,0,255)">structured_search</span><span class="ansi-bold" style="color: rgb(0,0,255)">.</span><span class="ansi-bold" style="color: rgb(0,0,255)">global_search</span><span class="ansi-bold" style="color: rgb(0,0,255)">.</span><span class="ansi-bold" style="color: rgb(0,0,255)">community_context</span><span style="color: rgb(188,188,188)"> </span><span class="ansi-bold" style="color: rgb(0,135,0)">import</span> (
<span class="ansi-green-intense-fg ansi-bold"> 14</span> GlobalCommunityContext,
<span class="ansi-green-intense-fg ansi-bold"> 15</span> )
<span class="ansi-red-fg">ModuleNotFoundError</span>: No module named 'graphrag.query.llm.oai'</pre>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell">
@ -2166,24 +2140,34 @@ Cell <span class="ansi-green-fg">In[2], line 11</span>
<div class="highlight-ipynb hl-python"><pre><span></span><span class="n">api_key</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="p">[</span><span class="s2">"GRAPHRAG_API_KEY"</span><span class="p">]</span>
<span class="n">llm_model</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="p">[</span><span class="s2">"GRAPHRAG_LLM_MODEL"</span><span class="p">]</span>
<span class="n">llm</span> <span class="o">=</span> <span class="n">ChatOpenAI</span><span class="p">(</span>
<span class="n">config</span> <span class="o">=</span> <span class="n">LanguageModelConfig</span><span class="p">(</span>
<span class="n">api_key</span><span class="o">=</span><span class="n">api_key</span><span class="p">,</span>
<span class="nb">type</span><span class="o">=</span><span class="n">ModelType</span><span class="o">.</span><span class="n">OpenAIChat</span><span class="p">,</span>
<span class="n">model</span><span class="o">=</span><span class="n">llm_model</span><span class="p">,</span>
<span class="n">api_type</span><span class="o">=</span><span class="n">OpenaiApiType</span><span class="o">.</span><span class="n">OpenAI</span><span class="p">,</span> <span class="c1"># OpenaiApiType.OpenAI or OpenaiApiType.AzureOpenAI</span>
<span class="n">max_retries</span><span class="o">=</span><span class="mi">20</span><span class="p">,</span>
<span class="p">)</span>
<span class="n">model</span> <span class="o">=</span> <span class="n">ModelManager</span><span class="p">()</span><span class="o">.</span><span class="n">get_or_create_chat_model</span><span class="p">(</span>
<span class="n">name</span><span class="o">=</span><span class="s2">"global_search"</span><span class="p">,</span>
<span class="n">model_type</span><span class="o">=</span><span class="n">ModelType</span><span class="o">.</span><span class="n">OpenAIChat</span><span class="p">,</span>
<span class="n">config</span><span class="o">=</span><span class="n">config</span><span class="p">,</span>
<span class="p">)</span>
<span class="n">token_encoder</span> <span class="o">=</span> <span class="n">tiktoken</span><span class="o">.</span><span class="n">encoding_for_model</span><span class="p">(</span><span class="n">llm_model</span><span class="p">)</span>
</pre></div>
<div class="clipboard-copy-txt" id="cell-3">api_key = os.environ["GRAPHRAG_API_KEY"]
llm_model = os.environ["GRAPHRAG_LLM_MODEL"]
llm = ChatOpenAI(
config = LanguageModelConfig(
api_key=api_key,
type=ModelType.OpenAIChat,
model=llm_model,
api_type=OpenaiApiType.OpenAI, # OpenaiApiType.OpenAI or OpenaiApiType.AzureOpenAI
max_retries=20,
)
model = ModelManager().get_or_create_chat_model(
name="global_search",
model_type=ModelType.OpenAIChat,
config=config,
)
token_encoder = tiktoken.encoding_for_model(llm_model)</div>
</div>
@ -2199,19 +2183,38 @@ token_encoder = tiktoken.encoding_for_model(llm_model)</div>
<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="application/vnd.jupyter.stderr" tabindex="0">
<pre>
<span class="ansi-red-fg">---------------------------------------------------------------------------</span>
<span class="ansi-red-fg">NameError</span> Traceback (most recent call last)
<span class="ansi-red-fg">ValidationError</span> Traceback (most recent call last)
Cell <span class="ansi-green-fg">In[3], line 4</span>
<span class="ansi-green-intense-fg ansi-bold"> 1</span> api_key <span style="color: rgb(98,98,98)">=</span> os<span style="color: rgb(98,98,98)">.</span>environ[<span style="color: rgb(175,0,0)">"</span><span style="color: rgb(175,0,0)">GRAPHRAG_API_KEY</span><span style="color: rgb(175,0,0)">"</span>]
<span class="ansi-green-intense-fg ansi-bold"> 2</span> llm_model <span style="color: rgb(98,98,98)">=</span> os<span style="color: rgb(98,98,98)">.</span>environ[<span style="color: rgb(175,0,0)">"</span><span style="color: rgb(175,0,0)">GRAPHRAG_LLM_MODEL</span><span style="color: rgb(175,0,0)">"</span>]
<span class="ansi-green-fg">----&gt; 4</span> llm <span style="color: rgb(98,98,98)">=</span> <span class="ansi-yellow-bg">ChatOpenAI</span>(
<span class="ansi-green-intense-fg ansi-bold"> 5</span> api_key<span style="color: rgb(98,98,98)">=</span>api_key,
<span class="ansi-green-intense-fg ansi-bold"> 6</span> model<span style="color: rgb(98,98,98)">=</span>llm_model,
<span class="ansi-green-intense-fg ansi-bold"> 7</span> api_type<span style="color: rgb(98,98,98)">=</span>OpenaiApiType<span style="color: rgb(98,98,98)">.</span>OpenAI, <span style="color: rgb(95,135,135)"># OpenaiApiType.OpenAI or OpenaiApiType.AzureOpenAI</span>
<span class="ansi-green-intense-fg ansi-bold"> 8</span> max_retries<span style="color: rgb(98,98,98)">=</span><span style="color: rgb(98,98,98)">20</span>,
<span class="ansi-green-intense-fg ansi-bold"> 9</span> )
<span class="ansi-green-intense-fg ansi-bold"> 11</span> token_encoder <span style="color: rgb(98,98,98)">=</span> tiktoken<span style="color: rgb(98,98,98)">.</span>encoding_for_model(llm_model)
<span class="ansi-green-fg">----&gt; 4</span> config <span style="color: rgb(98,98,98)">=</span> <span class="ansi-yellow-bg">LanguageModelConfig</span><span class="ansi-yellow-bg">(</span>
<span class="ansi-green-intense-fg ansi-bold"> 5</span> <span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">api_key</span><span class="ansi-yellow-bg" style="color: rgb(98,98,98)">=</span><span class="ansi-yellow-bg">api_key</span><span class="ansi-yellow-bg">,</span>
<span class="ansi-green-intense-fg ansi-bold"> 6</span> <span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg" style="color: rgb(0,135,0)">type</span><span class="ansi-yellow-bg" style="color: rgb(98,98,98)">=</span><span class="ansi-yellow-bg">ModelType</span><span class="ansi-yellow-bg" style="color: rgb(98,98,98)">.</span><span class="ansi-yellow-bg">OpenAIChat</span><span class="ansi-yellow-bg">,</span>
<span class="ansi-green-intense-fg ansi-bold"> 7</span> <span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">model</span><span class="ansi-yellow-bg" style="color: rgb(98,98,98)">=</span><span class="ansi-yellow-bg">llm_model</span><span class="ansi-yellow-bg">,</span>
<span class="ansi-green-intense-fg ansi-bold"> 8</span> <span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">max_retries</span><span class="ansi-yellow-bg" style="color: rgb(98,98,98)">=</span><span class="ansi-yellow-bg" style="color: rgb(98,98,98)">20</span><span class="ansi-yellow-bg">,</span>
<span class="ansi-green-intense-fg ansi-bold"> 9</span> <span class="ansi-yellow-bg">)</span>
<span class="ansi-green-intense-fg ansi-bold"> 10</span> model <span style="color: rgb(98,98,98)">=</span> ModelManager()<span style="color: rgb(98,98,98)">.</span>get_or_create_chat_model(
<span class="ansi-green-intense-fg ansi-bold"> 11</span> name<span style="color: rgb(98,98,98)">=</span><span style="color: rgb(175,0,0)">"</span><span style="color: rgb(175,0,0)">global_search</span><span style="color: rgb(175,0,0)">"</span>,
<span class="ansi-green-intense-fg ansi-bold"> 12</span> model_type<span style="color: rgb(98,98,98)">=</span>ModelType<span style="color: rgb(98,98,98)">.</span>OpenAIChat,
<span class="ansi-green-intense-fg ansi-bold"> 13</span> config<span style="color: rgb(98,98,98)">=</span>config,
<span class="ansi-green-intense-fg ansi-bold"> 14</span> )
<span class="ansi-green-intense-fg ansi-bold"> 16</span> token_encoder <span style="color: rgb(98,98,98)">=</span> tiktoken<span style="color: rgb(98,98,98)">.</span>encoding_for_model(llm_model)
<span class="ansi-red-fg">NameError</span>: name 'ChatOpenAI' is not defined</pre>
File <span class="ansi-green-fg">~/.cache/pypoetry/virtualenvs/graphrag-F2jvqev7-py3.11/lib/python3.11/site-packages/pydantic/main.py:214</span>, in <span class="ansi-cyan-fg">BaseModel.__init__</span><span class="ansi-blue-fg">(self, **data)</span>
<span class="ansi-green-intense-fg ansi-bold"> 212</span> <span style="color: rgb(95,135,135)"># `__tracebackhide__` tells pytest and some other tools to omit this function from tracebacks</span>
<span class="ansi-green-intense-fg ansi-bold"> 213</span> __tracebackhide__ <span style="color: rgb(98,98,98)">=</span> <span class="ansi-bold" style="color: rgb(0,135,0)">True</span>
<span class="ansi-green-fg">--&gt; 214</span> validated_self <span style="color: rgb(98,98,98)">=</span> <span class="ansi-yellow-bg" style="color: rgb(0,135,0)">self</span><span class="ansi-yellow-bg" style="color: rgb(98,98,98)">.</span><span class="ansi-yellow-bg">__pydantic_validator__</span><span class="ansi-yellow-bg" style="color: rgb(98,98,98)">.</span><span class="ansi-yellow-bg">validate_python</span><span class="ansi-yellow-bg">(</span><span class="ansi-yellow-bg">data</span><span class="ansi-yellow-bg">,</span><span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">self_instance</span><span class="ansi-yellow-bg" style="color: rgb(98,98,98)">=</span><span class="ansi-yellow-bg" style="color: rgb(0,135,0)">self</span><span class="ansi-yellow-bg">)</span>
<span class="ansi-green-intense-fg ansi-bold"> 215</span> <span class="ansi-bold" style="color: rgb(0,135,0)">if</span> <span style="color: rgb(0,135,0)">self</span> <span class="ansi-bold" style="color: rgb(175,0,255)">is</span> <span class="ansi-bold" style="color: rgb(175,0,255)">not</span> validated_self:
<span class="ansi-green-intense-fg ansi-bold"> 216</span> warnings<span style="color: rgb(98,98,98)">.</span>warn(
<span class="ansi-green-intense-fg ansi-bold"> 217</span> <span style="color: rgb(175,0,0)">'</span><span style="color: rgb(175,0,0)">A custom validator is returning a value other than `self`.</span><span class="ansi-bold" style="color: rgb(175,95,0)">\n</span><span style="color: rgb(175,0,0)">'</span>
<span class="ansi-green-intense-fg ansi-bold"> 218</span> <span style="color: rgb(175,0,0)">"</span><span style="color: rgb(175,0,0)">Returning anything other than `self` from a top level model validator isn</span><span style="color: rgb(175,0,0)">'</span><span style="color: rgb(175,0,0)">t supported when validating via `__init__`.</span><span class="ansi-bold" style="color: rgb(175,95,0)">\n</span><span style="color: rgb(175,0,0)">"</span>
<span class="ansi-green-intense-fg ansi-bold"> 219</span> <span style="color: rgb(175,0,0)">'</span><span style="color: rgb(175,0,0)">See the `model_validator` docs (https://docs.pydantic.dev/latest/concepts/validators/#model-validators) for more details.</span><span style="color: rgb(175,0,0)">'</span>,
<span class="ansi-green-intense-fg ansi-bold"> 220</span> stacklevel<span style="color: rgb(98,98,98)">=</span><span style="color: rgb(98,98,98)">2</span>,
<span class="ansi-green-intense-fg ansi-bold"> 221</span> )
<span class="ansi-red-fg">ValidationError</span>: 1 validation error for LanguageModelConfig
Value error, API Key is required for ModelType.OpenAIChat when using api_key authentication. Please rerun `graphrag init` and set the API_KEY. [type=value_error, input_value={'api_key': '', 'type': "...-4o', 'max_retries': 20}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/value_error</pre>
</div>
</div>
</div>
@ -2333,74 +2336,90 @@ report_df.head()</div>
<div class="jp-OutputArea jp-Cell-outputArea">
<div class="jp-OutputArea-child">
<div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="application/vnd.jupyter.stderr" tabindex="0">
<pre>
<span class="ansi-red-fg">---------------------------------------------------------------------------</span>
<span class="ansi-red-fg">FileNotFoundError</span> Traceback (most recent call last)
Cell <span class="ansi-green-fg">In[5], line 1</span>
<span class="ansi-green-fg">----&gt; 1</span> community_df <span style="color: rgb(98,98,98)">=</span> <span class="ansi-yellow-bg">pd</span><span class="ansi-yellow-bg" style="color: rgb(98,98,98)">.</span><span class="ansi-yellow-bg">read_parquet</span><span class="ansi-yellow-bg">(</span><span class="ansi-yellow-bg" style="color: rgb(175,0,0)">f</span><span class="ansi-yellow-bg" style="color: rgb(175,0,0)">"</span><span class="ansi-yellow-bg ansi-bold" style="color: rgb(175,95,135)">{</span><span class="ansi-yellow-bg">INPUT_DIR</span><span class="ansi-yellow-bg ansi-bold" style="color: rgb(175,95,135)">}</span><span class="ansi-yellow-bg" style="color: rgb(175,0,0)">/</span><span class="ansi-yellow-bg ansi-bold" style="color: rgb(175,95,135)">{</span><span class="ansi-yellow-bg">COMMUNITY_TABLE</span><span class="ansi-yellow-bg ansi-bold" style="color: rgb(175,95,135)">}</span><span class="ansi-yellow-bg" style="color: rgb(175,0,0)">.parquet</span><span class="ansi-yellow-bg" style="color: rgb(175,0,0)">"</span><span class="ansi-yellow-bg">)</span>
<span class="ansi-green-intense-fg ansi-bold"> 2</span> entity_df <span style="color: rgb(98,98,98)">=</span> pd<span style="color: rgb(98,98,98)">.</span>read_parquet(<span style="color: rgb(175,0,0)">f</span><span style="color: rgb(175,0,0)">"</span><span class="ansi-bold" style="color: rgb(175,95,135)">{</span>INPUT_DIR<span class="ansi-bold" style="color: rgb(175,95,135)">}</span><span style="color: rgb(175,0,0)">/</span><span class="ansi-bold" style="color: rgb(175,95,135)">{</span>ENTITY_TABLE<span class="ansi-bold" style="color: rgb(175,95,135)">}</span><span style="color: rgb(175,0,0)">.parquet</span><span style="color: rgb(175,0,0)">"</span>)
<span class="ansi-green-intense-fg ansi-bold"> 3</span> report_df <span style="color: rgb(98,98,98)">=</span> pd<span style="color: rgb(98,98,98)">.</span>read_parquet(<span style="color: rgb(175,0,0)">f</span><span style="color: rgb(175,0,0)">"</span><span class="ansi-bold" style="color: rgb(175,95,135)">{</span>INPUT_DIR<span class="ansi-bold" style="color: rgb(175,95,135)">}</span><span style="color: rgb(175,0,0)">/</span><span class="ansi-bold" style="color: rgb(175,95,135)">{</span>COMMUNITY_REPORT_TABLE<span class="ansi-bold" style="color: rgb(175,95,135)">}</span><span style="color: rgb(175,0,0)">.parquet</span><span style="color: rgb(175,0,0)">"</span>)
<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="text/plain" tabindex="0">
<pre>Total report count: 2
Report count after filtering by community level 2: 2
</pre>
</div>
</div>
<div class="jp-OutputArea-child jp-OutputArea-executeResult">
<div class="jp-OutputPrompt jp-OutputArea-prompt">Out[5]:</div>
<div class="jp-RenderedHTMLCommon jp-RenderedHTML jp-OutputArea-output jp-OutputArea-executeResult" data-mime-type="text/html" tabindex="0">
<div>
<style scoped="">
.dataframe tbody tr th:only-of-type {
vertical-align: middle;
}
File <span class="ansi-green-fg">~/.cache/pypoetry/virtualenvs/graphrag-F2jvqev7-py3.11/lib/python3.11/site-packages/pandas/io/parquet.py:667</span>, in <span class="ansi-cyan-fg">read_parquet</span><span class="ansi-blue-fg">(path, engine, columns, storage_options, use_nullable_dtypes, dtype_backend, filesystem, filters, **kwargs)</span>
<span class="ansi-green-intense-fg ansi-bold"> 664</span> use_nullable_dtypes <span style="color: rgb(98,98,98)">=</span> <span class="ansi-bold" style="color: rgb(0,135,0)">False</span>
<span class="ansi-green-intense-fg ansi-bold"> 665</span> check_dtype_backend(dtype_backend)
<span class="ansi-green-fg">--&gt; 667</span> <span class="ansi-bold" style="color: rgb(0,135,0)">return</span> <span class="ansi-yellow-bg">impl</span><span class="ansi-yellow-bg" style="color: rgb(98,98,98)">.</span><span class="ansi-yellow-bg">read</span><span class="ansi-yellow-bg">(</span>
<span class="ansi-green-intense-fg ansi-bold"> 668</span> <span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">path</span><span class="ansi-yellow-bg">,</span>
<span class="ansi-green-intense-fg ansi-bold"> 669</span> <span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">columns</span><span class="ansi-yellow-bg" style="color: rgb(98,98,98)">=</span><span class="ansi-yellow-bg">columns</span><span class="ansi-yellow-bg">,</span>
<span class="ansi-green-intense-fg ansi-bold"> 670</span> <span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">filters</span><span class="ansi-yellow-bg" style="color: rgb(98,98,98)">=</span><span class="ansi-yellow-bg">filters</span><span class="ansi-yellow-bg">,</span>
<span class="ansi-green-intense-fg ansi-bold"> 671</span> <span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">storage_options</span><span class="ansi-yellow-bg" style="color: rgb(98,98,98)">=</span><span class="ansi-yellow-bg">storage_options</span><span class="ansi-yellow-bg">,</span>
<span class="ansi-green-intense-fg ansi-bold"> 672</span> <span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">use_nullable_dtypes</span><span class="ansi-yellow-bg" style="color: rgb(98,98,98)">=</span><span class="ansi-yellow-bg">use_nullable_dtypes</span><span class="ansi-yellow-bg">,</span>
<span class="ansi-green-intense-fg ansi-bold"> 673</span> <span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">dtype_backend</span><span class="ansi-yellow-bg" style="color: rgb(98,98,98)">=</span><span class="ansi-yellow-bg">dtype_backend</span><span class="ansi-yellow-bg">,</span>
<span class="ansi-green-intense-fg ansi-bold"> 674</span> <span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">filesystem</span><span class="ansi-yellow-bg" style="color: rgb(98,98,98)">=</span><span class="ansi-yellow-bg">filesystem</span><span class="ansi-yellow-bg">,</span>
<span class="ansi-green-intense-fg ansi-bold"> 675</span> <span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg" style="color: rgb(98,98,98)">*</span><span class="ansi-yellow-bg" style="color: rgb(98,98,98)">*</span><span class="ansi-yellow-bg">kwargs</span><span class="ansi-yellow-bg">,</span>
<span class="ansi-green-intense-fg ansi-bold"> 676</span> <span class="ansi-yellow-bg">)</span>
.dataframe tbody tr th {
vertical-align: top;
}
File <span class="ansi-green-fg">~/.cache/pypoetry/virtualenvs/graphrag-F2jvqev7-py3.11/lib/python3.11/site-packages/pandas/io/parquet.py:267</span>, in <span class="ansi-cyan-fg">PyArrowImpl.read</span><span class="ansi-blue-fg">(self, path, columns, filters, use_nullable_dtypes, dtype_backend, storage_options, filesystem, **kwargs)</span>
<span class="ansi-green-intense-fg ansi-bold"> 264</span> <span class="ansi-bold" style="color: rgb(0,135,0)">if</span> manager <span style="color: rgb(98,98,98)">==</span> <span style="color: rgb(175,0,0)">"</span><span style="color: rgb(175,0,0)">array</span><span style="color: rgb(175,0,0)">"</span>:
<span class="ansi-green-intense-fg ansi-bold"> 265</span> to_pandas_kwargs[<span style="color: rgb(175,0,0)">"</span><span style="color: rgb(175,0,0)">split_blocks</span><span style="color: rgb(175,0,0)">"</span>] <span style="color: rgb(98,98,98)">=</span> <span class="ansi-bold" style="color: rgb(0,135,0)">True</span> <span style="color: rgb(95,135,135)"># type: ignore[assignment]</span>
<span class="ansi-green-fg">--&gt; 267</span> path_or_handle, handles, filesystem <span style="color: rgb(98,98,98)">=</span> <span class="ansi-yellow-bg">_get_path_or_handle</span><span class="ansi-yellow-bg">(</span>
<span class="ansi-green-intense-fg ansi-bold"> 268</span> <span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">path</span><span class="ansi-yellow-bg">,</span>
<span class="ansi-green-intense-fg ansi-bold"> 269</span> <span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">filesystem</span><span class="ansi-yellow-bg">,</span>
<span class="ansi-green-intense-fg ansi-bold"> 270</span> <span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">storage_options</span><span class="ansi-yellow-bg" style="color: rgb(98,98,98)">=</span><span class="ansi-yellow-bg">storage_options</span><span class="ansi-yellow-bg">,</span>
<span class="ansi-green-intense-fg ansi-bold"> 271</span> <span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">mode</span><span class="ansi-yellow-bg" style="color: rgb(98,98,98)">=</span><span class="ansi-yellow-bg" style="color: rgb(175,0,0)">"</span><span class="ansi-yellow-bg" style="color: rgb(175,0,0)">rb</span><span class="ansi-yellow-bg" style="color: rgb(175,0,0)">"</span><span class="ansi-yellow-bg">,</span>
<span class="ansi-green-intense-fg ansi-bold"> 272</span> <span class="ansi-yellow-bg">)</span>
<span class="ansi-green-intense-fg ansi-bold"> 273</span> <span class="ansi-bold" style="color: rgb(0,135,0)">try</span>:
<span class="ansi-green-intense-fg ansi-bold"> 274</span> pa_table <span style="color: rgb(98,98,98)">=</span> <span style="color: rgb(0,135,0)">self</span><span style="color: rgb(98,98,98)">.</span>api<span style="color: rgb(98,98,98)">.</span>parquet<span style="color: rgb(98,98,98)">.</span>read_table(
<span class="ansi-green-intense-fg ansi-bold"> 275</span> path_or_handle,
<span class="ansi-green-intense-fg ansi-bold"> 276</span> columns<span style="color: rgb(98,98,98)">=</span>columns,
<span class="ansi-green-fg"> (...)</span>
<span class="ansi-green-intense-fg ansi-bold"> 279</span> <span style="color: rgb(98,98,98)">*</span><span style="color: rgb(98,98,98)">*</span>kwargs,
<span class="ansi-green-intense-fg ansi-bold"> 280</span> )
File <span class="ansi-green-fg">~/.cache/pypoetry/virtualenvs/graphrag-F2jvqev7-py3.11/lib/python3.11/site-packages/pandas/io/parquet.py:140</span>, in <span class="ansi-cyan-fg">_get_path_or_handle</span><span class="ansi-blue-fg">(path, fs, storage_options, mode, is_dir)</span>
<span class="ansi-green-intense-fg ansi-bold"> 130</span> handles <span style="color: rgb(98,98,98)">=</span> <span class="ansi-bold" style="color: rgb(0,135,0)">None</span>
<span class="ansi-green-intense-fg ansi-bold"> 131</span> <span class="ansi-bold" style="color: rgb(0,135,0)">if</span> (
<span class="ansi-green-intense-fg ansi-bold"> 132</span> <span class="ansi-bold" style="color: rgb(175,0,255)">not</span> fs
<span class="ansi-green-intense-fg ansi-bold"> 133</span> <span class="ansi-bold" style="color: rgb(175,0,255)">and</span> <span class="ansi-bold" style="color: rgb(175,0,255)">not</span> is_dir
<span class="ansi-green-fg"> (...)</span>
<span class="ansi-green-intense-fg ansi-bold"> 138</span> <span style="color: rgb(95,135,135)"># fsspec resources can also point to directories</span>
<span class="ansi-green-intense-fg ansi-bold"> 139</span> <span style="color: rgb(95,135,135)"># this branch is used for example when reading from non-fsspec URLs</span>
<span class="ansi-green-fg">--&gt; 140</span> handles <span style="color: rgb(98,98,98)">=</span> <span class="ansi-yellow-bg">get_handle</span><span class="ansi-yellow-bg">(</span>
<span class="ansi-green-intense-fg ansi-bold"> 141</span> <span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">path_or_handle</span><span class="ansi-yellow-bg">,</span><span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">mode</span><span class="ansi-yellow-bg">,</span><span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">is_text</span><span class="ansi-yellow-bg" style="color: rgb(98,98,98)">=</span><span class="ansi-yellow-bg ansi-bold" style="color: rgb(0,135,0)">False</span><span class="ansi-yellow-bg">,</span><span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">storage_options</span><span class="ansi-yellow-bg" style="color: rgb(98,98,98)">=</span><span class="ansi-yellow-bg">storage_options</span>
<span class="ansi-green-intense-fg ansi-bold"> 142</span> <span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">)</span>
<span class="ansi-green-intense-fg ansi-bold"> 143</span> fs <span style="color: rgb(98,98,98)">=</span> <span class="ansi-bold" style="color: rgb(0,135,0)">None</span>
<span class="ansi-green-intense-fg ansi-bold"> 144</span> path_or_handle <span style="color: rgb(98,98,98)">=</span> handles<span style="color: rgb(98,98,98)">.</span>handle
File <span class="ansi-green-fg">~/.cache/pypoetry/virtualenvs/graphrag-F2jvqev7-py3.11/lib/python3.11/site-packages/pandas/io/common.py:882</span>, in <span class="ansi-cyan-fg">get_handle</span><span class="ansi-blue-fg">(path_or_buf, mode, encoding, compression, memory_map, is_text, errors, storage_options)</span>
<span class="ansi-green-intense-fg ansi-bold"> 873</span> handle <span style="color: rgb(98,98,98)">=</span> <span style="color: rgb(0,135,0)">open</span>(
<span class="ansi-green-intense-fg ansi-bold"> 874</span> handle,
<span class="ansi-green-intense-fg ansi-bold"> 875</span> ioargs<span style="color: rgb(98,98,98)">.</span>mode,
<span class="ansi-green-fg"> (...)</span>
<span class="ansi-green-intense-fg ansi-bold"> 878</span> newline<span style="color: rgb(98,98,98)">=</span><span style="color: rgb(175,0,0)">"</span><span style="color: rgb(175,0,0)">"</span>,
<span class="ansi-green-intense-fg ansi-bold"> 879</span> )
<span class="ansi-green-intense-fg ansi-bold"> 880</span> <span class="ansi-bold" style="color: rgb(0,135,0)">else</span>:
<span class="ansi-green-intense-fg ansi-bold"> 881</span> <span style="color: rgb(95,135,135)"># Binary mode</span>
<span class="ansi-green-fg">--&gt; 882</span> handle <span style="color: rgb(98,98,98)">=</span> <span class="ansi-yellow-bg" style="color: rgb(0,135,0)">open</span><span class="ansi-yellow-bg">(</span><span class="ansi-yellow-bg">handle</span><span class="ansi-yellow-bg">,</span><span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">ioargs</span><span class="ansi-yellow-bg" style="color: rgb(98,98,98)">.</span><span class="ansi-yellow-bg">mode</span><span class="ansi-yellow-bg">)</span>
<span class="ansi-green-intense-fg ansi-bold"> 883</span> handles<span style="color: rgb(98,98,98)">.</span>append(handle)
<span class="ansi-green-intense-fg ansi-bold"> 885</span> <span style="color: rgb(95,135,135)"># Convert BytesIO or file objects passed with an encoding</span>
<span class="ansi-red-fg">FileNotFoundError</span>: [Errno 2] No such file or directory: './inputs/operation dulce/communities.parquet'</pre>
.dataframe thead th {
text-align: right;
}
</style>
<table border="1" class="dataframe">
<thead>
<tr style="text-align: right;">
<th></th>
<th>id</th>
<th>human_readable_id</th>
<th>community</th>
<th>level</th>
<th>parent</th>
<th>children</th>
<th>title</th>
<th>summary</th>
<th>full_content</th>
<th>rank</th>
<th>rating_explanation</th>
<th>findings</th>
<th>full_content_json</th>
<th>period</th>
<th>size</th>
</tr>
</thead>
<tbody>
<tr>
<th>0</th>
<td>6c3a555680d647ac8be866a129c7b0ea</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>-1</td>
<td>[]</td>
<td>Operation: Dulce and Dulce Base Exploration</td>
<td>The community revolves around 'Operation: Dulc...</td>
<td># Operation: Dulce and Dulce Base Exploration\...</td>
<td>8.5</td>
<td>The impact severity rating is high due to the ...</td>
<td>[{'explanation': 'Operation: Dulce is a signif...</td>
<td>{\n "title": "Operation: Dulce and Dulce Ba...</td>
<td>2025-03-04</td>
<td>7</td>
</tr>
<tr>
<th>1</th>
<td>0127331a1ea34b8ba19de2c2a4cb3bc9</td>
<td>1</td>
<td>1</td>
<td>0</td>
<td>-1</td>
<td>[]</td>
<td>Paranormal Military Squad and Operation: Dulce</td>
<td>The community centers around the Paranormal Mi...</td>
<td># Paranormal Military Squad and Operation: Dul...</td>
<td>8.5</td>
<td>The impact severity rating is high due to the ...</td>
<td>[{'explanation': 'Agent Alex Mercer is a key f...</td>
<td>{\n "title": "Paranormal Military Squad and...</td>
<td>2025-03-04</td>
<td>9</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
@ -2463,15 +2482,15 @@ File <span class="ansi-green-fg">~/.cache/pypoetry/virtualenvs/graphrag-F2jvqev7
<pre>
<span class="ansi-red-fg">---------------------------------------------------------------------------</span>
<span class="ansi-red-fg">NameError</span> Traceback (most recent call last)
Cell <span class="ansi-green-fg">In[6], line 1</span>
<span class="ansi-green-fg">----&gt; 1</span> context_builder <span style="color: rgb(98,98,98)">=</span> <span class="ansi-yellow-bg">GlobalCommunityContext</span>(
Cell <span class="ansi-green-fg">In[6], line 5</span>
<span class="ansi-green-intense-fg ansi-bold"> 1</span> context_builder <span style="color: rgb(98,98,98)">=</span> GlobalCommunityContext(
<span class="ansi-green-intense-fg ansi-bold"> 2</span> community_reports<span style="color: rgb(98,98,98)">=</span>reports,
<span class="ansi-green-intense-fg ansi-bold"> 3</span> communities<span style="color: rgb(98,98,98)">=</span>communities,
<span class="ansi-green-intense-fg ansi-bold"> 4</span> entities<span style="color: rgb(98,98,98)">=</span>entities, <span style="color: rgb(95,135,135)"># default to None if you don't want to use community weights for ranking</span>
<span class="ansi-green-intense-fg ansi-bold"> 5</span> token_encoder<span style="color: rgb(98,98,98)">=</span>token_encoder,
<span class="ansi-green-fg">----&gt; 5</span> token_encoder<span style="color: rgb(98,98,98)">=</span><span class="ansi-yellow-bg">token_encoder</span>,
<span class="ansi-green-intense-fg ansi-bold"> 6</span> )
<span class="ansi-red-fg">NameError</span>: name 'GlobalCommunityContext' is not defined</pre>
<span class="ansi-red-fg">NameError</span>: name 'token_encoder' is not defined</pre>
</div>
</div>
</div>
@ -2579,7 +2598,7 @@ reduce_llm_params = {
</clipboard-copy>
</div>
<div class="highlight-ipynb hl-python"><pre><span></span><span class="n">search_engine</span> <span class="o">=</span> <span class="n">GlobalSearch</span><span class="p">(</span>
<span class="n">llm</span><span class="o">=</span><span class="n">llm</span><span class="p">,</span>
<span class="n">model</span><span class="o">=</span><span class="n">model</span><span class="p">,</span>
<span class="n">context_builder</span><span class="o">=</span><span class="n">context_builder</span><span class="p">,</span>
<span class="n">token_encoder</span><span class="o">=</span><span class="n">token_encoder</span><span class="p">,</span>
<span class="n">max_data_tokens</span><span class="o">=</span><span class="mi">12_000</span><span class="p">,</span> <span class="c1"># change this based on the token limit you have on your model (if you are using a model with 8k limit, a good setting could be 5000)</span>
@ -2593,7 +2612,7 @@ reduce_llm_params = {
<span class="p">)</span>
</pre></div>
<div class="clipboard-copy-txt" id="cell-8">search_engine = GlobalSearch(
llm=llm,
model=model,
context_builder=context_builder,
token_encoder=token_encoder,
max_data_tokens=12_000, # change this based on the token limit you have on your model (if you are using a model with 8k limit, a good setting could be 5000)
@ -2619,9 +2638,9 @@ reduce_llm_params = {
<pre>
<span class="ansi-red-fg">---------------------------------------------------------------------------</span>
<span class="ansi-red-fg">NameError</span> Traceback (most recent call last)
Cell <span class="ansi-green-fg">In[8], line 1</span>
<span class="ansi-green-fg">----&gt; 1</span> search_engine <span style="color: rgb(98,98,98)">=</span> <span class="ansi-yellow-bg">GlobalSearch</span>(
<span class="ansi-green-intense-fg ansi-bold"> 2</span> llm<span style="color: rgb(98,98,98)">=</span>llm,
Cell <span class="ansi-green-fg">In[8], line 2</span>
<span class="ansi-green-intense-fg ansi-bold"> 1</span> search_engine <span style="color: rgb(98,98,98)">=</span> GlobalSearch(
<span class="ansi-green-fg">----&gt; 2</span> model<span style="color: rgb(98,98,98)">=</span><span class="ansi-yellow-bg">model</span>,
<span class="ansi-green-intense-fg ansi-bold"> 3</span> context_builder<span style="color: rgb(98,98,98)">=</span>context_builder,
<span class="ansi-green-intense-fg ansi-bold"> 4</span> token_encoder<span style="color: rgb(98,98,98)">=</span>token_encoder,
<span class="ansi-green-intense-fg ansi-bold"> 5</span> max_data_tokens<span style="color: rgb(98,98,98)">=</span><span style="color: rgb(98,98,98)">12_000</span>, <span style="color: rgb(95,135,135)"># change this based on the token limit you have on your model (if you are using a model with 8k limit, a good setting could be 5000)</span>
@ -2634,7 +2653,7 @@ Cell <span class="ansi-green-fg">In[8], line 1</span>
<span class="ansi-green-intense-fg ansi-bold"> 12</span> response_type<span style="color: rgb(98,98,98)">=</span><span style="color: rgb(175,0,0)">"</span><span style="color: rgb(175,0,0)">multiple paragraphs</span><span style="color: rgb(175,0,0)">"</span>, <span style="color: rgb(95,135,135)"># free form text describing the response type and format, can be anything, e.g. prioritized list, single paragraph, multiple paragraphs, multiple-page report</span>
<span class="ansi-green-intense-fg ansi-bold"> 13</span> )
<span class="ansi-red-fg">NameError</span>: name 'GlobalSearch' is not defined</pre>
<span class="ansi-red-fg">NameError</span>: name 'model' is not defined</pre>
</div>
</div>
</div>
@ -2659,15 +2678,11 @@ Cell <span class="ansi-green-fg">In[8], line 1</span>
</div>
</clipboard-copy>
</div>
<div class="highlight-ipynb hl-python"><pre><span></span><span class="n">result</span> <span class="o">=</span> <span class="k">await</span> <span class="n">search_engine</span><span class="o">.</span><span class="n">search</span><span class="p">(</span>
<span class="s2">"What is Cosmic Vocalization and who are involved in it?"</span>
<span class="p">)</span>
<div class="highlight-ipynb hl-python"><pre><span></span><span class="n">result</span> <span class="o">=</span> <span class="k">await</span> <span class="n">search_engine</span><span class="o">.</span><span class="n">search</span><span class="p">(</span><span class="s2">"What is operation dulce?"</span><span class="p">)</span>
<span class="nb">print</span><span class="p">(</span><span class="n">result</span><span class="o">.</span><span class="n">response</span><span class="p">)</span>
</pre></div>
<div class="clipboard-copy-txt" id="cell-9">result = await search_engine.search(
"What is Cosmic Vocalization and who are involved in it?"
)
<div class="clipboard-copy-txt" id="cell-9">result = await search_engine.search("What is operation dulce?")
print(result.response)</div>
</div>
@ -2685,10 +2700,8 @@ print(result.response)</div>
<span class="ansi-red-fg">---------------------------------------------------------------------------</span>
<span class="ansi-red-fg">NameError</span> Traceback (most recent call last)
Cell <span class="ansi-green-fg">In[9], line 1</span>
<span class="ansi-green-fg">----&gt; 1</span> result <span style="color: rgb(98,98,98)">=</span> <span class="ansi-bold" style="color: rgb(0,135,0)">await</span> <span class="ansi-yellow-bg">search_engine</span><span style="color: rgb(98,98,98)">.</span>search(
<span class="ansi-green-intense-fg ansi-bold"> 2</span> <span style="color: rgb(175,0,0)">"</span><span style="color: rgb(175,0,0)">What is Cosmic Vocalization and who are involved in it?</span><span style="color: rgb(175,0,0)">"</span>
<span class="ansi-green-intense-fg ansi-bold"> 3</span> )
<span class="ansi-green-intense-fg ansi-bold"> 5</span> <span style="color: rgb(0,135,0)">print</span>(result<span style="color: rgb(98,98,98)">.</span>response)
<span class="ansi-green-fg">----&gt; 1</span> result <span style="color: rgb(98,98,98)">=</span> <span class="ansi-bold" style="color: rgb(0,135,0)">await</span> <span class="ansi-yellow-bg">search_engine</span><span style="color: rgb(98,98,98)">.</span>search(<span style="color: rgb(175,0,0)">"</span><span style="color: rgb(175,0,0)">What is operation dulce?</span><span style="color: rgb(175,0,0)">"</span>)
<span class="ansi-green-intense-fg ansi-bold"> 3</span> <span style="color: rgb(0,135,0)">print</span>(result<span style="color: rgb(98,98,98)">.</span>response)
<span class="ansi-red-fg">NameError</span>: name 'search_engine' is not defined</pre>
</div>

View File

@ -1930,8 +1930,8 @@ span.linenos.special { color: #000000; background-color: #ffffc0; padding-left:
</div>
</div>
</div>
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell">
<div class="jp-Cell jp-CodeCell jp-Notebook-cell">
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs">
<div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs">
<div class="jp-Cell-inputWrapper" tabindex="0">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
@ -1954,13 +1954,14 @@ span.linenos.special { color: #000000; background-color: #ffffc0; padding-left:
<span class="kn">import</span><span class="w"> </span><span class="nn">pandas</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="nn">pd</span>
<span class="kn">import</span><span class="w"> </span><span class="nn">tiktoken</span>
<span class="kn">from</span><span class="w"> </span><span class="nn">graphrag.config.enums</span><span class="w"> </span><span class="kn">import</span> <span class="n">ModelType</span>
<span class="kn">from</span><span class="w"> </span><span class="nn">graphrag.config.models.language_model_config</span><span class="w"> </span><span class="kn">import</span> <span class="n">LanguageModelConfig</span>
<span class="kn">from</span><span class="w"> </span><span class="nn">graphrag.language_model.manager</span><span class="w"> </span><span class="kn">import</span> <span class="n">ModelManager</span>
<span class="kn">from</span><span class="w"> </span><span class="nn">graphrag.query.indexer_adapters</span><span class="w"> </span><span class="kn">import</span> <span class="p">(</span>
<span class="n">read_indexer_communities</span><span class="p">,</span>
<span class="n">read_indexer_entities</span><span class="p">,</span>
<span class="n">read_indexer_reports</span><span class="p">,</span>
<span class="p">)</span>
<span class="kn">from</span><span class="w"> </span><span class="nn">graphrag.query.llm.oai.chat_openai</span><span class="w"> </span><span class="kn">import</span> <span class="n">ChatOpenAI</span>
<span class="kn">from</span><span class="w"> </span><span class="nn">graphrag.query.llm.oai.typing</span><span class="w"> </span><span class="kn">import</span> <span class="n">OpenaiApiType</span>
<span class="kn">from</span><span class="w"> </span><span class="nn">graphrag.query.structured_search.global_search.community_context</span><span class="w"> </span><span class="kn">import</span> <span class="p">(</span>
<span class="n">GlobalCommunityContext</span><span class="p">,</span>
<span class="p">)</span>
@ -1971,13 +1972,14 @@ span.linenos.special { color: #000000; background-color: #ffffc0; padding-left:
import pandas as pd
import tiktoken
from graphrag.config.enums import ModelType
from graphrag.config.models.language_model_config import LanguageModelConfig
from graphrag.language_model.manager import ModelManager
from graphrag.query.indexer_adapters import (
read_indexer_communities,
read_indexer_entities,
read_indexer_reports,
)
from graphrag.query.llm.oai.chat_openai import ChatOpenAI
from graphrag.query.llm.oai.typing import OpenaiApiType
from graphrag.query.structured_search.global_search.community_context import (
GlobalCommunityContext,
)
@ -1986,34 +1988,6 @@ from graphrag.query.structured_search.global_search.search import GlobalSearch</
</div>
</div>
</div>
<div class="jp-Cell-outputWrapper">
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
</div>
<div class="jp-OutputArea jp-Cell-outputArea">
<div class="jp-OutputArea-child">
<div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="application/vnd.jupyter.stderr" tabindex="0">
<pre>
<span class="ansi-red-fg">---------------------------------------------------------------------------</span>
<span class="ansi-red-fg">ModuleNotFoundError</span> Traceback (most recent call last)
Cell <span class="ansi-green-fg">In[2], line 11</span>
<span class="ansi-green-intense-fg ansi-bold"> 4</span> <span class="ansi-bold" style="color: rgb(0,135,0)">import</span><span style="color: rgb(188,188,188)"> </span><span class="ansi-bold" style="color: rgb(0,0,255)">tiktoken</span>
<span class="ansi-green-intense-fg ansi-bold"> 6</span> <span class="ansi-bold" style="color: rgb(0,135,0)">from</span><span style="color: rgb(188,188,188)"> </span><span class="ansi-bold" style="color: rgb(0,0,255)">graphrag</span><span class="ansi-bold" style="color: rgb(0,0,255)">.</span><span class="ansi-bold" style="color: rgb(0,0,255)">query</span><span class="ansi-bold" style="color: rgb(0,0,255)">.</span><span class="ansi-bold" style="color: rgb(0,0,255)">indexer_adapters</span><span style="color: rgb(188,188,188)"> </span><span class="ansi-bold" style="color: rgb(0,135,0)">import</span> (
<span class="ansi-green-intense-fg ansi-bold"> 7</span> read_indexer_communities,
<span class="ansi-green-intense-fg ansi-bold"> 8</span> read_indexer_entities,
<span class="ansi-green-intense-fg ansi-bold"> 9</span> read_indexer_reports,
<span class="ansi-green-intense-fg ansi-bold"> 10</span> )
<span class="ansi-green-fg">---&gt; 11</span> <span class="ansi-bold" style="color: rgb(0,135,0)">from</span><span style="color: rgb(188,188,188)"> </span><span class="ansi-bold" style="color: rgb(0,0,255)">graphrag</span><span class="ansi-bold" style="color: rgb(0,0,255)">.</span><span class="ansi-bold" style="color: rgb(0,0,255)">query</span><span class="ansi-bold" style="color: rgb(0,0,255)">.</span><span class="ansi-bold" style="color: rgb(0,0,255)">llm</span><span class="ansi-bold" style="color: rgb(0,0,255)">.</span><span class="ansi-bold" style="color: rgb(0,0,255)">oai</span><span class="ansi-bold" style="color: rgb(0,0,255)">.</span><span class="ansi-bold" style="color: rgb(0,0,255)">chat_openai</span><span style="color: rgb(188,188,188)"> </span><span class="ansi-bold" style="color: rgb(0,135,0)">import</span> ChatOpenAI
<span class="ansi-green-intense-fg ansi-bold"> 12</span> <span class="ansi-bold" style="color: rgb(0,135,0)">from</span><span style="color: rgb(188,188,188)"> </span><span class="ansi-bold" style="color: rgb(0,0,255)">graphrag</span><span class="ansi-bold" style="color: rgb(0,0,255)">.</span><span class="ansi-bold" style="color: rgb(0,0,255)">query</span><span class="ansi-bold" style="color: rgb(0,0,255)">.</span><span class="ansi-bold" style="color: rgb(0,0,255)">llm</span><span class="ansi-bold" style="color: rgb(0,0,255)">.</span><span class="ansi-bold" style="color: rgb(0,0,255)">oai</span><span class="ansi-bold" style="color: rgb(0,0,255)">.</span><span class="ansi-bold" style="color: rgb(0,0,255)">typing</span><span style="color: rgb(188,188,188)"> </span><span class="ansi-bold" style="color: rgb(0,135,0)">import</span> OpenaiApiType
<span class="ansi-green-intense-fg ansi-bold"> 13</span> <span class="ansi-bold" style="color: rgb(0,135,0)">from</span><span style="color: rgb(188,188,188)"> </span><span class="ansi-bold" style="color: rgb(0,0,255)">graphrag</span><span class="ansi-bold" style="color: rgb(0,0,255)">.</span><span class="ansi-bold" style="color: rgb(0,0,255)">query</span><span class="ansi-bold" style="color: rgb(0,0,255)">.</span><span class="ansi-bold" style="color: rgb(0,0,255)">structured_search</span><span class="ansi-bold" style="color: rgb(0,0,255)">.</span><span class="ansi-bold" style="color: rgb(0,0,255)">global_search</span><span class="ansi-bold" style="color: rgb(0,0,255)">.</span><span class="ansi-bold" style="color: rgb(0,0,255)">community_context</span><span style="color: rgb(188,188,188)"> </span><span class="ansi-bold" style="color: rgb(0,135,0)">import</span> (
<span class="ansi-green-intense-fg ansi-bold"> 14</span> GlobalCommunityContext,
<span class="ansi-green-intense-fg ansi-bold"> 15</span> )
<span class="ansi-red-fg">ModuleNotFoundError</span>: No module named 'graphrag.query.llm.oai'</pre>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell">
@ -2059,24 +2033,34 @@ Cell <span class="ansi-green-fg">In[2], line 11</span>
<div class="highlight-ipynb hl-python"><pre><span></span><span class="n">api_key</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="p">[</span><span class="s2">"GRAPHRAG_API_KEY"</span><span class="p">]</span>
<span class="n">llm_model</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="p">[</span><span class="s2">"GRAPHRAG_LLM_MODEL"</span><span class="p">]</span>
<span class="n">llm</span> <span class="o">=</span> <span class="n">ChatOpenAI</span><span class="p">(</span>
<span class="n">config</span> <span class="o">=</span> <span class="n">LanguageModelConfig</span><span class="p">(</span>
<span class="n">api_key</span><span class="o">=</span><span class="n">api_key</span><span class="p">,</span>
<span class="nb">type</span><span class="o">=</span><span class="n">ModelType</span><span class="o">.</span><span class="n">OpenAIChat</span><span class="p">,</span>
<span class="n">model</span><span class="o">=</span><span class="n">llm_model</span><span class="p">,</span>
<span class="n">api_type</span><span class="o">=</span><span class="n">OpenaiApiType</span><span class="o">.</span><span class="n">OpenAI</span><span class="p">,</span> <span class="c1"># OpenaiApiType.OpenAI or OpenaiApiType.AzureOpenAI</span>
<span class="n">max_retries</span><span class="o">=</span><span class="mi">20</span><span class="p">,</span>
<span class="p">)</span>
<span class="n">model</span> <span class="o">=</span> <span class="n">ModelManager</span><span class="p">()</span><span class="o">.</span><span class="n">get_or_create_chat_model</span><span class="p">(</span>
<span class="n">name</span><span class="o">=</span><span class="s2">"global_search"</span><span class="p">,</span>
<span class="n">model_type</span><span class="o">=</span><span class="n">ModelType</span><span class="o">.</span><span class="n">OpenAIChat</span><span class="p">,</span>
<span class="n">config</span><span class="o">=</span><span class="n">config</span><span class="p">,</span>
<span class="p">)</span>
<span class="n">token_encoder</span> <span class="o">=</span> <span class="n">tiktoken</span><span class="o">.</span><span class="n">encoding_for_model</span><span class="p">(</span><span class="n">llm_model</span><span class="p">)</span>
</pre></div>
<div class="clipboard-copy-txt" id="cell-3">api_key = os.environ["GRAPHRAG_API_KEY"]
llm_model = os.environ["GRAPHRAG_LLM_MODEL"]
llm = ChatOpenAI(
config = LanguageModelConfig(
api_key=api_key,
type=ModelType.OpenAIChat,
model=llm_model,
api_type=OpenaiApiType.OpenAI, # OpenaiApiType.OpenAI or OpenaiApiType.AzureOpenAI
max_retries=20,
)
model = ModelManager().get_or_create_chat_model(
name="global_search",
model_type=ModelType.OpenAIChat,
config=config,
)
token_encoder = tiktoken.encoding_for_model(llm_model)</div>
</div>
@ -2092,19 +2076,38 @@ token_encoder = tiktoken.encoding_for_model(llm_model)</div>
<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="application/vnd.jupyter.stderr" tabindex="0">
<pre>
<span class="ansi-red-fg">---------------------------------------------------------------------------</span>
<span class="ansi-red-fg">NameError</span> Traceback (most recent call last)
<span class="ansi-red-fg">ValidationError</span> Traceback (most recent call last)
Cell <span class="ansi-green-fg">In[3], line 4</span>
<span class="ansi-green-intense-fg ansi-bold"> 1</span> api_key <span style="color: rgb(98,98,98)">=</span> os<span style="color: rgb(98,98,98)">.</span>environ[<span style="color: rgb(175,0,0)">"</span><span style="color: rgb(175,0,0)">GRAPHRAG_API_KEY</span><span style="color: rgb(175,0,0)">"</span>]
<span class="ansi-green-intense-fg ansi-bold"> 2</span> llm_model <span style="color: rgb(98,98,98)">=</span> os<span style="color: rgb(98,98,98)">.</span>environ[<span style="color: rgb(175,0,0)">"</span><span style="color: rgb(175,0,0)">GRAPHRAG_LLM_MODEL</span><span style="color: rgb(175,0,0)">"</span>]
<span class="ansi-green-fg">----&gt; 4</span> llm <span style="color: rgb(98,98,98)">=</span> <span class="ansi-yellow-bg">ChatOpenAI</span>(
<span class="ansi-green-intense-fg ansi-bold"> 5</span> api_key<span style="color: rgb(98,98,98)">=</span>api_key,
<span class="ansi-green-intense-fg ansi-bold"> 6</span> model<span style="color: rgb(98,98,98)">=</span>llm_model,
<span class="ansi-green-intense-fg ansi-bold"> 7</span> api_type<span style="color: rgb(98,98,98)">=</span>OpenaiApiType<span style="color: rgb(98,98,98)">.</span>OpenAI, <span style="color: rgb(95,135,135)"># OpenaiApiType.OpenAI or OpenaiApiType.AzureOpenAI</span>
<span class="ansi-green-intense-fg ansi-bold"> 8</span> max_retries<span style="color: rgb(98,98,98)">=</span><span style="color: rgb(98,98,98)">20</span>,
<span class="ansi-green-intense-fg ansi-bold"> 9</span> )
<span class="ansi-green-intense-fg ansi-bold"> 11</span> token_encoder <span style="color: rgb(98,98,98)">=</span> tiktoken<span style="color: rgb(98,98,98)">.</span>encoding_for_model(llm_model)
<span class="ansi-green-fg">----&gt; 4</span> config <span style="color: rgb(98,98,98)">=</span> <span class="ansi-yellow-bg">LanguageModelConfig</span><span class="ansi-yellow-bg">(</span>
<span class="ansi-green-intense-fg ansi-bold"> 5</span> <span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">api_key</span><span class="ansi-yellow-bg" style="color: rgb(98,98,98)">=</span><span class="ansi-yellow-bg">api_key</span><span class="ansi-yellow-bg">,</span>
<span class="ansi-green-intense-fg ansi-bold"> 6</span> <span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg" style="color: rgb(0,135,0)">type</span><span class="ansi-yellow-bg" style="color: rgb(98,98,98)">=</span><span class="ansi-yellow-bg">ModelType</span><span class="ansi-yellow-bg" style="color: rgb(98,98,98)">.</span><span class="ansi-yellow-bg">OpenAIChat</span><span class="ansi-yellow-bg">,</span>
<span class="ansi-green-intense-fg ansi-bold"> 7</span> <span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">model</span><span class="ansi-yellow-bg" style="color: rgb(98,98,98)">=</span><span class="ansi-yellow-bg">llm_model</span><span class="ansi-yellow-bg">,</span>
<span class="ansi-green-intense-fg ansi-bold"> 8</span> <span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">max_retries</span><span class="ansi-yellow-bg" style="color: rgb(98,98,98)">=</span><span class="ansi-yellow-bg" style="color: rgb(98,98,98)">20</span><span class="ansi-yellow-bg">,</span>
<span class="ansi-green-intense-fg ansi-bold"> 9</span> <span class="ansi-yellow-bg">)</span>
<span class="ansi-green-intense-fg ansi-bold"> 10</span> model <span style="color: rgb(98,98,98)">=</span> ModelManager()<span style="color: rgb(98,98,98)">.</span>get_or_create_chat_model(
<span class="ansi-green-intense-fg ansi-bold"> 11</span> name<span style="color: rgb(98,98,98)">=</span><span style="color: rgb(175,0,0)">"</span><span style="color: rgb(175,0,0)">global_search</span><span style="color: rgb(175,0,0)">"</span>,
<span class="ansi-green-intense-fg ansi-bold"> 12</span> model_type<span style="color: rgb(98,98,98)">=</span>ModelType<span style="color: rgb(98,98,98)">.</span>OpenAIChat,
<span class="ansi-green-intense-fg ansi-bold"> 13</span> config<span style="color: rgb(98,98,98)">=</span>config,
<span class="ansi-green-intense-fg ansi-bold"> 14</span> )
<span class="ansi-green-intense-fg ansi-bold"> 16</span> token_encoder <span style="color: rgb(98,98,98)">=</span> tiktoken<span style="color: rgb(98,98,98)">.</span>encoding_for_model(llm_model)
<span class="ansi-red-fg">NameError</span>: name 'ChatOpenAI' is not defined</pre>
File <span class="ansi-green-fg">~/.cache/pypoetry/virtualenvs/graphrag-F2jvqev7-py3.11/lib/python3.11/site-packages/pydantic/main.py:214</span>, in <span class="ansi-cyan-fg">BaseModel.__init__</span><span class="ansi-blue-fg">(self, **data)</span>
<span class="ansi-green-intense-fg ansi-bold"> 212</span> <span style="color: rgb(95,135,135)"># `__tracebackhide__` tells pytest and some other tools to omit this function from tracebacks</span>
<span class="ansi-green-intense-fg ansi-bold"> 213</span> __tracebackhide__ <span style="color: rgb(98,98,98)">=</span> <span class="ansi-bold" style="color: rgb(0,135,0)">True</span>
<span class="ansi-green-fg">--&gt; 214</span> validated_self <span style="color: rgb(98,98,98)">=</span> <span class="ansi-yellow-bg" style="color: rgb(0,135,0)">self</span><span class="ansi-yellow-bg" style="color: rgb(98,98,98)">.</span><span class="ansi-yellow-bg">__pydantic_validator__</span><span class="ansi-yellow-bg" style="color: rgb(98,98,98)">.</span><span class="ansi-yellow-bg">validate_python</span><span class="ansi-yellow-bg">(</span><span class="ansi-yellow-bg">data</span><span class="ansi-yellow-bg">,</span><span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">self_instance</span><span class="ansi-yellow-bg" style="color: rgb(98,98,98)">=</span><span class="ansi-yellow-bg" style="color: rgb(0,135,0)">self</span><span class="ansi-yellow-bg">)</span>
<span class="ansi-green-intense-fg ansi-bold"> 215</span> <span class="ansi-bold" style="color: rgb(0,135,0)">if</span> <span style="color: rgb(0,135,0)">self</span> <span class="ansi-bold" style="color: rgb(175,0,255)">is</span> <span class="ansi-bold" style="color: rgb(175,0,255)">not</span> validated_self:
<span class="ansi-green-intense-fg ansi-bold"> 216</span> warnings<span style="color: rgb(98,98,98)">.</span>warn(
<span class="ansi-green-intense-fg ansi-bold"> 217</span> <span style="color: rgb(175,0,0)">'</span><span style="color: rgb(175,0,0)">A custom validator is returning a value other than `self`.</span><span class="ansi-bold" style="color: rgb(175,95,0)">\n</span><span style="color: rgb(175,0,0)">'</span>
<span class="ansi-green-intense-fg ansi-bold"> 218</span> <span style="color: rgb(175,0,0)">"</span><span style="color: rgb(175,0,0)">Returning anything other than `self` from a top level model validator isn</span><span style="color: rgb(175,0,0)">'</span><span style="color: rgb(175,0,0)">t supported when validating via `__init__`.</span><span class="ansi-bold" style="color: rgb(175,95,0)">\n</span><span style="color: rgb(175,0,0)">"</span>
<span class="ansi-green-intense-fg ansi-bold"> 219</span> <span style="color: rgb(175,0,0)">'</span><span style="color: rgb(175,0,0)">See the `model_validator` docs (https://docs.pydantic.dev/latest/concepts/validators/#model-validators) for more details.</span><span style="color: rgb(175,0,0)">'</span>,
<span class="ansi-green-intense-fg ansi-bold"> 220</span> stacklevel<span style="color: rgb(98,98,98)">=</span><span style="color: rgb(98,98,98)">2</span>,
<span class="ansi-green-intense-fg ansi-bold"> 221</span> )
<span class="ansi-red-fg">ValidationError</span>: 1 validation error for LanguageModelConfig
Value error, API Key is required for ModelType.OpenAIChat when using api_key authentication. Please rerun `graphrag init` and set the API_KEY. [type=value_error, input_value={'api_key': '', 'type': "...-4o', 'max_retries': 20}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.10/v/value_error</pre>
</div>
</div>
</div>
@ -2240,74 +2243,90 @@ report_df.head()</div>
<div class="jp-OutputArea jp-Cell-outputArea">
<div class="jp-OutputArea-child">
<div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="application/vnd.jupyter.stderr" tabindex="0">
<pre>
<span class="ansi-red-fg">---------------------------------------------------------------------------</span>
<span class="ansi-red-fg">FileNotFoundError</span> Traceback (most recent call last)
Cell <span class="ansi-green-fg">In[5], line 1</span>
<span class="ansi-green-fg">----&gt; 1</span> community_df <span style="color: rgb(98,98,98)">=</span> <span class="ansi-yellow-bg">pd</span><span class="ansi-yellow-bg" style="color: rgb(98,98,98)">.</span><span class="ansi-yellow-bg">read_parquet</span><span class="ansi-yellow-bg">(</span><span class="ansi-yellow-bg" style="color: rgb(175,0,0)">f</span><span class="ansi-yellow-bg" style="color: rgb(175,0,0)">"</span><span class="ansi-yellow-bg ansi-bold" style="color: rgb(175,95,135)">{</span><span class="ansi-yellow-bg">INPUT_DIR</span><span class="ansi-yellow-bg ansi-bold" style="color: rgb(175,95,135)">}</span><span class="ansi-yellow-bg" style="color: rgb(175,0,0)">/</span><span class="ansi-yellow-bg ansi-bold" style="color: rgb(175,95,135)">{</span><span class="ansi-yellow-bg">COMMUNITY_TABLE</span><span class="ansi-yellow-bg ansi-bold" style="color: rgb(175,95,135)">}</span><span class="ansi-yellow-bg" style="color: rgb(175,0,0)">.parquet</span><span class="ansi-yellow-bg" style="color: rgb(175,0,0)">"</span><span class="ansi-yellow-bg">)</span>
<span class="ansi-green-intense-fg ansi-bold"> 2</span> entity_df <span style="color: rgb(98,98,98)">=</span> pd<span style="color: rgb(98,98,98)">.</span>read_parquet(<span style="color: rgb(175,0,0)">f</span><span style="color: rgb(175,0,0)">"</span><span class="ansi-bold" style="color: rgb(175,95,135)">{</span>INPUT_DIR<span class="ansi-bold" style="color: rgb(175,95,135)">}</span><span style="color: rgb(175,0,0)">/</span><span class="ansi-bold" style="color: rgb(175,95,135)">{</span>ENTITY_TABLE<span class="ansi-bold" style="color: rgb(175,95,135)">}</span><span style="color: rgb(175,0,0)">.parquet</span><span style="color: rgb(175,0,0)">"</span>)
<span class="ansi-green-intense-fg ansi-bold"> 3</span> report_df <span style="color: rgb(98,98,98)">=</span> pd<span style="color: rgb(98,98,98)">.</span>read_parquet(<span style="color: rgb(175,0,0)">f</span><span style="color: rgb(175,0,0)">"</span><span class="ansi-bold" style="color: rgb(175,95,135)">{</span>INPUT_DIR<span class="ansi-bold" style="color: rgb(175,95,135)">}</span><span style="color: rgb(175,0,0)">/</span><span class="ansi-bold" style="color: rgb(175,95,135)">{</span>COMMUNITY_REPORT_TABLE<span class="ansi-bold" style="color: rgb(175,95,135)">}</span><span style="color: rgb(175,0,0)">.parquet</span><span style="color: rgb(175,0,0)">"</span>)
<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="text/plain" tabindex="0">
<pre>Total report count: 2
Report count after filtering by community level None: 2
</pre>
</div>
</div>
<div class="jp-OutputArea-child jp-OutputArea-executeResult">
<div class="jp-OutputPrompt jp-OutputArea-prompt">Out[5]:</div>
<div class="jp-RenderedHTMLCommon jp-RenderedHTML jp-OutputArea-output jp-OutputArea-executeResult" data-mime-type="text/html" tabindex="0">
<div>
<style scoped="">
.dataframe tbody tr th:only-of-type {
vertical-align: middle;
}
File <span class="ansi-green-fg">~/.cache/pypoetry/virtualenvs/graphrag-F2jvqev7-py3.11/lib/python3.11/site-packages/pandas/io/parquet.py:667</span>, in <span class="ansi-cyan-fg">read_parquet</span><span class="ansi-blue-fg">(path, engine, columns, storage_options, use_nullable_dtypes, dtype_backend, filesystem, filters, **kwargs)</span>
<span class="ansi-green-intense-fg ansi-bold"> 664</span> use_nullable_dtypes <span style="color: rgb(98,98,98)">=</span> <span class="ansi-bold" style="color: rgb(0,135,0)">False</span>
<span class="ansi-green-intense-fg ansi-bold"> 665</span> check_dtype_backend(dtype_backend)
<span class="ansi-green-fg">--&gt; 667</span> <span class="ansi-bold" style="color: rgb(0,135,0)">return</span> <span class="ansi-yellow-bg">impl</span><span class="ansi-yellow-bg" style="color: rgb(98,98,98)">.</span><span class="ansi-yellow-bg">read</span><span class="ansi-yellow-bg">(</span>
<span class="ansi-green-intense-fg ansi-bold"> 668</span> <span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">path</span><span class="ansi-yellow-bg">,</span>
<span class="ansi-green-intense-fg ansi-bold"> 669</span> <span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">columns</span><span class="ansi-yellow-bg" style="color: rgb(98,98,98)">=</span><span class="ansi-yellow-bg">columns</span><span class="ansi-yellow-bg">,</span>
<span class="ansi-green-intense-fg ansi-bold"> 670</span> <span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">filters</span><span class="ansi-yellow-bg" style="color: rgb(98,98,98)">=</span><span class="ansi-yellow-bg">filters</span><span class="ansi-yellow-bg">,</span>
<span class="ansi-green-intense-fg ansi-bold"> 671</span> <span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">storage_options</span><span class="ansi-yellow-bg" style="color: rgb(98,98,98)">=</span><span class="ansi-yellow-bg">storage_options</span><span class="ansi-yellow-bg">,</span>
<span class="ansi-green-intense-fg ansi-bold"> 672</span> <span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">use_nullable_dtypes</span><span class="ansi-yellow-bg" style="color: rgb(98,98,98)">=</span><span class="ansi-yellow-bg">use_nullable_dtypes</span><span class="ansi-yellow-bg">,</span>
<span class="ansi-green-intense-fg ansi-bold"> 673</span> <span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">dtype_backend</span><span class="ansi-yellow-bg" style="color: rgb(98,98,98)">=</span><span class="ansi-yellow-bg">dtype_backend</span><span class="ansi-yellow-bg">,</span>
<span class="ansi-green-intense-fg ansi-bold"> 674</span> <span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">filesystem</span><span class="ansi-yellow-bg" style="color: rgb(98,98,98)">=</span><span class="ansi-yellow-bg">filesystem</span><span class="ansi-yellow-bg">,</span>
<span class="ansi-green-intense-fg ansi-bold"> 675</span> <span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg" style="color: rgb(98,98,98)">*</span><span class="ansi-yellow-bg" style="color: rgb(98,98,98)">*</span><span class="ansi-yellow-bg">kwargs</span><span class="ansi-yellow-bg">,</span>
<span class="ansi-green-intense-fg ansi-bold"> 676</span> <span class="ansi-yellow-bg">)</span>
.dataframe tbody tr th {
vertical-align: top;
}
File <span class="ansi-green-fg">~/.cache/pypoetry/virtualenvs/graphrag-F2jvqev7-py3.11/lib/python3.11/site-packages/pandas/io/parquet.py:267</span>, in <span class="ansi-cyan-fg">PyArrowImpl.read</span><span class="ansi-blue-fg">(self, path, columns, filters, use_nullable_dtypes, dtype_backend, storage_options, filesystem, **kwargs)</span>
<span class="ansi-green-intense-fg ansi-bold"> 264</span> <span class="ansi-bold" style="color: rgb(0,135,0)">if</span> manager <span style="color: rgb(98,98,98)">==</span> <span style="color: rgb(175,0,0)">"</span><span style="color: rgb(175,0,0)">array</span><span style="color: rgb(175,0,0)">"</span>:
<span class="ansi-green-intense-fg ansi-bold"> 265</span> to_pandas_kwargs[<span style="color: rgb(175,0,0)">"</span><span style="color: rgb(175,0,0)">split_blocks</span><span style="color: rgb(175,0,0)">"</span>] <span style="color: rgb(98,98,98)">=</span> <span class="ansi-bold" style="color: rgb(0,135,0)">True</span> <span style="color: rgb(95,135,135)"># type: ignore[assignment]</span>
<span class="ansi-green-fg">--&gt; 267</span> path_or_handle, handles, filesystem <span style="color: rgb(98,98,98)">=</span> <span class="ansi-yellow-bg">_get_path_or_handle</span><span class="ansi-yellow-bg">(</span>
<span class="ansi-green-intense-fg ansi-bold"> 268</span> <span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">path</span><span class="ansi-yellow-bg">,</span>
<span class="ansi-green-intense-fg ansi-bold"> 269</span> <span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">filesystem</span><span class="ansi-yellow-bg">,</span>
<span class="ansi-green-intense-fg ansi-bold"> 270</span> <span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">storage_options</span><span class="ansi-yellow-bg" style="color: rgb(98,98,98)">=</span><span class="ansi-yellow-bg">storage_options</span><span class="ansi-yellow-bg">,</span>
<span class="ansi-green-intense-fg ansi-bold"> 271</span> <span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">mode</span><span class="ansi-yellow-bg" style="color: rgb(98,98,98)">=</span><span class="ansi-yellow-bg" style="color: rgb(175,0,0)">"</span><span class="ansi-yellow-bg" style="color: rgb(175,0,0)">rb</span><span class="ansi-yellow-bg" style="color: rgb(175,0,0)">"</span><span class="ansi-yellow-bg">,</span>
<span class="ansi-green-intense-fg ansi-bold"> 272</span> <span class="ansi-yellow-bg">)</span>
<span class="ansi-green-intense-fg ansi-bold"> 273</span> <span class="ansi-bold" style="color: rgb(0,135,0)">try</span>:
<span class="ansi-green-intense-fg ansi-bold"> 274</span> pa_table <span style="color: rgb(98,98,98)">=</span> <span style="color: rgb(0,135,0)">self</span><span style="color: rgb(98,98,98)">.</span>api<span style="color: rgb(98,98,98)">.</span>parquet<span style="color: rgb(98,98,98)">.</span>read_table(
<span class="ansi-green-intense-fg ansi-bold"> 275</span> path_or_handle,
<span class="ansi-green-intense-fg ansi-bold"> 276</span> columns<span style="color: rgb(98,98,98)">=</span>columns,
<span class="ansi-green-fg"> (...)</span>
<span class="ansi-green-intense-fg ansi-bold"> 279</span> <span style="color: rgb(98,98,98)">*</span><span style="color: rgb(98,98,98)">*</span>kwargs,
<span class="ansi-green-intense-fg ansi-bold"> 280</span> )
File <span class="ansi-green-fg">~/.cache/pypoetry/virtualenvs/graphrag-F2jvqev7-py3.11/lib/python3.11/site-packages/pandas/io/parquet.py:140</span>, in <span class="ansi-cyan-fg">_get_path_or_handle</span><span class="ansi-blue-fg">(path, fs, storage_options, mode, is_dir)</span>
<span class="ansi-green-intense-fg ansi-bold"> 130</span> handles <span style="color: rgb(98,98,98)">=</span> <span class="ansi-bold" style="color: rgb(0,135,0)">None</span>
<span class="ansi-green-intense-fg ansi-bold"> 131</span> <span class="ansi-bold" style="color: rgb(0,135,0)">if</span> (
<span class="ansi-green-intense-fg ansi-bold"> 132</span> <span class="ansi-bold" style="color: rgb(175,0,255)">not</span> fs
<span class="ansi-green-intense-fg ansi-bold"> 133</span> <span class="ansi-bold" style="color: rgb(175,0,255)">and</span> <span class="ansi-bold" style="color: rgb(175,0,255)">not</span> is_dir
<span class="ansi-green-fg"> (...)</span>
<span class="ansi-green-intense-fg ansi-bold"> 138</span> <span style="color: rgb(95,135,135)"># fsspec resources can also point to directories</span>
<span class="ansi-green-intense-fg ansi-bold"> 139</span> <span style="color: rgb(95,135,135)"># this branch is used for example when reading from non-fsspec URLs</span>
<span class="ansi-green-fg">--&gt; 140</span> handles <span style="color: rgb(98,98,98)">=</span> <span class="ansi-yellow-bg">get_handle</span><span class="ansi-yellow-bg">(</span>
<span class="ansi-green-intense-fg ansi-bold"> 141</span> <span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">path_or_handle</span><span class="ansi-yellow-bg">,</span><span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">mode</span><span class="ansi-yellow-bg">,</span><span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">is_text</span><span class="ansi-yellow-bg" style="color: rgb(98,98,98)">=</span><span class="ansi-yellow-bg ansi-bold" style="color: rgb(0,135,0)">False</span><span class="ansi-yellow-bg">,</span><span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">storage_options</span><span class="ansi-yellow-bg" style="color: rgb(98,98,98)">=</span><span class="ansi-yellow-bg">storage_options</span>
<span class="ansi-green-intense-fg ansi-bold"> 142</span> <span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">)</span>
<span class="ansi-green-intense-fg ansi-bold"> 143</span> fs <span style="color: rgb(98,98,98)">=</span> <span class="ansi-bold" style="color: rgb(0,135,0)">None</span>
<span class="ansi-green-intense-fg ansi-bold"> 144</span> path_or_handle <span style="color: rgb(98,98,98)">=</span> handles<span style="color: rgb(98,98,98)">.</span>handle
File <span class="ansi-green-fg">~/.cache/pypoetry/virtualenvs/graphrag-F2jvqev7-py3.11/lib/python3.11/site-packages/pandas/io/common.py:882</span>, in <span class="ansi-cyan-fg">get_handle</span><span class="ansi-blue-fg">(path_or_buf, mode, encoding, compression, memory_map, is_text, errors, storage_options)</span>
<span class="ansi-green-intense-fg ansi-bold"> 873</span> handle <span style="color: rgb(98,98,98)">=</span> <span style="color: rgb(0,135,0)">open</span>(
<span class="ansi-green-intense-fg ansi-bold"> 874</span> handle,
<span class="ansi-green-intense-fg ansi-bold"> 875</span> ioargs<span style="color: rgb(98,98,98)">.</span>mode,
<span class="ansi-green-fg"> (...)</span>
<span class="ansi-green-intense-fg ansi-bold"> 878</span> newline<span style="color: rgb(98,98,98)">=</span><span style="color: rgb(175,0,0)">"</span><span style="color: rgb(175,0,0)">"</span>,
<span class="ansi-green-intense-fg ansi-bold"> 879</span> )
<span class="ansi-green-intense-fg ansi-bold"> 880</span> <span class="ansi-bold" style="color: rgb(0,135,0)">else</span>:
<span class="ansi-green-intense-fg ansi-bold"> 881</span> <span style="color: rgb(95,135,135)"># Binary mode</span>
<span class="ansi-green-fg">--&gt; 882</span> handle <span style="color: rgb(98,98,98)">=</span> <span class="ansi-yellow-bg" style="color: rgb(0,135,0)">open</span><span class="ansi-yellow-bg">(</span><span class="ansi-yellow-bg">handle</span><span class="ansi-yellow-bg">,</span><span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">ioargs</span><span class="ansi-yellow-bg" style="color: rgb(98,98,98)">.</span><span class="ansi-yellow-bg">mode</span><span class="ansi-yellow-bg">)</span>
<span class="ansi-green-intense-fg ansi-bold"> 883</span> handles<span style="color: rgb(98,98,98)">.</span>append(handle)
<span class="ansi-green-intense-fg ansi-bold"> 885</span> <span style="color: rgb(95,135,135)"># Convert BytesIO or file objects passed with an encoding</span>
<span class="ansi-red-fg">FileNotFoundError</span>: [Errno 2] No such file or directory: './inputs/operation dulce/communities.parquet'</pre>
.dataframe thead th {
text-align: right;
}
</style>
<table border="1" class="dataframe">
<thead>
<tr style="text-align: right;">
<th></th>
<th>id</th>
<th>human_readable_id</th>
<th>community</th>
<th>level</th>
<th>parent</th>
<th>children</th>
<th>title</th>
<th>summary</th>
<th>full_content</th>
<th>rank</th>
<th>rating_explanation</th>
<th>findings</th>
<th>full_content_json</th>
<th>period</th>
<th>size</th>
</tr>
</thead>
<tbody>
<tr>
<th>0</th>
<td>6c3a555680d647ac8be866a129c7b0ea</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>-1</td>
<td>[]</td>
<td>Operation: Dulce and Dulce Base Exploration</td>
<td>The community revolves around 'Operation: Dulc...</td>
<td># Operation: Dulce and Dulce Base Exploration\...</td>
<td>8.5</td>
<td>The impact severity rating is high due to the ...</td>
<td>[{'explanation': 'Operation: Dulce is a signif...</td>
<td>{\n "title": "Operation: Dulce and Dulce Ba...</td>
<td>2025-03-04</td>
<td>7</td>
</tr>
<tr>
<th>1</th>
<td>0127331a1ea34b8ba19de2c2a4cb3bc9</td>
<td>1</td>
<td>1</td>
<td>0</td>
<td>-1</td>
<td>[]</td>
<td>Paranormal Military Squad and Operation: Dulce</td>
<td>The community centers around the Paranormal Mi...</td>
<td># Paranormal Military Squad and Operation: Dul...</td>
<td>8.5</td>
<td>The impact severity rating is high due to the ...</td>
<td>[{'explanation': 'Agent Alex Mercer is a key f...</td>
<td>{\n "title": "Paranormal Military Squad and...</td>
<td>2025-03-04</td>
<td>9</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
@ -2345,43 +2364,27 @@ File <span class="ansi-green-fg">~/.cache/pypoetry/virtualenvs/graphrag-F2jvqev7
</div>
</clipboard-copy>
</div>
<div class="highlight-ipynb hl-python"><pre><span></span><span class="n">mini_llm</span> <span class="o">=</span> <span class="n">ChatOpenAI</span><span class="p">(</span>
<span class="n">api_key</span><span class="o">=</span><span class="n">api_key</span><span class="p">,</span>
<span class="n">model</span><span class="o">=</span><span class="s2">"gpt-4o-mini"</span><span class="p">,</span>
<span class="n">api_type</span><span class="o">=</span><span class="n">OpenaiApiType</span><span class="o">.</span><span class="n">OpenAI</span><span class="p">,</span> <span class="c1"># OpenaiApiType.OpenAI or OpenaiApiType.AzureOpenAI</span>
<span class="n">max_retries</span><span class="o">=</span><span class="mi">20</span><span class="p">,</span>
<span class="p">)</span>
<span class="n">mini_token_encoder</span> <span class="o">=</span> <span class="n">tiktoken</span><span class="o">.</span><span class="n">encoding_for_model</span><span class="p">(</span><span class="n">mini_llm</span><span class="o">.</span><span class="n">model</span><span class="p">)</span>
<span class="n">context_builder</span> <span class="o">=</span> <span class="n">GlobalCommunityContext</span><span class="p">(</span>
<div class="highlight-ipynb hl-python"><pre><span></span><span class="n">context_builder</span> <span class="o">=</span> <span class="n">GlobalCommunityContext</span><span class="p">(</span>
<span class="n">community_reports</span><span class="o">=</span><span class="n">reports</span><span class="p">,</span>
<span class="n">communities</span><span class="o">=</span><span class="n">communities</span><span class="p">,</span>
<span class="n">entities</span><span class="o">=</span><span class="n">entities</span><span class="p">,</span> <span class="c1"># default to None if you don't want to use community weights for ranking</span>
<span class="n">token_encoder</span><span class="o">=</span><span class="n">token_encoder</span><span class="p">,</span>
<span class="n">dynamic_community_selection</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span>
<span class="n">dynamic_community_selection_kwargs</span><span class="o">=</span><span class="p">{</span>
<span class="s2">"llm"</span><span class="p">:</span> <span class="n">mini_llm</span><span class="p">,</span>
<span class="s2">"token_encoder"</span><span class="p">:</span> <span class="n">mini_token_encoder</span><span class="p">,</span>
<span class="s2">"model"</span><span class="p">:</span> <span class="n">model</span><span class="p">,</span>
<span class="s2">"token_encoder"</span><span class="p">:</span> <span class="n">token_encoder</span><span class="p">,</span>
<span class="p">},</span>
<span class="p">)</span>
</pre></div>
<div class="clipboard-copy-txt" id="cell-6">mini_llm = ChatOpenAI(
api_key=api_key,
model="gpt-4o-mini",
api_type=OpenaiApiType.OpenAI, # OpenaiApiType.OpenAI or OpenaiApiType.AzureOpenAI
max_retries=20,
)
mini_token_encoder = tiktoken.encoding_for_model(mini_llm.model)
context_builder = GlobalCommunityContext(
<div class="clipboard-copy-txt" id="cell-6">context_builder = GlobalCommunityContext(
community_reports=reports,
communities=communities,
entities=entities, # default to None if you don't want to use community weights for ranking
token_encoder=token_encoder,
dynamic_community_selection=True,
dynamic_community_selection_kwargs={
"llm": mini_llm,
"token_encoder": mini_token_encoder,
"model": model,
"token_encoder": token_encoder,
},
)</div>
</div>
@ -2398,22 +2401,20 @@ context_builder = GlobalCommunityContext(
<pre>
<span class="ansi-red-fg">---------------------------------------------------------------------------</span>
<span class="ansi-red-fg">NameError</span> Traceback (most recent call last)
Cell <span class="ansi-green-fg">In[6], line 1</span>
<span class="ansi-green-fg">----&gt; 1</span> mini_llm <span style="color: rgb(98,98,98)">=</span> <span class="ansi-yellow-bg">ChatOpenAI</span>(
<span class="ansi-green-intense-fg ansi-bold"> 2</span> api_key<span style="color: rgb(98,98,98)">=</span>api_key,
<span class="ansi-green-intense-fg ansi-bold"> 3</span> model<span style="color: rgb(98,98,98)">=</span><span style="color: rgb(175,0,0)">"</span><span style="color: rgb(175,0,0)">gpt-4o-mini</span><span style="color: rgb(175,0,0)">"</span>,
<span class="ansi-green-intense-fg ansi-bold"> 4</span> api_type<span style="color: rgb(98,98,98)">=</span>OpenaiApiType<span style="color: rgb(98,98,98)">.</span>OpenAI, <span style="color: rgb(95,135,135)"># OpenaiApiType.OpenAI or OpenaiApiType.AzureOpenAI</span>
<span class="ansi-green-intense-fg ansi-bold"> 5</span> max_retries<span style="color: rgb(98,98,98)">=</span><span style="color: rgb(98,98,98)">20</span>,
<span class="ansi-green-intense-fg ansi-bold"> 6</span> )
<span class="ansi-green-intense-fg ansi-bold"> 7</span> mini_token_encoder <span style="color: rgb(98,98,98)">=</span> tiktoken<span style="color: rgb(98,98,98)">.</span>encoding_for_model(mini_llm<span style="color: rgb(98,98,98)">.</span>model)
<span class="ansi-green-intense-fg ansi-bold"> 9</span> context_builder <span style="color: rgb(98,98,98)">=</span> GlobalCommunityContext(
<span class="ansi-green-intense-fg ansi-bold"> 10</span> community_reports<span style="color: rgb(98,98,98)">=</span>reports,
<span class="ansi-green-intense-fg ansi-bold"> 11</span> communities<span style="color: rgb(98,98,98)">=</span>communities,
<span class="ansi-green-fg"> (...)</span>
<span class="ansi-green-intense-fg ansi-bold"> 18</span> },
<span class="ansi-green-intense-fg ansi-bold"> 19</span> )
Cell <span class="ansi-green-fg">In[6], line 5</span>
<span class="ansi-green-intense-fg ansi-bold"> 1</span> context_builder <span style="color: rgb(98,98,98)">=</span> GlobalCommunityContext(
<span class="ansi-green-intense-fg ansi-bold"> 2</span> community_reports<span style="color: rgb(98,98,98)">=</span>reports,
<span class="ansi-green-intense-fg ansi-bold"> 3</span> communities<span style="color: rgb(98,98,98)">=</span>communities,
<span class="ansi-green-intense-fg ansi-bold"> 4</span> entities<span style="color: rgb(98,98,98)">=</span>entities, <span style="color: rgb(95,135,135)"># default to None if you don't want to use community weights for ranking</span>
<span class="ansi-green-fg">----&gt; 5</span> token_encoder<span style="color: rgb(98,98,98)">=</span><span class="ansi-yellow-bg">token_encoder</span>,
<span class="ansi-green-intense-fg ansi-bold"> 6</span> dynamic_community_selection<span style="color: rgb(98,98,98)">=</span><span class="ansi-bold" style="color: rgb(0,135,0)">True</span>,
<span class="ansi-green-intense-fg ansi-bold"> 7</span> dynamic_community_selection_kwargs<span style="color: rgb(98,98,98)">=</span>{
<span class="ansi-green-intense-fg ansi-bold"> 8</span> <span style="color: rgb(175,0,0)">"</span><span style="color: rgb(175,0,0)">model</span><span style="color: rgb(175,0,0)">"</span>: model,
<span class="ansi-green-intense-fg ansi-bold"> 9</span> <span style="color: rgb(175,0,0)">"</span><span style="color: rgb(175,0,0)">token_encoder</span><span style="color: rgb(175,0,0)">"</span>: token_encoder,
<span class="ansi-green-intense-fg ansi-bold"> 10</span> },
<span class="ansi-green-intense-fg ansi-bold"> 11</span> )
<span class="ansi-red-fg">NameError</span>: name 'ChatOpenAI' is not defined</pre>
<span class="ansi-red-fg">NameError</span>: name 'token_encoder' is not defined</pre>
</div>
</div>
</div>
@ -2521,7 +2522,7 @@ reduce_llm_params = {
</clipboard-copy>
</div>
<div class="highlight-ipynb hl-python"><pre><span></span><span class="n">search_engine</span> <span class="o">=</span> <span class="n">GlobalSearch</span><span class="p">(</span>
<span class="n">llm</span><span class="o">=</span><span class="n">llm</span><span class="p">,</span>
<span class="n">model</span><span class="o">=</span><span class="n">model</span><span class="p">,</span>
<span class="n">context_builder</span><span class="o">=</span><span class="n">context_builder</span><span class="p">,</span>
<span class="n">token_encoder</span><span class="o">=</span><span class="n">token_encoder</span><span class="p">,</span>
<span class="n">max_data_tokens</span><span class="o">=</span><span class="mi">12_000</span><span class="p">,</span> <span class="c1"># change this based on the token limit you have on your model (if you are using a model with 8k limit, a good setting could be 5000)</span>
@ -2535,7 +2536,7 @@ reduce_llm_params = {
<span class="p">)</span>
</pre></div>
<div class="clipboard-copy-txt" id="cell-8">search_engine = GlobalSearch(
llm=llm,
model=model,
context_builder=context_builder,
token_encoder=token_encoder,
max_data_tokens=12_000, # change this based on the token limit you have on your model (if you are using a model with 8k limit, a good setting could be 5000)
@ -2561,9 +2562,9 @@ reduce_llm_params = {
<pre>
<span class="ansi-red-fg">---------------------------------------------------------------------------</span>
<span class="ansi-red-fg">NameError</span> Traceback (most recent call last)
Cell <span class="ansi-green-fg">In[8], line 1</span>
<span class="ansi-green-fg">----&gt; 1</span> search_engine <span style="color: rgb(98,98,98)">=</span> <span class="ansi-yellow-bg">GlobalSearch</span>(
<span class="ansi-green-intense-fg ansi-bold"> 2</span> llm<span style="color: rgb(98,98,98)">=</span>llm,
Cell <span class="ansi-green-fg">In[8], line 2</span>
<span class="ansi-green-intense-fg ansi-bold"> 1</span> search_engine <span style="color: rgb(98,98,98)">=</span> GlobalSearch(
<span class="ansi-green-fg">----&gt; 2</span> model<span style="color: rgb(98,98,98)">=</span><span class="ansi-yellow-bg">model</span>,
<span class="ansi-green-intense-fg ansi-bold"> 3</span> context_builder<span style="color: rgb(98,98,98)">=</span>context_builder,
<span class="ansi-green-intense-fg ansi-bold"> 4</span> token_encoder<span style="color: rgb(98,98,98)">=</span>token_encoder,
<span class="ansi-green-intense-fg ansi-bold"> 5</span> max_data_tokens<span style="color: rgb(98,98,98)">=</span><span style="color: rgb(98,98,98)">12_000</span>, <span style="color: rgb(95,135,135)"># change this based on the token limit you have on your model (if you are using a model with 8k limit, a good setting could be 5000)</span>
@ -2576,7 +2577,7 @@ Cell <span class="ansi-green-fg">In[8], line 1</span>
<span class="ansi-green-intense-fg ansi-bold"> 12</span> response_type<span style="color: rgb(98,98,98)">=</span><span style="color: rgb(175,0,0)">"</span><span style="color: rgb(175,0,0)">multiple paragraphs</span><span style="color: rgb(175,0,0)">"</span>, <span style="color: rgb(95,135,135)"># free form text describing the response type and format, can be anything, e.g. prioritized list, single paragraph, multiple paragraphs, multiple-page report</span>
<span class="ansi-green-intense-fg ansi-bold"> 13</span> )
<span class="ansi-red-fg">NameError</span>: name 'GlobalSearch' is not defined</pre>
<span class="ansi-red-fg">NameError</span>: name 'model' is not defined</pre>
</div>
</div>
</div>
@ -2601,15 +2602,11 @@ Cell <span class="ansi-green-fg">In[8], line 1</span>
</div>
</clipboard-copy>
</div>
<div class="highlight-ipynb hl-python"><pre><span></span><span class="n">result</span> <span class="o">=</span> <span class="k">await</span> <span class="n">search_engine</span><span class="o">.</span><span class="n">search</span><span class="p">(</span>
<span class="s2">"What is Cosmic Vocalization and who are involved in it?"</span>
<span class="p">)</span>
<div class="highlight-ipynb hl-python"><pre><span></span><span class="n">result</span> <span class="o">=</span> <span class="k">await</span> <span class="n">search_engine</span><span class="o">.</span><span class="n">search</span><span class="p">(</span><span class="s2">"What is operation dulce?"</span><span class="p">)</span>
<span class="nb">print</span><span class="p">(</span><span class="n">result</span><span class="o">.</span><span class="n">response</span><span class="p">)</span>
</pre></div>
<div class="clipboard-copy-txt" id="cell-9">result = await search_engine.search(
"What is Cosmic Vocalization and who are involved in it?"
)
<div class="clipboard-copy-txt" id="cell-9">result = await search_engine.search("What is operation dulce?")
print(result.response)</div>
</div>
@ -2627,10 +2624,8 @@ print(result.response)</div>
<span class="ansi-red-fg">---------------------------------------------------------------------------</span>
<span class="ansi-red-fg">NameError</span> Traceback (most recent call last)
Cell <span class="ansi-green-fg">In[9], line 1</span>
<span class="ansi-green-fg">----&gt; 1</span> result <span style="color: rgb(98,98,98)">=</span> <span class="ansi-bold" style="color: rgb(0,135,0)">await</span> <span class="ansi-yellow-bg">search_engine</span><span style="color: rgb(98,98,98)">.</span>search(
<span class="ansi-green-intense-fg ansi-bold"> 2</span> <span style="color: rgb(175,0,0)">"</span><span style="color: rgb(175,0,0)">What is Cosmic Vocalization and who are involved in it?</span><span style="color: rgb(175,0,0)">"</span>
<span class="ansi-green-intense-fg ansi-bold"> 3</span> )
<span class="ansi-green-intense-fg ansi-bold"> 5</span> <span style="color: rgb(0,135,0)">print</span>(result<span style="color: rgb(98,98,98)">.</span>response)
<span class="ansi-green-fg">----&gt; 1</span> result <span style="color: rgb(98,98,98)">=</span> <span class="ansi-bold" style="color: rgb(0,135,0)">await</span> <span class="ansi-yellow-bg">search_engine</span><span style="color: rgb(98,98,98)">.</span>search(<span style="color: rgb(175,0,0)">"</span><span style="color: rgb(175,0,0)">What is operation dulce?</span><span style="color: rgb(175,0,0)">"</span>)
<span class="ansi-green-intense-fg ansi-bold"> 3</span> <span style="color: rgb(0,135,0)">print</span>(result<span style="color: rgb(98,98,98)">.</span>response)
<span class="ansi-red-fg">NameError</span>: name 'search_engine' is not defined</pre>
</div>
@ -2710,7 +2705,7 @@ Cell <span class="ansi-green-fg">In[10], line 2</span>
<span class="n">prompt_tokens</span> <span class="o">=</span> <span class="n">result</span><span class="o">.</span><span class="n">prompt_tokens_categories</span><span class="p">[</span><span class="s2">"build_context"</span><span class="p">]</span>
<span class="n">output_tokens</span> <span class="o">=</span> <span class="n">result</span><span class="o">.</span><span class="n">output_tokens_categories</span><span class="p">[</span><span class="s2">"build_context"</span><span class="p">]</span>
<span class="nb">print</span><span class="p">(</span>
<span class="sa">f</span><span class="s2">"Build context (</span><span class="si">{</span><span class="n">mini_llm</span><span class="o">.</span><span class="n">model</span><span class="si">}</span><span class="s2">)</span><span class="se">\n</span><span class="s2">LLM calls: </span><span class="si">{</span><span class="n">llm_calls</span><span class="si">}</span><span class="s2">. Prompt tokens: </span><span class="si">{</span><span class="n">prompt_tokens</span><span class="si">}</span><span class="s2">. Output tokens: </span><span class="si">{</span><span class="n">output_tokens</span><span class="si">}</span><span class="s2">."</span>
<span class="sa">f</span><span class="s2">"Build context (</span><span class="si">{</span><span class="n">llm_model</span><span class="si">}</span><span class="s2">)</span><span class="se">\n</span><span class="s2">LLM calls: </span><span class="si">{</span><span class="n">llm_calls</span><span class="si">}</span><span class="s2">. Prompt tokens: </span><span class="si">{</span><span class="n">prompt_tokens</span><span class="si">}</span><span class="s2">. Output tokens: </span><span class="si">{</span><span class="n">output_tokens</span><span class="si">}</span><span class="s2">."</span>
<span class="p">)</span>
<span class="c1"># inspect number of LLM calls and tokens in map-reduce</span>
<span class="n">llm_calls</span> <span class="o">=</span> <span class="n">result</span><span class="o">.</span><span class="n">llm_calls_categories</span><span class="p">[</span><span class="s2">"map"</span><span class="p">]</span> <span class="o">+</span> <span class="n">result</span><span class="o">.</span><span class="n">llm_calls_categories</span><span class="p">[</span><span class="s2">"reduce"</span><span class="p">]</span>
@ -2721,7 +2716,7 @@ Cell <span class="ansi-green-fg">In[10], line 2</span>
<span class="n">result</span><span class="o">.</span><span class="n">output_tokens_categories</span><span class="p">[</span><span class="s2">"map"</span><span class="p">]</span> <span class="o">+</span> <span class="n">result</span><span class="o">.</span><span class="n">output_tokens_categories</span><span class="p">[</span><span class="s2">"reduce"</span><span class="p">]</span>
<span class="p">)</span>
<span class="nb">print</span><span class="p">(</span>
<span class="sa">f</span><span class="s2">"Map-reduce (</span><span class="si">{</span><span class="n">llm</span><span class="o">.</span><span class="n">model</span><span class="si">}</span><span class="s2">)</span><span class="se">\n</span><span class="s2">LLM calls: </span><span class="si">{</span><span class="n">llm_calls</span><span class="si">}</span><span class="s2">. Prompt tokens: </span><span class="si">{</span><span class="n">prompt_tokens</span><span class="si">}</span><span class="s2">. Output tokens: </span><span class="si">{</span><span class="n">output_tokens</span><span class="si">}</span><span class="s2">."</span>
<span class="sa">f</span><span class="s2">"Map-reduce (</span><span class="si">{</span><span class="n">llm_model</span><span class="si">}</span><span class="s2">)</span><span class="se">\n</span><span class="s2">LLM calls: </span><span class="si">{</span><span class="n">llm_calls</span><span class="si">}</span><span class="s2">. Prompt tokens: </span><span class="si">{</span><span class="n">prompt_tokens</span><span class="si">}</span><span class="s2">. Output tokens: </span><span class="si">{</span><span class="n">output_tokens</span><span class="si">}</span><span class="s2">."</span>
<span class="p">)</span>
</pre></div>
<div class="clipboard-copy-txt" id="cell-11"># inspect number of LLM calls and tokens in dynamic community selection
@ -2729,7 +2724,7 @@ llm_calls = result.llm_calls_categories["build_context"]
prompt_tokens = result.prompt_tokens_categories["build_context"]
output_tokens = result.output_tokens_categories["build_context"]
print(
f"Build context ({mini_llm.model})\nLLM calls: {llm_calls}. Prompt tokens: {prompt_tokens}. Output tokens: {output_tokens}."
f"Build context ({llm_model})\nLLM calls: {llm_calls}. Prompt tokens: {prompt_tokens}. Output tokens: {output_tokens}."
)
# inspect number of LLM calls and tokens in map-reduce
llm_calls = result.llm_calls_categories["map"] + result.llm_calls_categories["reduce"]
@ -2740,7 +2735,7 @@ output_tokens = (
result.output_tokens_categories["map"] + result.output_tokens_categories["reduce"]
)
print(
f"Map-reduce ({llm.model})\nLLM calls: {llm_calls}. Prompt tokens: {prompt_tokens}. Output tokens: {output_tokens}."
f"Map-reduce ({llm_model})\nLLM calls: {llm_calls}. Prompt tokens: {prompt_tokens}. Output tokens: {output_tokens}."
)</div>
</div>
</div>

View File

@ -1,2 +1,2 @@
$c414b6c8-9525-4982-b2ba-595f265afd34²À$id ÿÿÿÿÿÿÿÿÿ*string08Zdefault(text ÿÿÿÿÿÿÿÿÿ*string08Zdefault>vector ÿÿÿÿÿÿÿÿÿ*fixed_size_list:float:153608Zdefault.
$2fed1d8b-daac-41b0-a93a-e115cda75be3²À$id ÿÿÿÿÿÿÿÿÿ*string08Zdefault(text ÿÿÿÿÿÿÿÿÿ*string08Zdefault>vector ÿÿÿÿÿÿÿÿÿ*fixed_size_list:float:153608Zdefault.
attributes ÿÿÿÿÿÿÿÿÿ*string08Zdefault

View File

@ -0,0 +1,2 @@
$60012692-a153-48f9-8f4e-c479b44cbf3f²À$id ÿÿÿÿÿÿÿÿÿ*string08Zdefault(text ÿÿÿÿÿÿÿÿÿ*string08Zdefault>vector ÿÿÿÿÿÿÿÿÿ*fixed_size_list:float:153608Zdefault.
attributes ÿÿÿÿÿÿÿÿÿ*string08Zdefault

View File

@ -1,2 +1,2 @@
$158f79e4-2f9f-4710-99cf-9b0425ae781c²À$id ÿÿÿÿÿÿÿÿÿ*string08Zdefault(text ÿÿÿÿÿÿÿÿÿ*string08Zdefault>vector ÿÿÿÿÿÿÿÿÿ*fixed_size_list:float:153608Zdefault.
$92c031e5-7558-451e-9d0f-f5514db9616d²À$id ÿÿÿÿÿÿÿÿÿ*string08Zdefault(text ÿÿÿÿÿÿÿÿÿ*string08Zdefault>vector ÿÿÿÿÿÿÿÿÿ*fixed_size_list:float:153608Zdefault.
attributes ÿÿÿÿÿÿÿÿÿ*string08Zdefault

View File

@ -0,0 +1,2 @@
$7de627d2-4c57-49e9-bf73-c17a9582ead4²À$id ÿÿÿÿÿÿÿÿÿ*string08Zdefault(text ÿÿÿÿÿÿÿÿÿ*string08Zdefault>vector ÿÿÿÿÿÿÿÿÿ*fixed_size_list:float:153608Zdefault.
attributes ÿÿÿÿÿÿÿÿÿ*string08Zdefault

View File

@ -1,2 +1,2 @@
$e15dabba-9c5e-480a-ac7a-a24b94931123²À$id ÿÿÿÿÿÿÿÿÿ*string08Zdefault(text ÿÿÿÿÿÿÿÿÿ*string08Zdefault>vector ÿÿÿÿÿÿÿÿÿ*fixed_size_list:float:153608Zdefault.
$fd0434ac-e5cd-4ddd-9dd5-e5048d4edb59²À$id ÿÿÿÿÿÿÿÿÿ*string08Zdefault(text ÿÿÿÿÿÿÿÿÿ*string08Zdefault>vector ÿÿÿÿÿÿÿÿÿ*fixed_size_list:float:153608Zdefault.
attributes ÿÿÿÿÿÿÿÿÿ*string08Zdefault

View File

@ -0,0 +1,2 @@
$8e74264c-f72d-44f5-a6f4-b3b61ae6a43b²À$id ÿÿÿÿÿÿÿÿÿ*string08Zdefault(text ÿÿÿÿÿÿÿÿÿ*string08Zdefault>vector ÿÿÿÿÿÿÿÿÿ*fixed_size_list:float:153608Zdefault.
attributes ÿÿÿÿÿÿÿÿÿ*string08Zdefault

View File

@ -1,2 +0,0 @@
$08336a29-08c5-442b-aca4-cd5c16d61192²œid ÿÿÿÿÿÿÿÿÿ*string08text ÿÿÿÿÿÿÿÿÿ*string085vector ÿÿÿÿÿÿÿÿÿ*fixed_size_list:float:153608%
attributes ÿÿÿÿÿÿÿÿÿ*string08

View File

@ -1,3 +0,0 @@

$0752a360-8a56-4e2a-8364-2afeb9bd6207²œid ÿÿÿÿÿÿÿÿÿ*string08text ÿÿÿÿÿÿÿÿÿ*string085vector ÿÿÿÿÿÿÿÿÿ*fixed_size_list:float:153608%
attributes ÿÿÿÿÿÿÿÿÿ*string08

View File

@ -1,2 +0,0 @@
 $05435a61-8d93-423a-9cad-dd618f590fd8²œid ÿÿÿÿÿÿÿÿÿ*string08text ÿÿÿÿÿÿÿÿÿ*string085vector ÿÿÿÿÿÿÿÿÿ*fixed_size_list:float:153608%
attributes ÿÿÿÿÿÿÿÿÿ*string08

View File

@ -1,2 +0,0 @@
$8b279616-14fd-48b5-a93d-febbf6719d3e²œid ÿÿÿÿÿÿÿÿÿ*string08text ÿÿÿÿÿÿÿÿÿ*string085vector ÿÿÿÿÿÿÿÿÿ*fixed_size_list:float:153608%
attributes ÿÿÿÿÿÿÿÿÿ*string08

View File

@ -1,2 +0,0 @@
$38fb0c0b-2d0e-401b-9083-be5ba9b67435²œid ÿÿÿÿÿÿÿÿÿ*string08text ÿÿÿÿÿÿÿÿÿ*string085vector ÿÿÿÿÿÿÿÿÿ*fixed_size_list:float:153608%
attributes ÿÿÿÿÿÿÿÿÿ*string08

View File

@ -1,2 +0,0 @@
$fe38cf8b-4241-4fb8-87d7-25f99b3efe12²œid ÿÿÿÿÿÿÿÿÿ*string08text ÿÿÿÿÿÿÿÿÿ*string085vector ÿÿÿÿÿÿÿÿÿ*fixed_size_list:float:153608%
attributes ÿÿÿÿÿÿÿÿÿ*string08

View File

@ -1,2 +0,0 @@
$e2abe90d-7359-468d-9ea4-66cf4e0b2546²œid ÿÿÿÿÿÿÿÿÿ*string08text ÿÿÿÿÿÿÿÿÿ*string085vector ÿÿÿÿÿÿÿÿÿ*fixed_size_list:float:153608%
attributes ÿÿÿÿÿÿÿÿÿ*string08

View File

@ -1,2 +0,0 @@
$1f0f8c29-29e5-475c-a08e-e34b6364a417²œid ÿÿÿÿÿÿÿÿÿ*string08text ÿÿÿÿÿÿÿÿÿ*string085vector ÿÿÿÿÿÿÿÿÿ*fixed_size_list:float:153608%
attributes ÿÿÿÿÿÿÿÿÿ*string08

View File

@ -1,2 +0,0 @@
$75b2d4c6-cd58-4781-acb0-f33738faf11f²œid ÿÿÿÿÿÿÿÿÿ*string08text ÿÿÿÿÿÿÿÿÿ*string085vector ÿÿÿÿÿÿÿÿÿ*fixed_size_list:float:153608%
attributes ÿÿÿÿÿÿÿÿÿ*string08

View File

@ -1,2 +0,0 @@
$d9923d7d-4f83-4961-99e5-3568237b8b30²œid ÿÿÿÿÿÿÿÿÿ*string08text ÿÿÿÿÿÿÿÿÿ*string085vector ÿÿÿÿÿÿÿÿÿ*fixed_size_list:float:153608%
attributes ÿÿÿÿÿÿÿÿÿ*string08

View File

@ -1,2 +0,0 @@
$ea37ca18-d235-4027-9a86-83ad6b918a94²œid ÿÿÿÿÿÿÿÿÿ*string08text ÿÿÿÿÿÿÿÿÿ*string085vector ÿÿÿÿÿÿÿÿÿ*fixed_size_list:float:153608%
attributes ÿÿÿÿÿÿÿÿÿ*string08

View File

@ -1,2 +0,0 @@
$023764c8-2bf4-4c58-9f48-5f4919fd39c8²œid ÿÿÿÿÿÿÿÿÿ*string08text ÿÿÿÿÿÿÿÿÿ*string085vector ÿÿÿÿÿÿÿÿÿ*fixed_size_list:float:153608%
attributes ÿÿÿÿÿÿÿÿÿ*string08

View File

@ -1,2 +0,0 @@
$b2373328-005f-44f6-8466-53063e5d33b6²œid ÿÿÿÿÿÿÿÿÿ*string08text ÿÿÿÿÿÿÿÿÿ*string085vector ÿÿÿÿÿÿÿÿÿ*fixed_size_list:float:153608%
attributes ÿÿÿÿÿÿÿÿÿ*string08

View File

@ -1,2 +0,0 @@
 $8d69e9a7-3517-47a5-9b92-fe8782386a57²œid ÿÿÿÿÿÿÿÿÿ*string08text ÿÿÿÿÿÿÿÿÿ*string085vector ÿÿÿÿÿÿÿÿÿ*fixed_size_list:float:153608%
attributes ÿÿÿÿÿÿÿÿÿ*string08

View File

@ -1,2 +0,0 @@
"$646a654a-8214-4a5a-9122-d4c484796232²œid ÿÿÿÿÿÿÿÿÿ*string08text ÿÿÿÿÿÿÿÿÿ*string085vector ÿÿÿÿÿÿÿÿÿ*fixed_size_list:float:153608%
attributes ÿÿÿÿÿÿÿÿÿ*string08

View File

@ -1,2 +0,0 @@
$$dc8b6ba1-1d97-4a54-99f5-a04496432c8f²œid ÿÿÿÿÿÿÿÿÿ*string08text ÿÿÿÿÿÿÿÿÿ*string085vector ÿÿÿÿÿÿÿÿÿ*fixed_size_list:float:153608%
attributes ÿÿÿÿÿÿÿÿÿ*string08

View File

@ -1,2 +0,0 @@
&$c07a72f7-95d3-4edf-b0ea-7115e1f01909²œid ÿÿÿÿÿÿÿÿÿ*string08text ÿÿÿÿÿÿÿÿÿ*string085vector ÿÿÿÿÿÿÿÿÿ*fixed_size_list:float:153608%
attributes ÿÿÿÿÿÿÿÿÿ*string08

View File

@ -1,2 +0,0 @@
$38ecd466-1b50-41e4-9006-f9ac8c7653fe²œid ÿÿÿÿÿÿÿÿÿ*string08text ÿÿÿÿÿÿÿÿÿ*string085vector ÿÿÿÿÿÿÿÿÿ*fixed_size_list:float:153608%
attributes ÿÿÿÿÿÿÿÿÿ*string08

View File

@ -1,2 +0,0 @@
($05c6f6f4-057f-4391-8b93-f379b9052b04²œid ÿÿÿÿÿÿÿÿÿ*string08text ÿÿÿÿÿÿÿÿÿ*string085vector ÿÿÿÿÿÿÿÿÿ*fixed_size_list:float:153608%
attributes ÿÿÿÿÿÿÿÿÿ*string08

View File

@ -1,2 +0,0 @@
*$ccc9228d-5bc6-4511-819f-d8b8775951ba²œid ÿÿÿÿÿÿÿÿÿ*string08text ÿÿÿÿÿÿÿÿÿ*string085vector ÿÿÿÿÿÿÿÿÿ*fixed_size_list:float:153608%
attributes ÿÿÿÿÿÿÿÿÿ*string08

View File

@ -1,2 +0,0 @@
,$55c8dc40-6a31-4102-beda-d28efbcf02dc²œid ÿÿÿÿÿÿÿÿÿ*string08text ÿÿÿÿÿÿÿÿÿ*string085vector ÿÿÿÿÿÿÿÿÿ*fixed_size_list:float:153608%
attributes ÿÿÿÿÿÿÿÿÿ*string08

View File

@ -1,2 +0,0 @@
.$98addd13-5b1a-4d98-b759-f4ca554b2fea²œid ÿÿÿÿÿÿÿÿÿ*string08text ÿÿÿÿÿÿÿÿÿ*string085vector ÿÿÿÿÿÿÿÿÿ*fixed_size_list:float:153608%
attributes ÿÿÿÿÿÿÿÿÿ*string08

View File

@ -1,2 +0,0 @@
0$7fb8b616-10e0-48c0-b79f-d40b8ab23118²œid ÿÿÿÿÿÿÿÿÿ*string08text ÿÿÿÿÿÿÿÿÿ*string085vector ÿÿÿÿÿÿÿÿÿ*fixed_size_list:float:153608%
attributes ÿÿÿÿÿÿÿÿÿ*string08

Some files were not shown because too many files have changed in this diff Show More