Deploying to gh-pages from @ microsoft/graphrag@61816e076f 🚀

This commit is contained in:
AlonsoGuevara 2024-12-10 20:25:04 +00:00
parent 8b3a91e2b8
commit 360dfca166
6 changed files with 3002 additions and 1749 deletions

View File

@ -1874,9 +1874,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="nn">graphrag.query.input.loaders.dfs</span> <span class="kn">import</span> <span class="p">(</span>
<span class="n">store_entity_semantic_embeddings</span><span class="p">,</span>
<span class="p">)</span>
<span class="kn">from</span> <span class="nn">graphrag.query.llm.oai.chat_openai</span> <span class="kn">import</span> <span class="n">ChatOpenAI</span>
<span class="kn">from</span> <span class="nn">graphrag.query.llm.oai.embedding</span> <span class="kn">import</span> <span class="n">OpenAIEmbedding</span>
<span class="kn">from</span> <span class="nn">graphrag.query.llm.oai.typing</span> <span class="kn">import</span> <span class="n">OpenaiApiType</span>
@ -1910,9 +1907,6 @@ span.linenos.special { color: #000000; background-color: #ffffc0; padding-left:
<span class="n">collection_name</span><span class="o">=</span><span class="s2">"default-entity-description"</span><span class="p">,</span>
<span class="p">)</span>
<span class="n">description_embedding_store</span><span class="o">.</span><span class="n">connect</span><span class="p">(</span><span class="n">db_uri</span><span class="o">=</span><span class="n">LANCEDB_URI</span><span class="p">)</span>
<span class="n">entity_description_embeddings</span> <span class="o">=</span> <span class="n">store_entity_semantic_embeddings</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">vectorstore</span><span class="o">=</span><span class="n">description_embedding_store</span>
<span class="p">)</span>
<span class="nb">print</span><span class="p">(</span><span class="sa">f</span><span class="s2">"Entity count: </span><span class="si">{</span><span class="nb">len</span><span class="p">(</span><span class="n">entity_df</span><span class="p">)</span><span class="si">}</span><span class="s2">"</span><span class="p">)</span>
<span class="n">entity_df</span><span class="o">.</span><span class="n">head</span><span class="p">()</span>
@ -1941,9 +1935,6 @@ from graphrag.query.indexer_adapters import (
read_indexer_reports,
read_indexer_text_units,
)
from graphrag.query.input.loaders.dfs import (
store_entity_semantic_embeddings,
)
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
@ -1977,9 +1968,6 @@ description_embedding_store = LanceDBVectorStore(
collection_name="default-entity-description",
)
description_embedding_store.connect(db_uri=LANCEDB_URI)
entity_description_embeddings = store_entity_semantic_embeddings(
entities=entities, vectorstore=description_embedding_store
)
print(f"Entity count: {len(entity_df)}")
entity_df.head()
@ -2005,104 +1993,70 @@ 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="text/plain" tabindex="0">
<pre>Entity count: 178
Relationship count: 373
Text unit records: 50
</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>[2024-12-06T20:30:59Z WARN lance::dataset::write::insert] No existing dataset at /home/runner/work/graphrag/graphrag/docs/examples_notebooks/inputs/operation dulce/lancedb/default-entity-description.lance, it will be created
</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;
}
<pre>
<span class="ansi-red-fg">---------------------------------------------------------------------------</span>
<span class="ansi-red-fg">ValueError</span> Traceback (most recent call last)
Cell <span class="ansi-green-fg">In[2], line 38</span>
<span class="ansi-green-intense-fg ansi-bold"> 35</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"> 36</span> entity_embedding_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_EMBEDDING_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-fg">---&gt; 38</span> entities <span style="color: rgb(98,98,98)">=</span> <span class="ansi-yellow-bg">read_indexer_entities</span><span class="ansi-yellow-bg">(</span><span class="ansi-yellow-bg">entity_df</span><span class="ansi-yellow-bg">,</span><span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">entity_embedding_df</span><span class="ansi-yellow-bg">,</span><span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">COMMUNITY_LEVEL</span><span class="ansi-yellow-bg">)</span>
<span class="ansi-green-intense-fg ansi-bold"> 40</span> <span style="color: rgb(95,135,135)"># load description embeddings to an in-memory lancedb vectorstore</span>
<span class="ansi-green-intense-fg ansi-bold"> 41</span> <span style="color: rgb(95,135,135)"># to connect to a remote db, specify url and port values.</span>
<span class="ansi-green-intense-fg ansi-bold"> 42</span> description_embedding_store <span style="color: rgb(98,98,98)">=</span> LanceDBVectorStore(
<span class="ansi-green-intense-fg ansi-bold"> 43</span> collection_name<span style="color: rgb(98,98,98)">=</span><span style="color: rgb(175,0,0)">"</span><span style="color: rgb(175,0,0)">default-entity-description</span><span style="color: rgb(175,0,0)">"</span>,
<span class="ansi-green-intense-fg ansi-bold"> 44</span> )
.dataframe tbody tr th {
vertical-align: top;
}
File <span class="ansi-green-fg">~/work/graphrag/graphrag/graphrag/query/indexer_adapters.py:154</span>, in <span class="ansi-cyan-fg">read_indexer_entities</span><span class="ansi-blue-fg">(final_nodes, final_entities, community_level)</span>
<span class="ansi-green-intense-fg ansi-bold"> 149</span> final_df <span style="color: rgb(98,98,98)">=</span> nodes_df<span style="color: rgb(98,98,98)">.</span>merge(entities_df, on<span style="color: rgb(98,98,98)">=</span><span style="color: rgb(175,0,0)">"</span><span style="color: rgb(175,0,0)">id</span><span style="color: rgb(175,0,0)">"</span>, how<span style="color: rgb(98,98,98)">=</span><span style="color: rgb(175,0,0)">"</span><span style="color: rgb(175,0,0)">inner</span><span style="color: rgb(175,0,0)">"</span>)<span style="color: rgb(98,98,98)">.</span>drop_duplicates(
<span class="ansi-green-intense-fg ansi-bold"> 150</span> subset<span style="color: rgb(98,98,98)">=</span>[<span style="color: rgb(175,0,0)">"</span><span style="color: rgb(175,0,0)">id</span><span style="color: rgb(175,0,0)">"</span>]
<span class="ansi-green-intense-fg ansi-bold"> 151</span> )
<span class="ansi-green-intense-fg ansi-bold"> 153</span> <span style="color: rgb(95,135,135)"># read entity dataframe to knowledge model objects</span>
<span class="ansi-green-fg">--&gt; 154</span> <span class="ansi-bold" style="color: rgb(0,135,0)">return</span> <span class="ansi-yellow-bg">read_entities</span><span class="ansi-yellow-bg">(</span>
<span class="ansi-green-intense-fg ansi-bold"> 155</span> <span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">df</span><span class="ansi-yellow-bg" style="color: rgb(98,98,98)">=</span><span class="ansi-yellow-bg">final_df</span><span class="ansi-yellow-bg">,</span>
<span class="ansi-green-intense-fg ansi-bold"> 156</span> <span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">id_col</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)">id</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"> 157</span> <span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">title_col</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)">title</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"> 158</span> <span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">type_col</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)">type</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"> 159</span> <span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">short_id_col</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)">human_readable_id</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"> 160</span> <span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">description_col</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)">description</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"> 161</span> <span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">community_col</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)">community</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"> 162</span> <span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">rank_col</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)">degree</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"> 163</span> <span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">name_embedding_col</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)">None</span><span class="ansi-yellow-bg">,</span>
<span class="ansi-green-intense-fg ansi-bold"> 164</span> <span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">description_embedding_col</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)">description_embedding</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"> 165</span> <span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">text_unit_ids_col</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)">text_unit_ids</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"> 166</span> <span class="ansi-yellow-bg">)</span>
.dataframe thead th {
text-align: right;
}
</style>
<table border="1" class="dataframe">
<thead>
<tr style="text-align: right;">
<th></th>
<th>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>06bdff339c02ab35c80fa49320d5da66</td>
<td># Operation: Dulce\n\n## Chapter 1\n\nThe thru...</td>
<td>600</td>
<td>[958fdd043f17ade63cb13570b59df295]</td>
<td>[b45241d70f0e43fca764df95b2b81f77, 4119fd06010...</td>
<td>[148fffeb994541b2b4b6dcefda7001a8, 89c08e79329...</td>
<td>[439081a3-bfeb-4693-968a-0f6189d8fa50, 3399e3d...</td>
</tr>
<tr>
<th>1</th>
<td>28dc4aa41a3e99deb7f354682f3e9904</td>
<td>'s authoritarian performance. _Protocols_, Jor...</td>
<td>600</td>
<td>[958fdd043f17ade63cb13570b59df295]</td>
<td>[4119fd06010c494caa07f439b333f4c5, 077d2820ae1...</td>
<td>[9a6f414210e14841a5b0e661aedc898d, db541b72609...</td>
<td>[b09594cb-d4b7-4de4-a1af-97778300eb1b, f7c5ea4...</td>
</tr>
<tr>
<th>2</th>
<td>813db3138ef511c34be86f841f68aa8f</td>
<td>, rehearsing the speech for their subordinates...</td>
<td>600</td>
<td>[958fdd043f17ade63cb13570b59df295]</td>
<td>[b45241d70f0e43fca764df95b2b81f77, 077d2820ae1...</td>
<td>[0467928aa65e4a4fba62bdb1467e3a54, 7cc3356d38d...</td>
<td>[7642fe21-7cb9-4428-848b-d2e3f5ab10ca, 6fe3d6c...</td>
</tr>
<tr>
<th>3</th>
<td>d0afd106abf3a2966ff88a99eef710db</td>
<td>, weighing his words carefully. "Our tech is t...</td>
<td>600</td>
<td>[958fdd043f17ade63cb13570b59df295]</td>
<td>[b45241d70f0e43fca764df95b2b81f77, 4119fd06010...</td>
<td>[148fffeb994541b2b4b6dcefda7001a8, 89c08e79329...</td>
<td>[956e4c22-e343-4b5d-ad3c-d44ca3ce5fb5]</td>
</tr>
<tr>
<th>4</th>
<td>f4c7c95d7bf621c6eb73d331cbf0b608</td>
<td>stepping into their exchange. The authority i...</td>
<td>600</td>
<td>[958fdd043f17ade63cb13570b59df295]</td>
<td>[077d2820ae1845bcbb1803379a3d1eae, 1fd3fa8bb5a...</td>
<td>[478e4c72d8fb46dd8cc9f0691c9878fd, 82b0446e7c9...</td>
<td>[a54eda4d-b5bf-471d-989f-370eb9aff961, 9f85274...</td>
</tr>
</tbody>
</table>
</div>
File <span class="ansi-green-fg">~/work/graphrag/graphrag/graphrag/query/input/loaders/dfs.py:44</span>, in <span class="ansi-cyan-fg">read_entities</span><span class="ansi-blue-fg">(df, id_col, short_id_col, title_col, type_col, description_col, name_embedding_col, description_embedding_col, community_col, text_unit_ids_col, rank_col, attributes_cols)</span>
<span class="ansi-green-intense-fg ansi-bold"> 39</span> entities <span style="color: rgb(98,98,98)">=</span> []
<span class="ansi-green-intense-fg ansi-bold"> 40</span> <span class="ansi-bold" style="color: rgb(0,135,0)">for</span> idx, row <span class="ansi-bold" style="color: rgb(175,0,255)">in</span> df<span style="color: rgb(98,98,98)">.</span>iterrows():
<span class="ansi-green-intense-fg ansi-bold"> 41</span> entity <span style="color: rgb(98,98,98)">=</span> Entity(
<span class="ansi-green-intense-fg ansi-bold"> 42</span> <span style="color: rgb(0,135,0)">id</span><span style="color: rgb(98,98,98)">=</span>to_str(row, id_col),
<span class="ansi-green-intense-fg ansi-bold"> 43</span> short_id<span style="color: rgb(98,98,98)">=</span>to_optional_str(row, short_id_col) <span class="ansi-bold" style="color: rgb(0,135,0)">if</span> short_id_col <span class="ansi-bold" style="color: rgb(0,135,0)">else</span> <span style="color: rgb(0,135,0)">str</span>(idx),
<span class="ansi-green-fg">---&gt; 44</span> title<span style="color: rgb(98,98,98)">=</span><span class="ansi-yellow-bg">to_str</span><span class="ansi-yellow-bg">(</span><span class="ansi-yellow-bg">row</span><span class="ansi-yellow-bg">,</span><span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">title_col</span><span class="ansi-yellow-bg">)</span>,
<span class="ansi-green-intense-fg ansi-bold"> 45</span> <span style="color: rgb(0,135,0)">type</span><span style="color: rgb(98,98,98)">=</span>to_optional_str(row, type_col),
<span class="ansi-green-intense-fg ansi-bold"> 46</span> description<span style="color: rgb(98,98,98)">=</span>to_optional_str(row, description_col),
<span class="ansi-green-intense-fg ansi-bold"> 47</span> name_embedding<span style="color: rgb(98,98,98)">=</span>to_optional_list(row, name_embedding_col, item_type<span style="color: rgb(98,98,98)">=</span><span style="color: rgb(0,135,0)">float</span>),
<span class="ansi-green-intense-fg ansi-bold"> 48</span> description_embedding<span style="color: rgb(98,98,98)">=</span>to_optional_list(
<span class="ansi-green-intense-fg ansi-bold"> 49</span> row, description_embedding_col, item_type<span style="color: rgb(98,98,98)">=</span><span style="color: rgb(0,135,0)">float</span>
<span class="ansi-green-intense-fg ansi-bold"> 50</span> ),
<span class="ansi-green-intense-fg ansi-bold"> 51</span> community_ids<span style="color: rgb(98,98,98)">=</span>to_optional_list(row, community_col, item_type<span style="color: rgb(98,98,98)">=</span><span style="color: rgb(0,135,0)">str</span>),
<span class="ansi-green-intense-fg ansi-bold"> 52</span> text_unit_ids<span style="color: rgb(98,98,98)">=</span>to_optional_list(row, text_unit_ids_col),
<span class="ansi-green-intense-fg ansi-bold"> 53</span> rank<span style="color: rgb(98,98,98)">=</span>to_optional_int(row, rank_col),
<span class="ansi-green-intense-fg ansi-bold"> 54</span> attributes<span style="color: rgb(98,98,98)">=</span>(
<span class="ansi-green-intense-fg ansi-bold"> 55</span> {col: row<span style="color: rgb(98,98,98)">.</span>get(col) <span class="ansi-bold" style="color: rgb(0,135,0)">for</span> col <span class="ansi-bold" style="color: rgb(175,0,255)">in</span> attributes_cols}
<span class="ansi-green-intense-fg ansi-bold"> 56</span> <span class="ansi-bold" style="color: rgb(0,135,0)">if</span> attributes_cols
<span class="ansi-green-intense-fg ansi-bold"> 57</span> <span class="ansi-bold" style="color: rgb(0,135,0)">else</span> <span class="ansi-bold" style="color: rgb(0,135,0)">None</span>
<span class="ansi-green-intense-fg ansi-bold"> 58</span> ),
<span class="ansi-green-intense-fg ansi-bold"> 59</span> )
<span class="ansi-green-intense-fg ansi-bold"> 60</span> entities<span style="color: rgb(98,98,98)">.</span>append(entity)
<span class="ansi-green-intense-fg ansi-bold"> 61</span> <span class="ansi-bold" style="color: rgb(0,135,0)">return</span> entities
File <span class="ansi-green-fg">~/work/graphrag/graphrag/graphrag/query/input/loaders/utils.py:19</span>, in <span class="ansi-cyan-fg">to_str</span><span class="ansi-blue-fg">(data, column_name)</span>
<span class="ansi-green-intense-fg ansi-bold"> 17</span> <span class="ansi-bold" style="color: rgb(0,135,0)">return</span> <span style="color: rgb(0,135,0)">str</span>(data[column_name])
<span class="ansi-green-intense-fg ansi-bold"> 18</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)">Column </span><span class="ansi-bold" style="color: rgb(175,95,135)">{</span>column_name<span class="ansi-bold" style="color: rgb(175,95,135)">}</span><span style="color: rgb(175,0,0)"> not found in data</span><span style="color: rgb(175,0,0)">"</span>
<span class="ansi-green-fg">---&gt; 19</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>(msg)
<span class="ansi-red-fg">ValueError</span>: Column title not found in data</pre>
</div>
</div>
</div>
@ -2175,8 +2129,8 @@ text_embedder = OpenAIEmbedding(
</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>
@ -2194,37 +2148,16 @@ text_embedder = OpenAIEmbedding(
</div>
</clipboard-copy>
</div>
<div class="highlight-ipynb hl-python"><pre><span></span><span class="k">def</span> <span class="nf">embed_community_reports</span><span class="p">(</span>
<div class="highlight-ipynb hl-python"><pre><span></span><span class="k">def</span> <span class="nf">read_community_reports</span><span class="p">(</span>
<span class="n">input_dir</span><span class="p">:</span> <span class="nb">str</span><span class="p">,</span>
<span class="n">embedder</span><span class="p">:</span> <span class="n">OpenAIEmbedding</span><span class="p">,</span>
<span class="n">community_report_table</span><span class="p">:</span> <span class="nb">str</span> <span class="o">=</span> <span class="n">COMMUNITY_REPORT_TABLE</span><span class="p">,</span>
<span class="p">):</span>
<span class="w"> </span><span class="sd">"""Embeds the full content of the community reports and saves the DataFrame with embeddings to the output path."""</span>
<span class="n">input_path</span> <span class="o">=</span> <span class="n">Path</span><span class="p">(</span><span class="n">input_dir</span><span class="p">)</span> <span class="o">/</span> <span class="sa">f</span><span class="s2">"</span><span class="si">{</span><span class="n">community_report_table</span><span class="si">}</span><span class="s2">.parquet"</span>
<span class="n">output_path</span> <span class="o">=</span> <span class="n">Path</span><span class="p">(</span><span class="n">input_dir</span><span class="p">)</span> <span class="o">/</span> <span class="sa">f</span><span class="s2">"</span><span class="si">{</span><span class="n">community_report_table</span><span class="si">}</span><span class="s2">_with_embeddings.parquet"</span>
<span class="k">if</span> <span class="ow">not</span> <span class="n">Path</span><span class="p">(</span><span class="n">output_path</span><span class="p">)</span><span class="o">.</span><span class="n">exists</span><span class="p">():</span>
<span class="nb">print</span><span class="p">(</span><span class="s2">"Embedding file not found. Computing community report embeddings..."</span><span class="p">)</span>
<span class="n">report_df</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="n">input_path</span><span class="p">)</span>
<span class="k">if</span> <span class="s2">"full_content"</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">report_df</span><span class="o">.</span><span class="n">columns</span><span class="p">:</span>
<span class="n">error_msg</span> <span class="o">=</span> <span class="sa">f</span><span class="s2">"'full_content' column not found in </span><span class="si">{</span><span class="n">input_path</span><span class="si">}</span><span class="s2">"</span>
<span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="n">error_msg</span><span class="p">)</span>
<span class="n">report_df</span><span class="p">[</span><span class="s2">"full_content_embeddings"</span><span class="p">]</span> <span class="o">=</span> <span class="n">report_df</span><span class="o">.</span><span class="n">loc</span><span class="p">[:,</span> <span class="s2">"full_content"</span><span class="p">]</span><span class="o">.</span><span class="n">apply</span><span class="p">(</span>
<span class="k">lambda</span> <span class="n">x</span><span class="p">:</span> <span class="n">embedder</span><span class="o">.</span><span class="n">embed</span><span class="p">(</span><span class="n">x</span><span class="p">)</span>
<span class="p">)</span>
<span class="c1"># Save the DataFrame with embeddings to the output path</span>
<span class="n">report_df</span><span class="o">.</span><span class="n">to_parquet</span><span class="p">(</span><span class="n">output_path</span><span class="p">)</span>
<span class="nb">print</span><span class="p">(</span><span class="sa">f</span><span class="s2">"Embeddings saved to </span><span class="si">{</span><span class="n">output_path</span><span class="si">}</span><span class="s2">"</span><span class="p">)</span>
<span class="k">return</span> <span class="n">report_df</span>
<span class="nb">print</span><span class="p">(</span><span class="sa">f</span><span class="s2">"Embeddings file already exists at </span><span class="si">{</span><span class="n">output_path</span><span class="si">}</span><span class="s2">"</span><span class="p">)</span>
<span class="k">return</span> <span class="n">pd</span><span class="o">.</span><span class="n">read_parquet</span><span class="p">(</span><span class="n">output_path</span><span class="p">)</span>
<span class="k">return</span> <span class="n">pd</span><span class="o">.</span><span class="n">read_parquet</span><span class="p">(</span><span class="n">input_path</span><span class="p">)</span>
<span class="n">report_df</span> <span class="o">=</span> <span class="n">embed_community_reports</span><span class="p">(</span><span class="n">INPUT_DIR</span><span class="p">,</span> <span class="n">text_embedder</span><span class="p">)</span>
<span class="n">report_df</span> <span class="o">=</span> <span class="n">read_community_reports</span><span class="p">(</span><span class="n">INPUT_DIR</span><span class="p">)</span>
<span class="n">reports</span> <span class="o">=</span> <span class="n">read_indexer_reports</span><span class="p">(</span>
<span class="n">report_df</span><span class="p">,</span>
<span class="n">entity_df</span><span class="p">,</span>
@ -2232,37 +2165,16 @@ text_embedder = OpenAIEmbedding(
<span class="n">content_embedding_col</span><span class="o">=</span><span class="s2">"full_content_embeddings"</span><span class="p">,</span>
<span class="p">)</span>
</pre></div>
<div class="clipboard-copy-txt" id="cell-4">def embed_community_reports(
<div class="clipboard-copy-txt" id="cell-4">def read_community_reports(
input_dir: str,
embedder: OpenAIEmbedding,
community_report_table: str = COMMUNITY_REPORT_TABLE,
):
"""Embeds the full content of the community reports and saves the DataFrame with embeddings to the output path."""
input_path = Path(input_dir) / f"{community_report_table}.parquet"
output_path = Path(input_dir) / f"{community_report_table}_with_embeddings.parquet"
if not Path(output_path).exists():
print("Embedding file not found. Computing community report embeddings...")
report_df = pd.read_parquet(input_path)
if "full_content" not in report_df.columns:
error_msg = f"'full_content' column not found in {input_path}"
raise ValueError(error_msg)
report_df["full_content_embeddings"] = report_df.loc[:, "full_content"].apply(
lambda x: embedder.embed(x)
)
# Save the DataFrame with embeddings to the output path
report_df.to_parquet(output_path)
print(f"Embeddings saved to {output_path}")
return report_df
print(f"Embeddings file already exists at {output_path}")
return pd.read_parquet(output_path)
return pd.read_parquet(input_path)
report_df = embed_community_reports(INPUT_DIR, text_embedder)
report_df = read_community_reports(INPUT_DIR)
reports = read_indexer_reports(
report_df,
entity_df,
@ -2273,141 +2185,6 @@ reports = read_indexer_reports(
</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="text/plain" tabindex="0">
<pre>Embedding file not found. Computing community report embeddings...
</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="text/plain" tabindex="0">
<pre>Error embedding chunk {'OpenAIEmbedding': "Error code: 429 - {'error': {'message': 'You exceeded your current quota, please check your plan and billing details. For more information on this error, read the docs: https://platform.openai.com/docs/guides/error-codes/api-errors.', 'type': 'insufficient_quota', 'param': None, 'code': 'insufficient_quota'}}"}
</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">ZeroDivisionError</span> Traceback (most recent call last)
Cell <span class="ansi-green-fg">In[4], line 31</span>
<span class="ansi-green-intense-fg ansi-bold"> 27</span> <span style="color: rgb(0,135,0)">print</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)">Embeddings file already exists at </span><span class="ansi-bold" style="color: rgb(175,95,135)">{</span>output_path<span class="ansi-bold" style="color: rgb(175,95,135)">}</span><span style="color: rgb(175,0,0)">"</span>)
<span class="ansi-green-intense-fg ansi-bold"> 28</span> <span class="ansi-bold" style="color: rgb(0,135,0)">return</span> pd<span style="color: rgb(98,98,98)">.</span>read_parquet(output_path)
<span class="ansi-green-fg">---&gt; 31</span> report_df <span style="color: rgb(98,98,98)">=</span> <span class="ansi-yellow-bg">embed_community_reports</span><span class="ansi-yellow-bg">(</span><span class="ansi-yellow-bg">INPUT_DIR</span><span class="ansi-yellow-bg">,</span><span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">text_embedder</span><span class="ansi-yellow-bg">)</span>
<span class="ansi-green-intense-fg ansi-bold"> 32</span> reports <span style="color: rgb(98,98,98)">=</span> read_indexer_reports(
<span class="ansi-green-intense-fg ansi-bold"> 33</span> report_df,
<span class="ansi-green-intense-fg ansi-bold"> 34</span> entity_df,
<span class="ansi-green-intense-fg ansi-bold"> 35</span> COMMUNITY_LEVEL,
<span class="ansi-green-intense-fg ansi-bold"> 36</span> content_embedding_col<span style="color: rgb(98,98,98)">=</span><span style="color: rgb(175,0,0)">"</span><span style="color: rgb(175,0,0)">full_content_embeddings</span><span style="color: rgb(175,0,0)">"</span>,
<span class="ansi-green-intense-fg ansi-bold"> 37</span> )
Cell <span class="ansi-green-fg">In[4], line 19</span>, in <span class="ansi-cyan-fg">embed_community_reports</span><span class="ansi-blue-fg">(input_dir, embedder, community_report_table)</span>
<span class="ansi-green-intense-fg ansi-bold"> 16</span> error_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)">'</span><span style="color: rgb(175,0,0)">full_content</span><span style="color: rgb(175,0,0)">'</span><span style="color: rgb(175,0,0)"> column not found in </span><span class="ansi-bold" style="color: rgb(175,95,135)">{</span>input_path<span class="ansi-bold" style="color: rgb(175,95,135)">}</span><span style="color: rgb(175,0,0)">"</span>
<span class="ansi-green-intense-fg ansi-bold"> 17</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>(error_msg)
<span class="ansi-green-fg">---&gt; 19</span> report_df[<span style="color: rgb(175,0,0)">"</span><span style="color: rgb(175,0,0)">full_content_embeddings</span><span style="color: rgb(175,0,0)">"</span>] <span style="color: rgb(98,98,98)">=</span> <span class="ansi-yellow-bg">report_df</span><span class="ansi-yellow-bg" style="color: rgb(98,98,98)">.</span><span class="ansi-yellow-bg">loc</span><span class="ansi-yellow-bg">[</span><span class="ansi-yellow-bg">:</span><span class="ansi-yellow-bg">,</span><span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg" style="color: rgb(175,0,0)">"</span><span class="ansi-yellow-bg" style="color: rgb(175,0,0)">full_content</span><span class="ansi-yellow-bg" style="color: rgb(175,0,0)">"</span><span class="ansi-yellow-bg">]</span><span class="ansi-yellow-bg" style="color: rgb(98,98,98)">.</span><span class="ansi-yellow-bg">apply</span><span class="ansi-yellow-bg">(</span>
<span class="ansi-green-intense-fg ansi-bold"> 20</span> <span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg ansi-bold" style="color: rgb(0,135,0)">lambda</span><span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">x</span><span class="ansi-yellow-bg">:</span><span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">embedder</span><span class="ansi-yellow-bg" style="color: rgb(98,98,98)">.</span><span class="ansi-yellow-bg">embed</span><span class="ansi-yellow-bg">(</span><span class="ansi-yellow-bg">x</span><span class="ansi-yellow-bg">)</span>
<span class="ansi-green-intense-fg ansi-bold"> 21</span> <span class="ansi-yellow-bg">)</span>
<span class="ansi-green-intense-fg ansi-bold"> 23</span> <span style="color: rgb(95,135,135)"># Save the DataFrame with embeddings to the output path</span>
<span class="ansi-green-intense-fg ansi-bold"> 24</span> report_df<span style="color: rgb(98,98,98)">.</span>to_parquet(output_path)
File <span class="ansi-green-fg">~/.cache/pypoetry/virtualenvs/graphrag-F2jvqev7-py3.11/lib/python3.11/site-packages/pandas/core/series.py:4924</span>, in <span class="ansi-cyan-fg">Series.apply</span><span class="ansi-blue-fg">(self, func, convert_dtype, args, by_row, **kwargs)</span>
<span class="ansi-green-intense-fg ansi-bold"> 4789</span> <span class="ansi-bold" style="color: rgb(0,135,0)">def</span> <span style="color: rgb(0,0,255)">apply</span>(
<span class="ansi-green-intense-fg ansi-bold"> 4790</span> <span style="color: rgb(0,135,0)">self</span>,
<span class="ansi-green-intense-fg ansi-bold"> 4791</span> func: AggFuncType,
<span class="ansi-green-fg"> (...)</span>
<span class="ansi-green-intense-fg ansi-bold"> 4796</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"> 4797</span> ) <span style="color: rgb(98,98,98)">-</span><span style="color: rgb(98,98,98)">&gt;</span> DataFrame <span style="color: rgb(98,98,98)">|</span> Series:
<span class="ansi-green-intense-fg ansi-bold"> 4798</span> <span style="color: rgb(188,188,188)"> </span><span style="color: rgb(175,0,0)">"""</span>
<span class="ansi-green-intense-fg ansi-bold"> 4799</span> <span style="color: rgb(175,0,0)"> Invoke function on values of Series.</span>
<span class="ansi-green-intense-fg ansi-bold"> 4800</span>
<span class="ansi-green-fg"> (...)</span>
<span class="ansi-green-intense-fg ansi-bold"> 4915</span> <span style="color: rgb(175,0,0)"> dtype: float64</span>
<span class="ansi-green-intense-fg ansi-bold"> 4916</span> <span style="color: rgb(175,0,0)"> """</span>
<span class="ansi-green-intense-fg ansi-bold"> 4917</span> <span class="ansi-bold" style="color: rgb(0,135,0)">return</span> <span class="ansi-yellow-bg">SeriesApply</span><span class="ansi-yellow-bg">(</span>
<span class="ansi-green-intense-fg ansi-bold"> 4918</span> <span class="ansi-yellow-bg"> </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"> 4919</span> <span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">func</span><span class="ansi-yellow-bg">,</span>
<span class="ansi-green-intense-fg ansi-bold"> 4920</span> <span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">convert_dtype</span><span class="ansi-yellow-bg" style="color: rgb(98,98,98)">=</span><span class="ansi-yellow-bg">convert_dtype</span><span class="ansi-yellow-bg">,</span>
<span class="ansi-green-intense-fg ansi-bold"> 4921</span> <span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">by_row</span><span class="ansi-yellow-bg" style="color: rgb(98,98,98)">=</span><span class="ansi-yellow-bg">by_row</span><span class="ansi-yellow-bg">,</span>
<span class="ansi-green-intense-fg ansi-bold"> 4922</span> <span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">args</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-green-intense-fg ansi-bold"> 4923</span> <span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">kwargs</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-fg">-&gt; 4924</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">apply</span><span class="ansi-yellow-bg">(</span><span class="ansi-yellow-bg">)</span>
File <span class="ansi-green-fg">~/.cache/pypoetry/virtualenvs/graphrag-F2jvqev7-py3.11/lib/python3.11/site-packages/pandas/core/apply.py:1427</span>, in <span class="ansi-cyan-fg">SeriesApply.apply</span><span class="ansi-blue-fg">(self)</span>
<span class="ansi-green-intense-fg ansi-bold"> 1424</span> <span class="ansi-bold" style="color: rgb(0,135,0)">return</span> <span style="color: rgb(0,135,0)">self</span><span style="color: rgb(98,98,98)">.</span>apply_compat()
<span class="ansi-green-intense-fg ansi-bold"> 1426</span> <span style="color: rgb(95,135,135)"># self.func is Callable</span>
<span class="ansi-green-fg">-&gt; 1427</span> <span class="ansi-bold" style="color: rgb(0,135,0)">return</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">apply_standard</span><span class="ansi-yellow-bg">(</span><span class="ansi-yellow-bg">)</span>
File <span class="ansi-green-fg">~/.cache/pypoetry/virtualenvs/graphrag-F2jvqev7-py3.11/lib/python3.11/site-packages/pandas/core/apply.py:1507</span>, in <span class="ansi-cyan-fg">SeriesApply.apply_standard</span><span class="ansi-blue-fg">(self)</span>
<span class="ansi-green-intense-fg ansi-bold"> 1501</span> <span style="color: rgb(95,135,135)"># row-wise access</span>
<span class="ansi-green-intense-fg ansi-bold"> 1502</span> <span style="color: rgb(95,135,135)"># apply doesn't have a `na_action` keyword and for backward compat reasons</span>
<span class="ansi-green-intense-fg ansi-bold"> 1503</span> <span style="color: rgb(95,135,135)"># we need to give `na_action="ignore"` for categorical data.</span>
<span class="ansi-green-intense-fg ansi-bold"> 1504</span> <span style="color: rgb(95,135,135)"># TODO: remove the `na_action="ignore"` when that default has been changed in</span>
<span class="ansi-green-intense-fg ansi-bold"> 1505</span> <span style="color: rgb(95,135,135)"># Categorical (GH51645).</span>
<span class="ansi-green-intense-fg ansi-bold"> 1506</span> action <span style="color: rgb(98,98,98)">=</span> <span style="color: rgb(175,0,0)">"</span><span style="color: rgb(175,0,0)">ignore</span><span style="color: rgb(175,0,0)">"</span> <span class="ansi-bold" style="color: rgb(0,135,0)">if</span> <span style="color: rgb(0,135,0)">isinstance</span>(obj<span style="color: rgb(98,98,98)">.</span>dtype, CategoricalDtype) <span class="ansi-bold" style="color: rgb(0,135,0)">else</span> <span class="ansi-bold" style="color: rgb(0,135,0)">None</span>
<span class="ansi-green-fg">-&gt; 1507</span> mapped <span style="color: rgb(98,98,98)">=</span> <span class="ansi-yellow-bg">obj</span><span class="ansi-yellow-bg" style="color: rgb(98,98,98)">.</span><span class="ansi-yellow-bg">_map_values</span><span class="ansi-yellow-bg">(</span>
<span class="ansi-green-intense-fg ansi-bold"> 1508</span> <span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">mapper</span><span class="ansi-yellow-bg" style="color: rgb(98,98,98)">=</span><span class="ansi-yellow-bg">curried</span><span class="ansi-yellow-bg">,</span><span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">na_action</span><span class="ansi-yellow-bg" style="color: rgb(98,98,98)">=</span><span class="ansi-yellow-bg">action</span><span class="ansi-yellow-bg">,</span><span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">convert</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" style="color: rgb(98,98,98)">.</span><span class="ansi-yellow-bg">convert_dtype</span>
<span class="ansi-green-intense-fg ansi-bold"> 1509</span> <span class="ansi-yellow-bg">)</span>
<span class="ansi-green-intense-fg ansi-bold"> 1511</span> <span class="ansi-bold" style="color: rgb(0,135,0)">if</span> <span style="color: rgb(0,135,0)">len</span>(mapped) <span class="ansi-bold" style="color: rgb(175,0,255)">and</span> <span style="color: rgb(0,135,0)">isinstance</span>(mapped[<span style="color: rgb(98,98,98)">0</span>], ABCSeries):
<span class="ansi-green-intense-fg ansi-bold"> 1512</span> <span style="color: rgb(95,135,135)"># GH#43986 Need to do list(mapped) in order to get treated as nested</span>
<span class="ansi-green-intense-fg ansi-bold"> 1513</span> <span style="color: rgb(95,135,135)"># See also GH#25959 regarding EA support</span>
<span class="ansi-green-intense-fg ansi-bold"> 1514</span> <span class="ansi-bold" style="color: rgb(0,135,0)">return</span> obj<span style="color: rgb(98,98,98)">.</span>_constructor_expanddim(<span style="color: rgb(0,135,0)">list</span>(mapped), index<span style="color: rgb(98,98,98)">=</span>obj<span style="color: rgb(98,98,98)">.</span>index)
File <span class="ansi-green-fg">~/.cache/pypoetry/virtualenvs/graphrag-F2jvqev7-py3.11/lib/python3.11/site-packages/pandas/core/base.py:921</span>, in <span class="ansi-cyan-fg">IndexOpsMixin._map_values</span><span class="ansi-blue-fg">(self, mapper, na_action, convert)</span>
<span class="ansi-green-intense-fg ansi-bold"> 918</span> <span class="ansi-bold" style="color: rgb(0,135,0)">if</span> <span style="color: rgb(0,135,0)">isinstance</span>(arr, ExtensionArray):
<span class="ansi-green-intense-fg ansi-bold"> 919</span> <span class="ansi-bold" style="color: rgb(0,135,0)">return</span> arr<span style="color: rgb(98,98,98)">.</span>map(mapper, na_action<span style="color: rgb(98,98,98)">=</span>na_action)
<span class="ansi-green-fg">--&gt; 921</span> <span class="ansi-bold" style="color: rgb(0,135,0)">return</span> <span class="ansi-yellow-bg">algorithms</span><span class="ansi-yellow-bg" style="color: rgb(98,98,98)">.</span><span class="ansi-yellow-bg">map_array</span><span class="ansi-yellow-bg">(</span><span class="ansi-yellow-bg">arr</span><span class="ansi-yellow-bg">,</span><span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">mapper</span><span class="ansi-yellow-bg">,</span><span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">na_action</span><span class="ansi-yellow-bg" style="color: rgb(98,98,98)">=</span><span class="ansi-yellow-bg">na_action</span><span class="ansi-yellow-bg">,</span><span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">convert</span><span class="ansi-yellow-bg" style="color: rgb(98,98,98)">=</span><span class="ansi-yellow-bg">convert</span><span class="ansi-yellow-bg">)</span>
File <span class="ansi-green-fg">~/.cache/pypoetry/virtualenvs/graphrag-F2jvqev7-py3.11/lib/python3.11/site-packages/pandas/core/algorithms.py:1743</span>, in <span class="ansi-cyan-fg">map_array</span><span class="ansi-blue-fg">(arr, mapper, na_action, convert)</span>
<span class="ansi-green-intense-fg ansi-bold"> 1741</span> values <span style="color: rgb(98,98,98)">=</span> arr<span style="color: rgb(98,98,98)">.</span>astype(<span style="color: rgb(0,135,0)">object</span>, copy<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"> 1742</span> <span class="ansi-bold" style="color: rgb(0,135,0)">if</span> na_action <span class="ansi-bold" style="color: rgb(175,0,255)">is</span> <span class="ansi-bold" style="color: rgb(0,135,0)">None</span>:
<span class="ansi-green-fg">-&gt; 1743</span> <span class="ansi-bold" style="color: rgb(0,135,0)">return</span> <span class="ansi-yellow-bg">lib</span><span class="ansi-yellow-bg" style="color: rgb(98,98,98)">.</span><span class="ansi-yellow-bg">map_infer</span><span class="ansi-yellow-bg">(</span><span class="ansi-yellow-bg">values</span><span class="ansi-yellow-bg">,</span><span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">mapper</span><span class="ansi-yellow-bg">,</span><span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">convert</span><span class="ansi-yellow-bg" style="color: rgb(98,98,98)">=</span><span class="ansi-yellow-bg">convert</span><span class="ansi-yellow-bg">)</span>
<span class="ansi-green-intense-fg ansi-bold"> 1744</span> <span class="ansi-bold" style="color: rgb(0,135,0)">else</span>:
<span class="ansi-green-intense-fg ansi-bold"> 1745</span> <span class="ansi-bold" style="color: rgb(0,135,0)">return</span> lib<span style="color: rgb(98,98,98)">.</span>map_infer_mask(
<span class="ansi-green-intense-fg ansi-bold"> 1746</span> values, mapper, mask<span style="color: rgb(98,98,98)">=</span>isna(values)<span style="color: rgb(98,98,98)">.</span>view(np<span style="color: rgb(98,98,98)">.</span>uint8), convert<span style="color: rgb(98,98,98)">=</span>convert
<span class="ansi-green-intense-fg ansi-bold"> 1747</span> )
File <span class="ansi-green-fg">lib.pyx:2972</span>, in <span class="ansi-cyan-fg">pandas._libs.lib.map_infer</span><span class="ansi-blue-fg">()</span>
Cell <span class="ansi-green-fg">In[4], line 20</span>, in <span class="ansi-cyan-fg">embed_community_reports.&lt;locals&gt;.&lt;lambda&gt;</span><span class="ansi-blue-fg">(x)</span>
<span class="ansi-green-intense-fg ansi-bold"> 16</span> error_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)">'</span><span style="color: rgb(175,0,0)">full_content</span><span style="color: rgb(175,0,0)">'</span><span style="color: rgb(175,0,0)"> column not found in </span><span class="ansi-bold" style="color: rgb(175,95,135)">{</span>input_path<span class="ansi-bold" style="color: rgb(175,95,135)">}</span><span style="color: rgb(175,0,0)">"</span>
<span class="ansi-green-intense-fg ansi-bold"> 17</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>(error_msg)
<span class="ansi-green-intense-fg ansi-bold"> 19</span> report_df[<span style="color: rgb(175,0,0)">"</span><span style="color: rgb(175,0,0)">full_content_embeddings</span><span style="color: rgb(175,0,0)">"</span>] <span style="color: rgb(98,98,98)">=</span> report_df<span style="color: rgb(98,98,98)">.</span>loc[:, <span style="color: rgb(175,0,0)">"</span><span style="color: rgb(175,0,0)">full_content</span><span style="color: rgb(175,0,0)">"</span>]<span style="color: rgb(98,98,98)">.</span>apply(
<span class="ansi-green-fg">---&gt; 20</span> <span class="ansi-bold" style="color: rgb(0,135,0)">lambda</span> x: <span class="ansi-yellow-bg">embedder</span><span class="ansi-yellow-bg" style="color: rgb(98,98,98)">.</span><span class="ansi-yellow-bg">embed</span><span class="ansi-yellow-bg">(</span><span class="ansi-yellow-bg">x</span><span class="ansi-yellow-bg">)</span>
<span class="ansi-green-intense-fg ansi-bold"> 21</span> )
<span class="ansi-green-intense-fg ansi-bold"> 23</span> <span style="color: rgb(95,135,135)"># Save the DataFrame with embeddings to the output path</span>
<span class="ansi-green-intense-fg ansi-bold"> 24</span> report_df<span style="color: rgb(98,98,98)">.</span>to_parquet(output_path)
File <span class="ansi-green-fg">~/work/graphrag/graphrag/graphrag/query/llm/oai/embedding.py:96</span>, in <span class="ansi-cyan-fg">OpenAIEmbedding.embed</span><span class="ansi-blue-fg">(self, text, **kwargs)</span>
<span class="ansi-green-intense-fg ansi-bold"> 90</span> <span style="color: rgb(0,135,0)">self</span><span style="color: rgb(98,98,98)">.</span>_reporter<span style="color: rgb(98,98,98)">.</span>error(
<span class="ansi-green-intense-fg ansi-bold"> 91</span> message<span style="color: rgb(98,98,98)">=</span><span style="color: rgb(175,0,0)">"</span><span style="color: rgb(175,0,0)">Error embedding chunk</span><span style="color: rgb(175,0,0)">"</span>,
<span class="ansi-green-intense-fg ansi-bold"> 92</span> details<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><span style="color: rgb(0,0,135)">__class__</span><span style="color: rgb(98,98,98)">.</span><span style="color: rgb(0,0,135)">__name__</span>: <span style="color: rgb(0,135,0)">str</span>(e)},
<span class="ansi-green-intense-fg ansi-bold"> 93</span> )
<span class="ansi-green-intense-fg ansi-bold"> 95</span> <span class="ansi-bold" style="color: rgb(0,135,0)">continue</span>
<span class="ansi-green-fg">---&gt; 96</span> chunk_embeddings <span style="color: rgb(98,98,98)">=</span> <span class="ansi-yellow-bg">np</span><span class="ansi-yellow-bg" style="color: rgb(98,98,98)">.</span><span class="ansi-yellow-bg">average</span><span class="ansi-yellow-bg">(</span><span class="ansi-yellow-bg">chunk_embeddings</span><span class="ansi-yellow-bg">,</span><span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">axis</span><span class="ansi-yellow-bg" style="color: rgb(98,98,98)">=</span><span class="ansi-yellow-bg" style="color: rgb(98,98,98)">0</span><span class="ansi-yellow-bg">,</span><span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">weights</span><span class="ansi-yellow-bg" style="color: rgb(98,98,98)">=</span><span class="ansi-yellow-bg">chunk_lens</span><span class="ansi-yellow-bg">)</span>
<span class="ansi-green-intense-fg ansi-bold"> 97</span> chunk_embeddings <span style="color: rgb(98,98,98)">=</span> chunk_embeddings <span style="color: rgb(98,98,98)">/</span> np<span style="color: rgb(98,98,98)">.</span>linalg<span style="color: rgb(98,98,98)">.</span>norm(chunk_embeddings)
<span class="ansi-green-intense-fg ansi-bold"> 98</span> <span class="ansi-bold" style="color: rgb(0,135,0)">return</span> chunk_embeddings<span style="color: rgb(98,98,98)">.</span>tolist()
File <span class="ansi-green-fg">~/.cache/pypoetry/virtualenvs/graphrag-F2jvqev7-py3.11/lib/python3.11/site-packages/numpy/lib/function_base.py:550</span>, in <span class="ansi-cyan-fg">average</span><span class="ansi-blue-fg">(a, axis, weights, returned, keepdims)</span>
<span class="ansi-green-intense-fg ansi-bold"> 548</span> scl <span style="color: rgb(98,98,98)">=</span> wgt<span style="color: rgb(98,98,98)">.</span>sum(axis<span style="color: rgb(98,98,98)">=</span>axis, dtype<span style="color: rgb(98,98,98)">=</span>result_dtype, <span style="color: rgb(98,98,98)">*</span><span style="color: rgb(98,98,98)">*</span>keepdims_kw)
<span class="ansi-green-intense-fg ansi-bold"> 549</span> <span class="ansi-bold" style="color: rgb(0,135,0)">if</span> np<span style="color: rgb(98,98,98)">.</span>any(scl <span style="color: rgb(98,98,98)">==</span> <span style="color: rgb(98,98,98)">0.0</span>):
<span class="ansi-green-fg">--&gt; 550</span> <span class="ansi-bold" style="color: rgb(0,135,0)">raise</span> <span class="ansi-bold" style="color: rgb(215,95,95)">ZeroDivisionError</span>(
<span class="ansi-green-intense-fg ansi-bold"> 551</span> <span style="color: rgb(175,0,0)">"</span><span style="color: rgb(175,0,0)">Weights sum to zero, can</span><span style="color: rgb(175,0,0)">'</span><span style="color: rgb(175,0,0)">t be normalized</span><span style="color: rgb(175,0,0)">"</span>)
<span class="ansi-green-intense-fg ansi-bold"> 553</span> avg <span style="color: rgb(98,98,98)">=</span> avg_as_array <span style="color: rgb(98,98,98)">=</span> np<span style="color: rgb(98,98,98)">.</span>multiply(a, wgt,
<span class="ansi-green-intense-fg ansi-bold"> 554</span> dtype<span style="color: rgb(98,98,98)">=</span>result_dtype)<span style="color: rgb(98,98,98)">.</span>sum(axis, <span style="color: rgb(98,98,98)">*</span><span style="color: rgb(98,98,98)">*</span>keepdims_kw) <span style="color: rgb(98,98,98)">/</span> scl
<span class="ansi-green-intense-fg ansi-bold"> 556</span> <span class="ansi-bold" style="color: rgb(0,135,0)">if</span> returned:
<span class="ansi-red-fg">ZeroDivisionError</span>: Weights sum to zero, can't be normalized</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">
@ -2434,7 +2211,7 @@ File <span class="ansi-green-fg">~/.cache/pypoetry/virtualenvs/graphrag-F2jvqev7
<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>
<span class="n">reports</span><span class="o">=</span><span class="n">reports</span><span class="p">,</span>
<span class="n">entity_text_embeddings</span><span class="o">=</span><span class="n">entity_description_embeddings</span><span class="p">,</span>
<span class="n">entity_text_embeddings</span><span class="o">=</span><span class="n">description_embedding_store</span><span class="p">,</span>
<span class="n">text_units</span><span class="o">=</span><span class="n">text_units</span><span class="p">,</span>
<span class="p">)</span>
@ -2448,7 +2225,7 @@ File <span class="ansi-green-fg">~/.cache/pypoetry/virtualenvs/graphrag-F2jvqev7
entities=entities,
relationships=relationships,
reports=reports,
entity_text_embeddings=entity_description_embeddings,
entity_text_embeddings=description_embedding_store,
text_units=text_units,
)
@ -2469,21 +2246,21 @@ 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 6</span>
Cell <span class="ansi-green-fg">In[5], line 4</span>
<span class="ansi-green-intense-fg ansi-bold"> 1</span> context_builder <span style="color: rgb(98,98,98)">=</span> DRIFTSearchContextBuilder(
<span class="ansi-green-intense-fg ansi-bold"> 2</span> chat_llm<span style="color: rgb(98,98,98)">=</span>chat_llm,
<span class="ansi-green-intense-fg ansi-bold"> 3</span> text_embedder<span style="color: rgb(98,98,98)">=</span>text_embedder,
<span class="ansi-green-intense-fg ansi-bold"> 4</span> entities<span style="color: rgb(98,98,98)">=</span>entities,
<span class="ansi-green-fg">----&gt; 4</span> entities<span style="color: rgb(98,98,98)">=</span><span class="ansi-yellow-bg">entities</span>,
<span class="ansi-green-intense-fg ansi-bold"> 5</span> relationships<span style="color: rgb(98,98,98)">=</span>relationships,
<span class="ansi-green-fg">----&gt; 6</span> reports<span style="color: rgb(98,98,98)">=</span><span class="ansi-yellow-bg">reports</span>,
<span class="ansi-green-intense-fg ansi-bold"> 7</span> entity_text_embeddings<span style="color: rgb(98,98,98)">=</span>entity_description_embeddings,
<span class="ansi-green-intense-fg ansi-bold"> 6</span> reports<span style="color: rgb(98,98,98)">=</span>reports,
<span class="ansi-green-intense-fg ansi-bold"> 7</span> entity_text_embeddings<span style="color: rgb(98,98,98)">=</span>description_embedding_store,
<span class="ansi-green-intense-fg ansi-bold"> 8</span> text_units<span style="color: rgb(98,98,98)">=</span>text_units,
<span class="ansi-green-intense-fg ansi-bold"> 9</span> )
<span class="ansi-green-intense-fg ansi-bold"> 11</span> search <span style="color: rgb(98,98,98)">=</span> DRIFTSearch(
<span class="ansi-green-intense-fg ansi-bold"> 12</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"> 13</span> )
<span class="ansi-red-fg">NameError</span>: name 'reports' is not defined</pre>
<span class="ansi-red-fg">NameError</span>: name 'entities' is not defined</pre>
</div>
</div>
</div>

View File

@ -2244,114 +2244,38 @@ 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="text/plain" tabindex="0">
<pre>Total report count: 20
Report count after filtering by community level 2: 17
</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;
}
<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">AttributeError</span> Traceback (most recent call last)
<span class="ansi-green-fg">/tmp/ipykernel_2010/1512985616.py</span> in <span class="ansi-cyan-fg">?</span><span class="ansi-blue-fg">()</span>
<span class="ansi-green-intense-fg ansi-bold"> 2</span> entity_df <span class="ansi-blue-fg">=</span> pd<span class="ansi-blue-fg">.</span>read_parquet<span class="ansi-blue-fg">(</span><span class="ansi-blue-fg">f"{INPUT_DIR}/{ENTITY_TABLE}.parquet"</span><span class="ansi-blue-fg">)</span>
<span class="ansi-green-intense-fg ansi-bold"> 3</span> report_df <span class="ansi-blue-fg">=</span> pd<span class="ansi-blue-fg">.</span>read_parquet<span class="ansi-blue-fg">(</span><span class="ansi-blue-fg">f"{INPUT_DIR}/{COMMUNITY_REPORT_TABLE}.parquet"</span><span class="ansi-blue-fg">)</span>
<span class="ansi-green-intense-fg ansi-bold"> 4</span> entity_embedding_df <span class="ansi-blue-fg">=</span> pd<span class="ansi-blue-fg">.</span>read_parquet<span class="ansi-blue-fg">(</span><span class="ansi-blue-fg">f"{INPUT_DIR}/{ENTITY_EMBEDDING_TABLE}.parquet"</span><span class="ansi-blue-fg">)</span>
<span class="ansi-green-intense-fg ansi-bold"> 5</span>
<span class="ansi-green-fg">----&gt; 6</span><span class="ansi-red-fg"> </span>communities <span class="ansi-blue-fg">=</span> read_indexer_communities<span class="ansi-blue-fg">(</span>community_df<span class="ansi-blue-fg">,</span> entity_df<span class="ansi-blue-fg">,</span> report_df<span class="ansi-blue-fg">)</span>
<span class="ansi-green-intense-fg ansi-bold"> 7</span> reports <span class="ansi-blue-fg">=</span> read_indexer_reports<span class="ansi-blue-fg">(</span>report_df<span class="ansi-blue-fg">,</span> entity_df<span class="ansi-blue-fg">,</span> COMMUNITY_LEVEL<span class="ansi-blue-fg">)</span>
<span class="ansi-green-intense-fg ansi-bold"> 8</span> entities <span class="ansi-blue-fg">=</span> read_indexer_entities<span class="ansi-blue-fg">(</span>entity_df<span class="ansi-blue-fg">,</span> entity_embedding_df<span class="ansi-blue-fg">,</span> COMMUNITY_LEVEL<span class="ansi-blue-fg">)</span>
<span class="ansi-green-intense-fg ansi-bold"> 9</span>
.dataframe tbody tr th {
vertical-align: top;
}
<span class="ansi-green-fg">~/work/graphrag/graphrag/graphrag/query/indexer_adapters.py</span> in <span class="ansi-cyan-fg">?</span><span class="ansi-blue-fg">(final_communities, final_nodes, final_community_reports)</span>
<span class="ansi-green-intense-fg ansi-bold"> 180</span> reports_df <span class="ansi-blue-fg">=</span> final_community_reports
<span class="ansi-green-intense-fg ansi-bold"> 181</span>
<span class="ansi-green-intense-fg ansi-bold"> 182</span> <span class="ansi-red-fg"># ensure communities matches community reports</span>
<span class="ansi-green-intense-fg ansi-bold"> 183</span> missing_reports = communities_df[
<span class="ansi-green-fg">--&gt; 184</span><span class="ansi-red-fg"> </span><span class="ansi-blue-fg">~</span>communities_df<span class="ansi-blue-fg">.</span>community<span class="ansi-blue-fg">.</span>isin<span class="ansi-blue-fg">(</span>reports_df<span class="ansi-blue-fg">.</span>community<span class="ansi-blue-fg">.</span>unique<span class="ansi-blue-fg">(</span><span class="ansi-blue-fg">)</span><span class="ansi-blue-fg">)</span>
<span class="ansi-green-intense-fg ansi-bold"> 185</span> ].community.to_list()
<span class="ansi-green-intense-fg ansi-bold"> 186</span> <span class="ansi-green-fg">if</span> len<span class="ansi-blue-fg">(</span>missing_reports<span class="ansi-blue-fg">)</span><span class="ansi-blue-fg">:</span>
<span class="ansi-green-intense-fg ansi-bold"> 187</span> log<span class="ansi-blue-fg">.</span>warning<span class="ansi-blue-fg">(</span><span class="ansi-blue-fg">"Missing reports for communities: %s"</span><span class="ansi-blue-fg">,</span> missing_reports<span class="ansi-blue-fg">)</span>
.dataframe thead th {
text-align: right;
}
</style>
<table border="1" class="dataframe">
<thead>
<tr style="text-align: right;">
<th></th>
<th>community</th>
<th>full_content</th>
<th>level</th>
<th>rank</th>
<th>title</th>
<th>rank_explanation</th>
<th>summary</th>
<th>findings</th>
<th>full_content_json</th>
<th>id</th>
</tr>
</thead>
<tbody>
<tr>
<th>0</th>
<td>10</td>
<td># Paranormal Military Squad at Dulce Base: Dec...</td>
<td>1</td>
<td>8.5</td>
<td>Paranormal Military Squad at Dulce Base: Decod...</td>
<td>The impact severity rating is high due to the ...</td>
<td>The Paranormal Military Squad, stationed at Du...</td>
<td>[{'explanation': 'Jordan is a central figure i...</td>
<td>{\n "title": "Paranormal Military Squad at ...</td>
<td>1ba2d200-dd26-4693-affe-a5539d0a0e0d</td>
</tr>
<tr>
<th>1</th>
<td>11</td>
<td># Dulce and Paranormal Military Squad Operatio...</td>
<td>1</td>
<td>8.5</td>
<td>Dulce and Paranormal Military Squad Operations</td>
<td>The impact severity rating is high due to the ...</td>
<td>The community centers around Dulce, a secretiv...</td>
<td>[{'explanation': 'Dulce is described as a top-...</td>
<td>{\n "title": "Dulce and Paranormal Military...</td>
<td>a8a530b0-ae6b-44ea-b11c-9f70d138298d</td>
</tr>
<tr>
<th>2</th>
<td>12</td>
<td># Paranormal Military Squad and Dulce Base Ope...</td>
<td>1</td>
<td>7.5</td>
<td>Paranormal Military Squad and Dulce Base Opera...</td>
<td>The impact severity rating is relatively high ...</td>
<td>The community centers around the Paranormal Mi...</td>
<td>[{'explanation': 'Taylor is a central figure w...</td>
<td>{\n "title": "Paranormal Military Squad and...</td>
<td>0478975b-c805-4cc1-b746-82f3e689e2f3</td>
</tr>
<tr>
<th>3</th>
<td>13</td>
<td># Mission Dynamics and Leadership: Cruz and Wa...</td>
<td>1</td>
<td>7.5</td>
<td>Mission Dynamics and Leadership: Cruz and Wash...</td>
<td>The impact severity rating is relatively high ...</td>
<td>This report explores the intricate dynamics of...</td>
<td>[{'explanation': 'Cruz is a central figure in ...</td>
<td>{\n "title": "Mission Dynamics and Leadersh...</td>
<td>b56f6e68-3951-4f07-8760-63700944a375</td>
</tr>
<tr>
<th>4</th>
<td>14</td>
<td># Dulce Base and Paranormal Military Squad: Br...</td>
<td>1</td>
<td>8.5</td>
<td>Dulce Base and Paranormal Military Squad: Brid...</td>
<td>The impact severity rating is high due to the ...</td>
<td>The community centers around the Dulce Base, a...</td>
<td>[{'explanation': 'Sam Rivera, a member of the ...</td>
<td>{\n "title": "Dulce Base and Paranormal Mil...</td>
<td>736e7006-d050-4abb-a122-00febf3f540f</td>
</tr>
</tbody>
</table>
</div>
<span class="ansi-green-fg">~/.cache/pypoetry/virtualenvs/graphrag-F2jvqev7-py3.11/lib/python3.11/site-packages/pandas/core/generic.py</span> in <span class="ansi-cyan-fg">?</span><span class="ansi-blue-fg">(self, name)</span>
<span class="ansi-green-intense-fg ansi-bold"> 6295</span> <span class="ansi-green-fg">and</span> name <span class="ansi-green-fg">not</span> <span class="ansi-green-fg">in</span> self<span class="ansi-blue-fg">.</span>_accessors
<span class="ansi-green-intense-fg ansi-bold"> 6296</span> <span class="ansi-green-fg">and</span> self<span class="ansi-blue-fg">.</span>_info_axis<span class="ansi-blue-fg">.</span>_can_hold_identifiers_and_holds_name<span class="ansi-blue-fg">(</span>name<span class="ansi-blue-fg">)</span>
<span class="ansi-green-intense-fg ansi-bold"> 6297</span> ):
<span class="ansi-green-intense-fg ansi-bold"> 6298</span> <span class="ansi-green-fg">return</span> self<span class="ansi-blue-fg">[</span>name<span class="ansi-blue-fg">]</span>
<span class="ansi-green-fg">-&gt; 6299</span><span class="ansi-red-fg"> </span><span class="ansi-green-fg">return</span> object<span class="ansi-blue-fg">.</span>__getattribute__<span class="ansi-blue-fg">(</span>self<span class="ansi-blue-fg">,</span> name<span class="ansi-blue-fg">)</span>
<span class="ansi-red-fg">AttributeError</span>: 'DataFrame' object has no attribute 'community'</pre>
</div>
</div>
</div>
@ -2368,8 +2292,8 @@ Report count after filtering by community level 2: 17
</div>
</div>
</div>
</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><div class="jp-Cell jp-CodeCell jp-Notebook-cell">
<div class="jp-Cell jp-CodeCell jp-Notebook-cell">
<div class="jp-Cell-inputWrapper" tabindex="0">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
@ -2404,6 +2328,29 @@ Report count after filtering by community level 2: 17
</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[6], line 2</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-fg">----&gt; 2</span> community_reports<span style="color: rgb(98,98,98)">=</span><span class="ansi-yellow-bg">reports</span>,
<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-intense-fg ansi-bold"> 6</span> )
<span class="ansi-red-fg">NameError</span>: name 'reports' is not defined</pre>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell">
@ -2487,8 +2434,8 @@ reduce_llm_params = {
</div>
</div>
</div>
</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><div class="jp-Cell jp-CodeCell jp-Notebook-cell">
<div class="jp-Cell jp-CodeCell jp-Notebook-cell">
<div class="jp-Cell-inputWrapper" tabindex="0">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
@ -2537,6 +2484,36 @@ reduce_llm_params = {
</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[8], line 3</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-intense-fg ansi-bold"> 2</span> llm<span style="color: rgb(98,98,98)">=</span>llm,
<span class="ansi-green-fg">----&gt; 3</span> context_builder<span style="color: rgb(98,98,98)">=</span><span class="ansi-yellow-bg">context_builder</span>,
<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>
<span class="ansi-green-intense-fg ansi-bold"> 6</span> map_llm_params<span style="color: rgb(98,98,98)">=</span>map_llm_params,
<span class="ansi-green-intense-fg ansi-bold"> 7</span> reduce_llm_params<span style="color: rgb(98,98,98)">=</span>reduce_llm_params,
<span class="ansi-green-intense-fg ansi-bold"> 8</span> allow_general_knowledge<span style="color: rgb(98,98,98)">=</span><span class="ansi-bold" style="color: rgb(0,135,0)">False</span>, <span style="color: rgb(95,135,135)"># set this to True will add instruction to encourage the LLM to incorporate general knowledge in the response, which may increase hallucinations, but could be useful in some use cases.</span>
<span class="ansi-green-intense-fg ansi-bold"> 9</span> json_mode<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)"># set this to False if your LLM model does not support JSON mode.</span>
<span class="ansi-green-intense-fg ansi-bold"> 10</span> context_builder_params<span style="color: rgb(98,98,98)">=</span>context_builder_params,
<span class="ansi-green-intense-fg ansi-bold"> 11</span> concurrent_coroutines<span style="color: rgb(98,98,98)">=</span><span style="color: rgb(98,98,98)">32</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 'context_builder' 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">
@ -2579,186 +2556,16 @@ print(result.response)</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>Exception in _map_response_single_batch
Traceback (most recent call last):
File "/home/runner/work/graphrag/graphrag/graphrag/query/structured_search/global_search/search.py", line 232, in _map_response_single_batch
search_response = await self.llm.agenerate(
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/runner/work/graphrag/graphrag/graphrag/query/llm/oai/chat_openai.py", line 142, in agenerate
async for attempt in retryer:
File "/home/runner/.cache/pypoetry/virtualenvs/graphrag-F2jvqev7-py3.11/lib/python3.11/site-packages/tenacity/asyncio/__init__.py", line 166, in __anext__
do = await self.iter(retry_state=self._retry_state)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/runner/.cache/pypoetry/virtualenvs/graphrag-F2jvqev7-py3.11/lib/python3.11/site-packages/tenacity/asyncio/__init__.py", line 153, in iter
result = await action(retry_state)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/runner/.cache/pypoetry/virtualenvs/graphrag-F2jvqev7-py3.11/lib/python3.11/site-packages/tenacity/_utils.py", line 99, in inner
return call(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
File "/home/runner/.cache/pypoetry/virtualenvs/graphrag-F2jvqev7-py3.11/lib/python3.11/site-packages/tenacity/__init__.py", line 418, in exc_check
raise retry_exc.reraise()
^^^^^^^^^^^^^^^^^^^
File "/home/runner/.cache/pypoetry/virtualenvs/graphrag-F2jvqev7-py3.11/lib/python3.11/site-packages/tenacity/__init__.py", line 185, in reraise
raise self.last_attempt.result()
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/hostedtoolcache/Python/3.11.10/x64/lib/python3.11/concurrent/futures/_base.py", line 449, in result
return self.__get_result()
^^^^^^^^^^^^^^^^^^^
File "/opt/hostedtoolcache/Python/3.11.10/x64/lib/python3.11/concurrent/futures/_base.py", line 401, in __get_result
raise self._exception
File "/home/runner/work/graphrag/graphrag/graphrag/query/llm/oai/chat_openai.py", line 144, in agenerate
return await self._agenerate(
^^^^^^^^^^^^^^^^^^^^^^
File "/home/runner/work/graphrag/graphrag/graphrag/query/llm/oai/chat_openai.py", line 268, in _agenerate
response = await self.async_client.chat.completions.create( # type: ignore
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/runner/.cache/pypoetry/virtualenvs/graphrag-F2jvqev7-py3.11/lib/python3.11/site-packages/openai/resources/chat/completions.py", line 1661, in create
return await self._post(
^^^^^^^^^^^^^^^^^
File "/home/runner/.cache/pypoetry/virtualenvs/graphrag-F2jvqev7-py3.11/lib/python3.11/site-packages/openai/_base_client.py", line 1843, in post
return await self.request(cast_to, opts, stream=stream, stream_cls=stream_cls)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/runner/.cache/pypoetry/virtualenvs/graphrag-F2jvqev7-py3.11/lib/python3.11/site-packages/openai/_base_client.py", line 1537, in request
return await self._request(
^^^^^^^^^^^^^^^^^^^^
File "/home/runner/.cache/pypoetry/virtualenvs/graphrag-F2jvqev7-py3.11/lib/python3.11/site-packages/openai/_base_client.py", line 1623, in _request
return await self._retry_request(
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/runner/.cache/pypoetry/virtualenvs/graphrag-F2jvqev7-py3.11/lib/python3.11/site-packages/openai/_base_client.py", line 1670, in _retry_request
return await self._request(
^^^^^^^^^^^^^^^^^^^^
File "/home/runner/.cache/pypoetry/virtualenvs/graphrag-F2jvqev7-py3.11/lib/python3.11/site-packages/openai/_base_client.py", line 1623, in _request
return await self._retry_request(
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/runner/.cache/pypoetry/virtualenvs/graphrag-F2jvqev7-py3.11/lib/python3.11/site-packages/openai/_base_client.py", line 1670, in _retry_request
return await self._request(
^^^^^^^^^^^^^^^^^^^^
File "/home/runner/.cache/pypoetry/virtualenvs/graphrag-F2jvqev7-py3.11/lib/python3.11/site-packages/openai/_base_client.py", line 1623, in _request
return await self._retry_request(
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/runner/.cache/pypoetry/virtualenvs/graphrag-F2jvqev7-py3.11/lib/python3.11/site-packages/openai/_base_client.py", line 1670, in _retry_request
return await self._request(
^^^^^^^^^^^^^^^^^^^^
File "/home/runner/.cache/pypoetry/virtualenvs/graphrag-F2jvqev7-py3.11/lib/python3.11/site-packages/openai/_base_client.py", line 1623, in _request
return await self._retry_request(
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/runner/.cache/pypoetry/virtualenvs/graphrag-F2jvqev7-py3.11/lib/python3.11/site-packages/openai/_base_client.py", line 1670, in _retry_request
return await self._request(
^^^^^^^^^^^^^^^^^^^^
File "/home/runner/.cache/pypoetry/virtualenvs/graphrag-F2jvqev7-py3.11/lib/python3.11/site-packages/openai/_base_client.py", line 1623, in _request
return await self._retry_request(
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/runner/.cache/pypoetry/virtualenvs/graphrag-F2jvqev7-py3.11/lib/python3.11/site-packages/openai/_base_client.py", line 1670, in _retry_request
return await self._request(
^^^^^^^^^^^^^^^^^^^^
File "/home/runner/.cache/pypoetry/virtualenvs/graphrag-F2jvqev7-py3.11/lib/python3.11/site-packages/openai/_base_client.py", line 1623, in _request
return await self._retry_request(
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/runner/.cache/pypoetry/virtualenvs/graphrag-F2jvqev7-py3.11/lib/python3.11/site-packages/openai/_base_client.py", line 1670, in _retry_request
return await self._request(
^^^^^^^^^^^^^^^^^^^^
File "/home/runner/.cache/pypoetry/virtualenvs/graphrag-F2jvqev7-py3.11/lib/python3.11/site-packages/openai/_base_client.py", line 1623, in _request
return await self._retry_request(
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/runner/.cache/pypoetry/virtualenvs/graphrag-F2jvqev7-py3.11/lib/python3.11/site-packages/openai/_base_client.py", line 1670, in _retry_request
return await self._request(
^^^^^^^^^^^^^^^^^^^^
File "/home/runner/.cache/pypoetry/virtualenvs/graphrag-F2jvqev7-py3.11/lib/python3.11/site-packages/openai/_base_client.py", line 1623, in _request
return await self._retry_request(
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/runner/.cache/pypoetry/virtualenvs/graphrag-F2jvqev7-py3.11/lib/python3.11/site-packages/openai/_base_client.py", line 1670, in _retry_request
return await self._request(
^^^^^^^^^^^^^^^^^^^^
File "/home/runner/.cache/pypoetry/virtualenvs/graphrag-F2jvqev7-py3.11/lib/python3.11/site-packages/openai/_base_client.py", line 1623, in _request
return await self._retry_request(
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/runner/.cache/pypoetry/virtualenvs/graphrag-F2jvqev7-py3.11/lib/python3.11/site-packages/openai/_base_client.py", line 1670, in _retry_request
return await self._request(
^^^^^^^^^^^^^^^^^^^^
File "/home/runner/.cache/pypoetry/virtualenvs/graphrag-F2jvqev7-py3.11/lib/python3.11/site-packages/openai/_base_client.py", line 1623, in _request
return await self._retry_request(
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/runner/.cache/pypoetry/virtualenvs/graphrag-F2jvqev7-py3.11/lib/python3.11/site-packages/openai/_base_client.py", line 1670, in _retry_request
return await self._request(
^^^^^^^^^^^^^^^^^^^^
File "/home/runner/.cache/pypoetry/virtualenvs/graphrag-F2jvqev7-py3.11/lib/python3.11/site-packages/openai/_base_client.py", line 1623, in _request
return await self._retry_request(
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/runner/.cache/pypoetry/virtualenvs/graphrag-F2jvqev7-py3.11/lib/python3.11/site-packages/openai/_base_client.py", line 1670, in _retry_request
return await self._request(
^^^^^^^^^^^^^^^^^^^^
File "/home/runner/.cache/pypoetry/virtualenvs/graphrag-F2jvqev7-py3.11/lib/python3.11/site-packages/openai/_base_client.py", line 1623, in _request
return await self._retry_request(
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/runner/.cache/pypoetry/virtualenvs/graphrag-F2jvqev7-py3.11/lib/python3.11/site-packages/openai/_base_client.py", line 1670, in _retry_request
return await self._request(
^^^^^^^^^^^^^^^^^^^^
File "/home/runner/.cache/pypoetry/virtualenvs/graphrag-F2jvqev7-py3.11/lib/python3.11/site-packages/openai/_base_client.py", line 1623, in _request
return await self._retry_request(
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/runner/.cache/pypoetry/virtualenvs/graphrag-F2jvqev7-py3.11/lib/python3.11/site-packages/openai/_base_client.py", line 1670, in _retry_request
return await self._request(
^^^^^^^^^^^^^^^^^^^^
File "/home/runner/.cache/pypoetry/virtualenvs/graphrag-F2jvqev7-py3.11/lib/python3.11/site-packages/openai/_base_client.py", line 1623, in _request
return await self._retry_request(
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/runner/.cache/pypoetry/virtualenvs/graphrag-F2jvqev7-py3.11/lib/python3.11/site-packages/openai/_base_client.py", line 1670, in _retry_request
return await self._request(
^^^^^^^^^^^^^^^^^^^^
File "/home/runner/.cache/pypoetry/virtualenvs/graphrag-F2jvqev7-py3.11/lib/python3.11/site-packages/openai/_base_client.py", line 1623, in _request
return await self._retry_request(
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/runner/.cache/pypoetry/virtualenvs/graphrag-F2jvqev7-py3.11/lib/python3.11/site-packages/openai/_base_client.py", line 1670, in _retry_request
return await self._request(
^^^^^^^^^^^^^^^^^^^^
File "/home/runner/.cache/pypoetry/virtualenvs/graphrag-F2jvqev7-py3.11/lib/python3.11/site-packages/openai/_base_client.py", line 1623, in _request
return await self._retry_request(
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/runner/.cache/pypoetry/virtualenvs/graphrag-F2jvqev7-py3.11/lib/python3.11/site-packages/openai/_base_client.py", line 1670, in _retry_request
return await self._request(
^^^^^^^^^^^^^^^^^^^^
File "/home/runner/.cache/pypoetry/virtualenvs/graphrag-F2jvqev7-py3.11/lib/python3.11/site-packages/openai/_base_client.py", line 1623, in _request
return await self._retry_request(
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/runner/.cache/pypoetry/virtualenvs/graphrag-F2jvqev7-py3.11/lib/python3.11/site-packages/openai/_base_client.py", line 1670, in _retry_request
return await self._request(
^^^^^^^^^^^^^^^^^^^^
File "/home/runner/.cache/pypoetry/virtualenvs/graphrag-F2jvqev7-py3.11/lib/python3.11/site-packages/openai/_base_client.py", line 1623, in _request
return await self._retry_request(
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/runner/.cache/pypoetry/virtualenvs/graphrag-F2jvqev7-py3.11/lib/python3.11/site-packages/openai/_base_client.py", line 1670, in _retry_request
return await self._request(
^^^^^^^^^^^^^^^^^^^^
File "/home/runner/.cache/pypoetry/virtualenvs/graphrag-F2jvqev7-py3.11/lib/python3.11/site-packages/openai/_base_client.py", line 1623, in _request
return await self._retry_request(
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/runner/.cache/pypoetry/virtualenvs/graphrag-F2jvqev7-py3.11/lib/python3.11/site-packages/openai/_base_client.py", line 1670, in _retry_request
return await self._request(
^^^^^^^^^^^^^^^^^^^^
File "/home/runner/.cache/pypoetry/virtualenvs/graphrag-F2jvqev7-py3.11/lib/python3.11/site-packages/openai/_base_client.py", line 1623, in _request
return await self._retry_request(
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/runner/.cache/pypoetry/virtualenvs/graphrag-F2jvqev7-py3.11/lib/python3.11/site-packages/openai/_base_client.py", line 1670, in _retry_request
return await self._request(
^^^^^^^^^^^^^^^^^^^^
File "/home/runner/.cache/pypoetry/virtualenvs/graphrag-F2jvqev7-py3.11/lib/python3.11/site-packages/openai/_base_client.py", line 1638, in _request
raise self._make_status_error_from_response(err.response) from None
openai.RateLimitError: Error code: 429 - {'error': {'message': 'You exceeded your current quota, please check your plan and billing details. For more information on this error, read the docs: https://platform.openai.com/docs/guides/error-codes/api-errors.', 'type': 'insufficient_quota', 'param': None, 'code': 'insufficient_quota'}}
</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>Warning: All map responses have score 0 (i.e., no relevant information found from the dataset), returning a canned 'I do not know' answer. You can try enabling `allow_general_knowledge` to encourage the LLM to incorporate relevant general knowledge, at the risk of increasing hallucinations.
</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="text/plain" tabindex="0">
<pre>I am sorry but I am unable to answer this question given the provided data.
</pre>
<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[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>asearch(
<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-red-fg">NameError</span>: name 'search_engine' is not defined</pre>
</div>
</div>
</div>
@ -2796,174 +2603,17 @@ result.context_data["reports"]</div>
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
</div>
<div class="jp-OutputArea jp-Cell-outputArea">
<div class="jp-OutputArea-child jp-OutputArea-executeResult">
<div class="jp-OutputPrompt jp-OutputArea-prompt">Out[10]:</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;
}
<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[10], line 2</span>
<span class="ansi-green-intense-fg ansi-bold"> 1</span> <span style="color: rgb(95,135,135)"># inspect the data used to build the context for the LLM responses</span>
<span class="ansi-green-fg">----&gt; 2</span> <span class="ansi-yellow-bg">result</span><span style="color: rgb(98,98,98)">.</span>context_data[<span style="color: rgb(175,0,0)">"</span><span style="color: rgb(175,0,0)">reports</span><span style="color: rgb(175,0,0)">"</span>]
.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>title</th>
<th>occurrence weight</th>
<th>content</th>
<th>rank</th>
</tr>
</thead>
<tbody>
<tr>
<th>0</th>
<td>15</td>
<td>Dulce Base and the Paranormal Military Squad: ...</td>
<td>1.00</td>
<td># Dulce Base and the Paranormal Military Squad...</td>
<td>9.5</td>
</tr>
<tr>
<th>1</th>
<td>11</td>
<td>Dulce and Paranormal Military Squad Operations</td>
<td>0.30</td>
<td># Dulce and Paranormal Military Squad Operatio...</td>
<td>8.5</td>
</tr>
<tr>
<th>2</th>
<td>10</td>
<td>Paranormal Military Squad at Dulce Base: Decod...</td>
<td>0.30</td>
<td># Paranormal Military Squad at Dulce Base: Dec...</td>
<td>8.5</td>
</tr>
<tr>
<th>3</th>
<td>7</td>
<td>Operation: Dulce and the Paranormal Military S...</td>
<td>0.20</td>
<td># Operation: Dulce and the Paranormal Military...</td>
<td>8.5</td>
</tr>
<tr>
<th>4</th>
<td>8</td>
<td>Dr. Jordan Hayes and the Paranormal Military S...</td>
<td>0.18</td>
<td># Dr. Jordan Hayes and the Paranormal Military...</td>
<td>8.5</td>
</tr>
<tr>
<th>5</th>
<td>1</td>
<td>Earth's Interstellar Communication Initiative</td>
<td>0.16</td>
<td># Earth's Interstellar Communication Initiativ...</td>
<td>8.5</td>
</tr>
<tr>
<th>6</th>
<td>12</td>
<td>Paranormal Military Squad and Dulce Base Opera...</td>
<td>0.16</td>
<td># Paranormal Military Squad and Dulce Base Ope...</td>
<td>7.5</td>
</tr>
<tr>
<th>7</th>
<td>13</td>
<td>Mission Dynamics and Leadership: Cruz and Wash...</td>
<td>0.16</td>
<td># Mission Dynamics and Leadership: Cruz and Wa...</td>
<td>7.5</td>
</tr>
<tr>
<th>8</th>
<td>14</td>
<td>Dulce Base and Paranormal Military Squad: Brid...</td>
<td>0.12</td>
<td># Dulce Base and Paranormal Military Squad: Br...</td>
<td>8.5</td>
</tr>
<tr>
<th>9</th>
<td>16</td>
<td>Dulce Military Base and Alien Intelligence Com...</td>
<td>0.08</td>
<td># Dulce Military Base and Alien Intelligence C...</td>
<td>8.5</td>
</tr>
<tr>
<th>10</th>
<td>18</td>
<td>Paranormal Military Squad Team and Dulce Base'...</td>
<td>0.04</td>
<td># Paranormal Military Squad Team and Dulce Bas...</td>
<td>8.5</td>
</tr>
<tr>
<th>11</th>
<td>5</td>
<td>Alien Script and First Contact Operations</td>
<td>0.02</td>
<td># Alien Script and First Contact Operations\n\...</td>
<td>8.5</td>
</tr>
<tr>
<th>12</th>
<td>4</td>
<td>Dulce Facility and Control Room of Dulce: Extr...</td>
<td>0.02</td>
<td># Dulce Facility and Control Room of Dulce: Ex...</td>
<td>8.5</td>
</tr>
<tr>
<th>13</th>
<td>17</td>
<td>Dulce Team and Underground Command Center: Int...</td>
<td>0.02</td>
<td># Dulce Team and Underground Command Center: I...</td>
<td>8.5</td>
</tr>
<tr>
<th>14</th>
<td>19</td>
<td>Central Terminal and Viewing Monitors at Dulce...</td>
<td>0.02</td>
<td># Central Terminal and Viewing Monitors at Dul...</td>
<td>8.5</td>
</tr>
<tr>
<th>15</th>
<td>6</td>
<td>Cosmic Vocalization and Universe Interactions</td>
<td>0.02</td>
<td># Cosmic Vocalization and Universe Interaction...</td>
<td>7.5</td>
</tr>
<tr>
<th>16</th>
<td>9</td>
<td>Dulce Base Exploration by TEAM and MAINFRAME ROOM</td>
<td>0.02</td>
<td># Dulce Base Exploration by TEAM and MAINFRAME...</td>
<td>7.5</td>
</tr>
</tbody>
</table>
</div>
<span class="ansi-red-fg">NameError</span>: name 'result' is not defined</pre>
</div>
</div>
</div>
@ -3007,9 +2657,17 @@ print(
<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="text/plain" tabindex="0">
<pre>LLM calls: 1. Prompt tokens: 10330. Output tokens: 0.
</pre>
<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[11], line 3</span>
<span class="ansi-green-intense-fg ansi-bold"> 1</span> <span style="color: rgb(95,135,135)"># inspect number of LLM calls and tokens</span>
<span class="ansi-green-intense-fg ansi-bold"> 2</span> <span style="color: rgb(0,135,0)">print</span>(
<span class="ansi-green-fg">----&gt; 3</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)">LLM calls: </span><span class="ansi-bold" style="color: rgb(175,95,135)">{</span><span class="ansi-yellow-bg">result</span><span style="color: rgb(98,98,98)">.</span>llm_calls<span class="ansi-bold" style="color: rgb(175,95,135)">}</span><span style="color: rgb(175,0,0)">. Prompt tokens: </span><span class="ansi-bold" style="color: rgb(175,95,135)">{</span>result<span style="color: rgb(98,98,98)">.</span>prompt_tokens<span class="ansi-bold" style="color: rgb(175,95,135)">}</span><span style="color: rgb(175,0,0)">. Output tokens: </span><span class="ansi-bold" style="color: rgb(175,95,135)">{</span>result<span style="color: rgb(98,98,98)">.</span>output_tokens<span class="ansi-bold" style="color: rgb(175,95,135)">}</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"> 4</span> )
<span class="ansi-red-fg">NameError</span>: name 'result' is not defined</pre>
</div>
</div>
</div>

View File

@ -2152,138 +2152,38 @@ 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="text/plain" tabindex="0">
<pre>Total report count: 20
Report count after filtering by community level None: 20
</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>/home/runner/work/graphrag/graphrag/graphrag/query/indexer_adapters.py:158: SettingWithCopyWarning:
A value is trying to be set on a copy of a slice from a DataFrame.
Try using .loc[row_indexer,col_indexer] = value instead
<pre>
<span class="ansi-red-fg">---------------------------------------------------------------------------</span>
<span class="ansi-red-fg">AttributeError</span> Traceback (most recent call last)
<span class="ansi-green-fg">/tmp/ipykernel_2040/2760368953.py</span> in <span class="ansi-cyan-fg">?</span><span class="ansi-blue-fg">()</span>
<span class="ansi-green-intense-fg ansi-bold"> 2</span> entity_df <span class="ansi-blue-fg">=</span> pd<span class="ansi-blue-fg">.</span>read_parquet<span class="ansi-blue-fg">(</span><span class="ansi-blue-fg">f"{INPUT_DIR}/{ENTITY_TABLE}.parquet"</span><span class="ansi-blue-fg">)</span>
<span class="ansi-green-intense-fg ansi-bold"> 3</span> report_df <span class="ansi-blue-fg">=</span> pd<span class="ansi-blue-fg">.</span>read_parquet<span class="ansi-blue-fg">(</span><span class="ansi-blue-fg">f"{INPUT_DIR}/{COMMUNITY_REPORT_TABLE}.parquet"</span><span class="ansi-blue-fg">)</span>
<span class="ansi-green-intense-fg ansi-bold"> 4</span> entity_embedding_df <span class="ansi-blue-fg">=</span> pd<span class="ansi-blue-fg">.</span>read_parquet<span class="ansi-blue-fg">(</span><span class="ansi-blue-fg">f"{INPUT_DIR}/{ENTITY_EMBEDDING_TABLE}.parquet"</span><span class="ansi-blue-fg">)</span>
<span class="ansi-green-intense-fg ansi-bold"> 5</span>
<span class="ansi-green-fg">----&gt; 6</span><span class="ansi-red-fg"> </span>communities <span class="ansi-blue-fg">=</span> read_indexer_communities<span class="ansi-blue-fg">(</span>community_df<span class="ansi-blue-fg">,</span> entity_df<span class="ansi-blue-fg">,</span> report_df<span class="ansi-blue-fg">)</span>
<span class="ansi-green-intense-fg ansi-bold"> 7</span> reports = read_indexer_reports(
<span class="ansi-green-intense-fg ansi-bold"> 8</span> report_df<span class="ansi-blue-fg">,</span>
<span class="ansi-green-intense-fg ansi-bold"> 9</span> entity_df<span class="ansi-blue-fg">,</span>
See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy
nodes_df["community"] = nodes_df["community"].fillna(-1)
/home/runner/work/graphrag/graphrag/graphrag/query/indexer_adapters.py:159: SettingWithCopyWarning:
A value is trying to be set on a copy of a slice from a DataFrame.
Try using .loc[row_indexer,col_indexer] = value instead
<span class="ansi-green-fg">~/work/graphrag/graphrag/graphrag/query/indexer_adapters.py</span> in <span class="ansi-cyan-fg">?</span><span class="ansi-blue-fg">(final_communities, final_nodes, final_community_reports)</span>
<span class="ansi-green-intense-fg ansi-bold"> 180</span> reports_df <span class="ansi-blue-fg">=</span> final_community_reports
<span class="ansi-green-intense-fg ansi-bold"> 181</span>
<span class="ansi-green-intense-fg ansi-bold"> 182</span> <span class="ansi-red-fg"># ensure communities matches community reports</span>
<span class="ansi-green-intense-fg ansi-bold"> 183</span> missing_reports = communities_df[
<span class="ansi-green-fg">--&gt; 184</span><span class="ansi-red-fg"> </span><span class="ansi-blue-fg">~</span>communities_df<span class="ansi-blue-fg">.</span>community<span class="ansi-blue-fg">.</span>isin<span class="ansi-blue-fg">(</span>reports_df<span class="ansi-blue-fg">.</span>community<span class="ansi-blue-fg">.</span>unique<span class="ansi-blue-fg">(</span><span class="ansi-blue-fg">)</span><span class="ansi-blue-fg">)</span>
<span class="ansi-green-intense-fg ansi-bold"> 185</span> ].community.to_list()
<span class="ansi-green-intense-fg ansi-bold"> 186</span> <span class="ansi-green-fg">if</span> len<span class="ansi-blue-fg">(</span>missing_reports<span class="ansi-blue-fg">)</span><span class="ansi-blue-fg">:</span>
<span class="ansi-green-intense-fg ansi-bold"> 187</span> log<span class="ansi-blue-fg">.</span>warning<span class="ansi-blue-fg">(</span><span class="ansi-blue-fg">"Missing reports for communities: %s"</span><span class="ansi-blue-fg">,</span> missing_reports<span class="ansi-blue-fg">)</span>
See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy
nodes_df["community"] = nodes_df["community"].astype(int)
/home/runner/work/graphrag/graphrag/graphrag/query/indexer_adapters.py:160: SettingWithCopyWarning:
A value is trying to be set on a copy of a slice from a DataFrame.
Try using .loc[row_indexer,col_indexer] = value instead
<span class="ansi-green-fg">~/.cache/pypoetry/virtualenvs/graphrag-F2jvqev7-py3.11/lib/python3.11/site-packages/pandas/core/generic.py</span> in <span class="ansi-cyan-fg">?</span><span class="ansi-blue-fg">(self, name)</span>
<span class="ansi-green-intense-fg ansi-bold"> 6295</span> <span class="ansi-green-fg">and</span> name <span class="ansi-green-fg">not</span> <span class="ansi-green-fg">in</span> self<span class="ansi-blue-fg">.</span>_accessors
<span class="ansi-green-intense-fg ansi-bold"> 6296</span> <span class="ansi-green-fg">and</span> self<span class="ansi-blue-fg">.</span>_info_axis<span class="ansi-blue-fg">.</span>_can_hold_identifiers_and_holds_name<span class="ansi-blue-fg">(</span>name<span class="ansi-blue-fg">)</span>
<span class="ansi-green-intense-fg ansi-bold"> 6297</span> ):
<span class="ansi-green-intense-fg ansi-bold"> 6298</span> <span class="ansi-green-fg">return</span> self<span class="ansi-blue-fg">[</span>name<span class="ansi-blue-fg">]</span>
<span class="ansi-green-fg">-&gt; 6299</span><span class="ansi-red-fg"> </span><span class="ansi-green-fg">return</span> object<span class="ansi-blue-fg">.</span>__getattribute__<span class="ansi-blue-fg">(</span>self<span class="ansi-blue-fg">,</span> name<span class="ansi-blue-fg">)</span>
See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy
nodes_df["degree"] = nodes_df["degree"].astype(int)
</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;
}
.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>community</th>
<th>full_content</th>
<th>level</th>
<th>rank</th>
<th>title</th>
<th>rank_explanation</th>
<th>summary</th>
<th>findings</th>
<th>full_content_json</th>
<th>id</th>
</tr>
</thead>
<tbody>
<tr>
<th>0</th>
<td>10</td>
<td># Paranormal Military Squad at Dulce Base: Dec...</td>
<td>1</td>
<td>8.5</td>
<td>Paranormal Military Squad at Dulce Base: Decod...</td>
<td>The impact severity rating is high due to the ...</td>
<td>The Paranormal Military Squad, stationed at Du...</td>
<td>[{'explanation': 'Jordan is a central figure i...</td>
<td>{\n "title": "Paranormal Military Squad at ...</td>
<td>1ba2d200-dd26-4693-affe-a5539d0a0e0d</td>
</tr>
<tr>
<th>1</th>
<td>11</td>
<td># Dulce and Paranormal Military Squad Operatio...</td>
<td>1</td>
<td>8.5</td>
<td>Dulce and Paranormal Military Squad Operations</td>
<td>The impact severity rating is high due to the ...</td>
<td>The community centers around Dulce, a secretiv...</td>
<td>[{'explanation': 'Dulce is described as a top-...</td>
<td>{\n "title": "Dulce and Paranormal Military...</td>
<td>a8a530b0-ae6b-44ea-b11c-9f70d138298d</td>
</tr>
<tr>
<th>2</th>
<td>12</td>
<td># Paranormal Military Squad and Dulce Base Ope...</td>
<td>1</td>
<td>7.5</td>
<td>Paranormal Military Squad and Dulce Base Opera...</td>
<td>The impact severity rating is relatively high ...</td>
<td>The community centers around the Paranormal Mi...</td>
<td>[{'explanation': 'Taylor is a central figure w...</td>
<td>{\n "title": "Paranormal Military Squad and...</td>
<td>0478975b-c805-4cc1-b746-82f3e689e2f3</td>
</tr>
<tr>
<th>3</th>
<td>13</td>
<td># Mission Dynamics and Leadership: Cruz and Wa...</td>
<td>1</td>
<td>7.5</td>
<td>Mission Dynamics and Leadership: Cruz and Wash...</td>
<td>The impact severity rating is relatively high ...</td>
<td>This report explores the intricate dynamics of...</td>
<td>[{'explanation': 'Cruz is a central figure in ...</td>
<td>{\n "title": "Mission Dynamics and Leadersh...</td>
<td>b56f6e68-3951-4f07-8760-63700944a375</td>
</tr>
<tr>
<th>4</th>
<td>14</td>
<td># Dulce Base and Paranormal Military Squad: Br...</td>
<td>1</td>
<td>8.5</td>
<td>Dulce Base and Paranormal Military Squad: Brid...</td>
<td>The impact severity rating is high due to the ...</td>
<td>The community centers around the Dulce Base, a...</td>
<td>[{'explanation': 'Sam Rivera, a member of the ...</td>
<td>{\n "title": "Dulce Base and Paranormal Mil...</td>
<td>736e7006-d050-4abb-a122-00febf3f540f</td>
</tr>
</tbody>
</table>
</div>
<span class="ansi-red-fg">AttributeError</span>: 'DataFrame' object has no attribute 'community'</pre>
</div>
</div>
</div>
@ -2302,8 +2202,8 @@ See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stab
</div>
</div>
</div>
</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><div class="jp-Cell jp-CodeCell jp-Notebook-cell">
<div class="jp-Cell jp-CodeCell jp-Notebook-cell">
<div class="jp-Cell-inputWrapper" tabindex="0">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
@ -2364,6 +2264,41 @@ context_builder = GlobalCommunityContext(
</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[6], line 10</span>
<span class="ansi-green-intense-fg ansi-bold"> 1</span> mini_llm <span style="color: rgb(98,98,98)">=</span> ChatOpenAI(
<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-fg">---&gt; 10</span> community_reports<span style="color: rgb(98,98,98)">=</span><span class="ansi-yellow-bg">reports</span>,
<span class="ansi-green-intense-fg ansi-bold"> 11</span> communities<span style="color: rgb(98,98,98)">=</span>communities,
<span class="ansi-green-intense-fg ansi-bold"> 12</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"> 13</span> token_encoder<span style="color: rgb(98,98,98)">=</span>token_encoder,
<span class="ansi-green-intense-fg ansi-bold"> 14</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"> 15</span> dynamic_community_selection_kwargs<span style="color: rgb(98,98,98)">=</span>{
<span class="ansi-green-intense-fg ansi-bold"> 16</span> <span style="color: rgb(175,0,0)">"</span><span style="color: rgb(175,0,0)">llm</span><span style="color: rgb(175,0,0)">"</span>: mini_llm,
<span class="ansi-green-intense-fg ansi-bold"> 17</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>: mini_token_encoder,
<span class="ansi-green-intense-fg ansi-bold"> 18</span> },
<span class="ansi-green-intense-fg ansi-bold"> 19</span> )
<span class="ansi-red-fg">NameError</span>: name 'reports' is not defined</pre>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell">
@ -2447,8 +2382,8 @@ reduce_llm_params = {
</div>
</div>
</div>
</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><div class="jp-Cell jp-CodeCell jp-Notebook-cell">
<div class="jp-Cell jp-CodeCell jp-Notebook-cell">
<div class="jp-Cell-inputWrapper" tabindex="0">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
@ -2497,6 +2432,36 @@ reduce_llm_params = {
</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[8], line 3</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-intense-fg ansi-bold"> 2</span> llm<span style="color: rgb(98,98,98)">=</span>llm,
<span class="ansi-green-fg">----&gt; 3</span> context_builder<span style="color: rgb(98,98,98)">=</span><span class="ansi-yellow-bg">context_builder</span>,
<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>
<span class="ansi-green-intense-fg ansi-bold"> 6</span> map_llm_params<span style="color: rgb(98,98,98)">=</span>map_llm_params,
<span class="ansi-green-intense-fg ansi-bold"> 7</span> reduce_llm_params<span style="color: rgb(98,98,98)">=</span>reduce_llm_params,
<span class="ansi-green-intense-fg ansi-bold"> 8</span> allow_general_knowledge<span style="color: rgb(98,98,98)">=</span><span class="ansi-bold" style="color: rgb(0,135,0)">False</span>, <span style="color: rgb(95,135,135)"># set this to True will add instruction to encourage the LLM to incorporate general knowledge in the response, which may increase hallucinations, but could be useful in some use cases.</span>
<span class="ansi-green-intense-fg ansi-bold"> 9</span> json_mode<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)"># set this to False if your LLM model does not support JSON mode.</span>
<span class="ansi-green-intense-fg ansi-bold"> 10</span> context_builder_params<span style="color: rgb(98,98,98)">=</span>context_builder_params,
<span class="ansi-green-intense-fg ansi-bold"> 11</span> concurrent_coroutines<span style="color: rgb(98,98,98)">=</span><span style="color: rgb(98,98,98)">32</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 'context_builder' 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">
@ -2541,316 +2506,14 @@ print(result.response)</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">RateLimitError</span> Traceback (most recent call last)
<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> search_engine<span style="color: rgb(98,98,98)">.</span>asearch(
<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>asearch(
<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)
File <span class="ansi-green-fg">~/work/graphrag/graphrag/graphrag/query/structured_search/global_search/search.py:156</span>, in <span class="ansi-cyan-fg">GlobalSearch.asearch</span><span class="ansi-blue-fg">(self, query, conversation_history, **kwargs)</span>
<span class="ansi-green-intense-fg ansi-bold"> 153</span> llm_calls, prompt_tokens, output_tokens <span style="color: rgb(98,98,98)">=</span> {}, {}, {}
<span class="ansi-green-intense-fg ansi-bold"> 155</span> start_time <span style="color: rgb(98,98,98)">=</span> time<span style="color: rgb(98,98,98)">.</span>time()
<span class="ansi-green-fg">--&gt; 156</span> context_result <span style="color: rgb(98,98,98)">=</span> <span class="ansi-bold" style="color: rgb(0,135,0)">await</span> <span style="color: rgb(0,135,0)">self</span><span style="color: rgb(98,98,98)">.</span>context_builder<span style="color: rgb(98,98,98)">.</span>build_context(
<span class="ansi-green-intense-fg ansi-bold"> 157</span> query<span style="color: rgb(98,98,98)">=</span>query,
<span class="ansi-green-intense-fg ansi-bold"> 158</span> conversation_history<span style="color: rgb(98,98,98)">=</span>conversation_history,
<span class="ansi-green-intense-fg ansi-bold"> 159</span> <span style="color: rgb(98,98,98)">*</span><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>context_builder_params,
<span class="ansi-green-intense-fg ansi-bold"> 160</span> )
<span class="ansi-green-intense-fg ansi-bold"> 161</span> llm_calls[<span style="color: rgb(175,0,0)">"</span><span style="color: rgb(175,0,0)">build_context</span><span style="color: rgb(175,0,0)">"</span>] <span style="color: rgb(98,98,98)">=</span> context_result<span style="color: rgb(98,98,98)">.</span>llm_calls
<span class="ansi-green-intense-fg ansi-bold"> 162</span> prompt_tokens[<span style="color: rgb(175,0,0)">"</span><span style="color: rgb(175,0,0)">build_context</span><span style="color: rgb(175,0,0)">"</span>] <span style="color: rgb(98,98,98)">=</span> context_result<span style="color: rgb(98,98,98)">.</span>prompt_tokens
File <span class="ansi-green-fg">~/work/graphrag/graphrag/graphrag/query/structured_search/global_search/community_context.py:98</span>, in <span class="ansi-cyan-fg">GlobalCommunityContext.build_context</span><span class="ansi-blue-fg">(self, query, conversation_history, use_community_summary, column_delimiter, shuffle_data, include_community_rank, min_community_rank, community_rank_name, include_community_weight, community_weight_name, normalize_community_weight, max_tokens, context_name, conversation_history_user_turns_only, conversation_history_max_turns, **kwargs)</span>
<span class="ansi-green-intense-fg ansi-bold"> 93</span> community_reports <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>community_reports
<span class="ansi-green-intense-fg ansi-bold"> 94</span> <span class="ansi-bold" style="color: rgb(0,135,0)">if</span> <span style="color: rgb(0,135,0)">self</span><span style="color: rgb(98,98,98)">.</span>dynamic_community_selection <span class="ansi-bold" style="color: rgb(175,0,255)">is</span> <span class="ansi-bold" style="color: rgb(175,0,255)">not</span> <span class="ansi-bold" style="color: rgb(0,135,0)">None</span>:
<span class="ansi-green-intense-fg ansi-bold"> 95</span> (
<span class="ansi-green-intense-fg ansi-bold"> 96</span> community_reports,
<span class="ansi-green-intense-fg ansi-bold"> 97</span> dynamic_info,
<span class="ansi-green-fg">---&gt; 98</span> ) <span style="color: rgb(98,98,98)">=</span> <span class="ansi-bold" style="color: rgb(0,135,0)">await</span> <span style="color: rgb(0,135,0)">self</span><span style="color: rgb(98,98,98)">.</span>dynamic_community_selection<span style="color: rgb(98,98,98)">.</span>select(query)
<span class="ansi-green-intense-fg ansi-bold"> 99</span> llm_calls <span style="color: rgb(98,98,98)">+</span><span style="color: rgb(98,98,98)">=</span> dynamic_info[<span style="color: rgb(175,0,0)">"</span><span style="color: rgb(175,0,0)">llm_calls</span><span style="color: rgb(175,0,0)">"</span>]
<span class="ansi-green-intense-fg ansi-bold"> 100</span> prompt_tokens <span style="color: rgb(98,98,98)">+</span><span style="color: rgb(98,98,98)">=</span> dynamic_info[<span style="color: rgb(175,0,0)">"</span><span style="color: rgb(175,0,0)">prompt_tokens</span><span style="color: rgb(175,0,0)">"</span>]
File <span class="ansi-green-fg">~/work/graphrag/graphrag/graphrag/query/context_builder/dynamic_community_selection.py:106</span>, in <span class="ansi-cyan-fg">DynamicCommunitySelection.select</span><span class="ansi-blue-fg">(self, query)</span>
<span class="ansi-green-intense-fg ansi-bold"> 103</span> relevant_communities <span style="color: rgb(98,98,98)">=</span> <span style="color: rgb(0,135,0)">set</span>()
<span class="ansi-green-intense-fg ansi-bold"> 105</span> <span class="ansi-bold" style="color: rgb(0,135,0)">while</span> queue:
<span class="ansi-green-fg">--&gt; 106</span> gather_results <span style="color: rgb(98,98,98)">=</span> <span class="ansi-bold" style="color: rgb(0,135,0)">await</span> asyncio<span style="color: rgb(98,98,98)">.</span>gather(<span style="color: rgb(98,98,98)">*</span>[
<span class="ansi-green-intense-fg ansi-bold"> 107</span> rate_relevancy(
<span class="ansi-green-intense-fg ansi-bold"> 108</span> query<span style="color: rgb(98,98,98)">=</span>query,
<span class="ansi-green-intense-fg ansi-bold"> 109</span> description<span style="color: rgb(98,98,98)">=</span>(
<span class="ansi-green-intense-fg ansi-bold"> 110</span> <span style="color: rgb(0,135,0)">self</span><span style="color: rgb(98,98,98)">.</span>reports[community]<span style="color: rgb(98,98,98)">.</span>summary
<span class="ansi-green-intense-fg ansi-bold"> 111</span> <span class="ansi-bold" style="color: rgb(0,135,0)">if</span> <span style="color: rgb(0,135,0)">self</span><span style="color: rgb(98,98,98)">.</span>use_summary
<span class="ansi-green-intense-fg ansi-bold"> 112</span> <span class="ansi-bold" style="color: rgb(0,135,0)">else</span> <span style="color: rgb(0,135,0)">self</span><span style="color: rgb(98,98,98)">.</span>reports[community]<span style="color: rgb(98,98,98)">.</span>full_content
<span class="ansi-green-intense-fg ansi-bold"> 113</span> ),
<span class="ansi-green-intense-fg ansi-bold"> 114</span> llm<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>llm,
<span class="ansi-green-intense-fg ansi-bold"> 115</span> token_encoder<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>token_encoder,
<span class="ansi-green-intense-fg ansi-bold"> 116</span> rate_query<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>rate_query,
<span class="ansi-green-intense-fg ansi-bold"> 117</span> num_repeats<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>num_repeats,
<span class="ansi-green-intense-fg ansi-bold"> 118</span> semaphore<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>semaphore,
<span class="ansi-green-intense-fg ansi-bold"> 119</span> <span style="color: rgb(98,98,98)">*</span><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>llm_kwargs,
<span class="ansi-green-intense-fg ansi-bold"> 120</span> )
<span class="ansi-green-intense-fg ansi-bold"> 121</span> <span class="ansi-bold" style="color: rgb(0,135,0)">for</span> community <span class="ansi-bold" style="color: rgb(175,0,255)">in</span> queue
<span class="ansi-green-intense-fg ansi-bold"> 122</span> ])
<span class="ansi-green-intense-fg ansi-bold"> 124</span> communities_to_rate <span style="color: rgb(98,98,98)">=</span> []
<span class="ansi-green-intense-fg ansi-bold"> 125</span> <span class="ansi-bold" style="color: rgb(0,135,0)">for</span> community, result <span class="ansi-bold" style="color: rgb(175,0,255)">in</span> <span style="color: rgb(0,135,0)">zip</span>(queue, gather_results, strict<span style="color: rgb(98,98,98)">=</span><span class="ansi-bold" style="color: rgb(0,135,0)">True</span>):
File <span class="ansi-green-fg">~/work/graphrag/graphrag/graphrag/query/context_builder/rate_relevancy.py:54</span>, in <span class="ansi-cyan-fg">rate_relevancy</span><span class="ansi-blue-fg">(query, description, llm, token_encoder, rate_query, num_repeats, semaphore, **llm_kwargs)</span>
<span class="ansi-green-intense-fg ansi-bold"> 52</span> <span class="ansi-bold" style="color: rgb(0,135,0)">for</span> _ <span class="ansi-bold" style="color: rgb(175,0,255)">in</span> <span style="color: rgb(0,135,0)">range</span>(num_repeats):
<span class="ansi-green-intense-fg ansi-bold"> 53</span> <span class="ansi-bold" style="color: rgb(0,135,0)">async</span> <span class="ansi-bold" style="color: rgb(0,135,0)">with</span> semaphore <span class="ansi-bold" style="color: rgb(0,135,0)">if</span> semaphore <span class="ansi-bold" style="color: rgb(175,0,255)">is</span> <span class="ansi-bold" style="color: rgb(175,0,255)">not</span> <span class="ansi-bold" style="color: rgb(0,135,0)">None</span> <span class="ansi-bold" style="color: rgb(0,135,0)">else</span> nullcontext():
<span class="ansi-green-fg">---&gt; 54</span> response <span style="color: rgb(98,98,98)">=</span> <span class="ansi-bold" style="color: rgb(0,135,0)">await</span> llm<span style="color: rgb(98,98,98)">.</span>agenerate(messages<span style="color: rgb(98,98,98)">=</span>messages, <span style="color: rgb(98,98,98)">*</span><span style="color: rgb(98,98,98)">*</span>llm_kwargs)
<span class="ansi-green-intense-fg ansi-bold"> 55</span> <span class="ansi-bold" style="color: rgb(0,135,0)">try</span>:
<span class="ansi-green-intense-fg ansi-bold"> 56</span> _, parsed_response <span style="color: rgb(98,98,98)">=</span> try_parse_json_object(response)
File <span class="ansi-green-fg">~/work/graphrag/graphrag/graphrag/query/llm/oai/chat_openai.py:142</span>, in <span class="ansi-cyan-fg">ChatOpenAI.agenerate</span><span class="ansi-blue-fg">(self, messages, streaming, callbacks, **kwargs)</span>
<span class="ansi-green-intense-fg ansi-bold"> 135</span> <span class="ansi-bold" style="color: rgb(0,135,0)">try</span>:
<span class="ansi-green-intense-fg ansi-bold"> 136</span> retryer <span style="color: rgb(98,98,98)">=</span> AsyncRetrying(
<span class="ansi-green-intense-fg ansi-bold"> 137</span> stop<span style="color: rgb(98,98,98)">=</span>stop_after_attempt(<span style="color: rgb(0,135,0)">self</span><span style="color: rgb(98,98,98)">.</span>max_retries),
<span class="ansi-green-intense-fg ansi-bold"> 138</span> wait<span style="color: rgb(98,98,98)">=</span>wait_exponential_jitter(<span style="color: rgb(0,135,0)">max</span><span style="color: rgb(98,98,98)">=</span><span style="color: rgb(98,98,98)">10</span>),
<span class="ansi-green-intense-fg ansi-bold"> 139</span> reraise<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"> 140</span> retry<span style="color: rgb(98,98,98)">=</span>retry_if_exception_type(<span style="color: rgb(0,135,0)">self</span><span style="color: rgb(98,98,98)">.</span>retry_error_types), <span style="color: rgb(95,135,135)"># type: ignore</span>
<span class="ansi-green-intense-fg ansi-bold"> 141</span> )
<span class="ansi-green-fg">--&gt; 142</span> <span class="ansi-bold" style="color: rgb(0,135,0)">async</span> <span class="ansi-bold" style="color: rgb(0,135,0)">for</span> attempt <span class="ansi-bold" style="color: rgb(175,0,255)">in</span> retryer:
<span class="ansi-green-intense-fg ansi-bold"> 143</span> <span class="ansi-bold" style="color: rgb(0,135,0)">with</span> attempt:
<span class="ansi-green-intense-fg ansi-bold"> 144</span> <span class="ansi-bold" style="color: rgb(0,135,0)">return</span> <span class="ansi-bold" style="color: rgb(0,135,0)">await</span> <span style="color: rgb(0,135,0)">self</span><span style="color: rgb(98,98,98)">.</span>_agenerate(
<span class="ansi-green-intense-fg ansi-bold"> 145</span> messages<span style="color: rgb(98,98,98)">=</span>messages,
<span class="ansi-green-intense-fg ansi-bold"> 146</span> streaming<span style="color: rgb(98,98,98)">=</span>streaming,
<span class="ansi-green-intense-fg ansi-bold"> 147</span> callbacks<span style="color: rgb(98,98,98)">=</span>callbacks,
<span class="ansi-green-intense-fg ansi-bold"> 148</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"> 149</span> )
File <span class="ansi-green-fg">~/.cache/pypoetry/virtualenvs/graphrag-F2jvqev7-py3.11/lib/python3.11/site-packages/tenacity/asyncio/__init__.py:166</span>, in <span class="ansi-cyan-fg">AsyncRetrying.__anext__</span><span class="ansi-blue-fg">(self)</span>
<span class="ansi-green-intense-fg ansi-bold"> 164</span> <span class="ansi-bold" style="color: rgb(0,135,0)">async</span> <span class="ansi-bold" style="color: rgb(0,135,0)">def</span> <span style="color: rgb(0,0,255)">__anext__</span>(<span style="color: rgb(0,135,0)">self</span>) <span style="color: rgb(98,98,98)">-</span><span style="color: rgb(98,98,98)">&gt;</span> AttemptManager:
<span class="ansi-green-intense-fg ansi-bold"> 165</span> <span class="ansi-bold" style="color: rgb(0,135,0)">while</span> <span class="ansi-bold" style="color: rgb(0,135,0)">True</span>:
<span class="ansi-green-fg">--&gt; 166</span> do <span style="color: rgb(98,98,98)">=</span> <span class="ansi-bold" style="color: rgb(0,135,0)">await</span> <span style="color: rgb(0,135,0)">self</span><span style="color: rgb(98,98,98)">.</span>iter(retry_state<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>_retry_state)
<span class="ansi-green-intense-fg ansi-bold"> 167</span> <span class="ansi-bold" style="color: rgb(0,135,0)">if</span> do <span class="ansi-bold" style="color: rgb(175,0,255)">is</span> <span class="ansi-bold" style="color: rgb(0,135,0)">None</span>:
<span class="ansi-green-intense-fg ansi-bold"> 168</span> <span class="ansi-bold" style="color: rgb(0,135,0)">raise</span> <span class="ansi-bold" style="color: rgb(215,95,95)">StopAsyncIteration</span>
File <span class="ansi-green-fg">~/.cache/pypoetry/virtualenvs/graphrag-F2jvqev7-py3.11/lib/python3.11/site-packages/tenacity/asyncio/__init__.py:153</span>, in <span class="ansi-cyan-fg">AsyncRetrying.iter</span><span class="ansi-blue-fg">(self, retry_state)</span>
<span class="ansi-green-intense-fg ansi-bold"> 151</span> result <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"> 152</span> <span class="ansi-bold" style="color: rgb(0,135,0)">for</span> action <span class="ansi-bold" style="color: rgb(175,0,255)">in</span> <span style="color: rgb(0,135,0)">self</span><span style="color: rgb(98,98,98)">.</span>iter_state<span style="color: rgb(98,98,98)">.</span>actions:
<span class="ansi-green-fg">--&gt; 153</span> result <span style="color: rgb(98,98,98)">=</span> <span class="ansi-bold" style="color: rgb(0,135,0)">await</span> action(retry_state)
<span class="ansi-green-intense-fg ansi-bold"> 154</span> <span class="ansi-bold" style="color: rgb(0,135,0)">return</span> result
File <span class="ansi-green-fg">~/.cache/pypoetry/virtualenvs/graphrag-F2jvqev7-py3.11/lib/python3.11/site-packages/tenacity/_utils.py:99</span>, in <span class="ansi-cyan-fg">wrap_to_async_func.&lt;locals&gt;.inner</span><span class="ansi-blue-fg">(*args, **kwargs)</span>
<span class="ansi-green-intense-fg ansi-bold"> 98</span> <span class="ansi-bold" style="color: rgb(0,135,0)">async</span> <span class="ansi-bold" style="color: rgb(0,135,0)">def</span> <span style="color: rgb(0,0,255)">inner</span>(<span style="color: rgb(98,98,98)">*</span>args: typing<span style="color: rgb(98,98,98)">.</span>Any, <span style="color: rgb(98,98,98)">*</span><span style="color: rgb(98,98,98)">*</span>kwargs: typing<span style="color: rgb(98,98,98)">.</span>Any) <span style="color: rgb(98,98,98)">-</span><span style="color: rgb(98,98,98)">&gt;</span> typing<span style="color: rgb(98,98,98)">.</span>Any:
<span class="ansi-green-fg">---&gt; 99</span> <span class="ansi-bold" style="color: rgb(0,135,0)">return</span> <span class="ansi-yellow-bg">call</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>
File <span class="ansi-green-fg">~/.cache/pypoetry/virtualenvs/graphrag-F2jvqev7-py3.11/lib/python3.11/site-packages/tenacity/__init__.py:418</span>, in <span class="ansi-cyan-fg">BaseRetrying._post_stop_check_actions.&lt;locals&gt;.exc_check</span><span class="ansi-blue-fg">(rs)</span>
<span class="ansi-green-intense-fg ansi-bold"> 416</span> retry_exc <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>retry_error_cls(fut)
<span class="ansi-green-intense-fg ansi-bold"> 417</span> <span class="ansi-bold" style="color: rgb(0,135,0)">if</span> <span style="color: rgb(0,135,0)">self</span><span style="color: rgb(98,98,98)">.</span>reraise:
<span class="ansi-green-fg">--&gt; 418</span> <span class="ansi-bold" style="color: rgb(0,135,0)">raise</span> <span class="ansi-yellow-bg">retry_exc</span><span class="ansi-yellow-bg" style="color: rgb(98,98,98)">.</span><span class="ansi-yellow-bg">reraise</span><span class="ansi-yellow-bg">(</span><span class="ansi-yellow-bg">)</span>
<span class="ansi-green-intense-fg ansi-bold"> 419</span> <span class="ansi-bold" style="color: rgb(0,135,0)">raise</span> retry_exc <span class="ansi-bold" style="color: rgb(0,135,0)">from</span> <span class="ansi-bold" style="color: rgb(0,0,255)">fut</span><span class="ansi-bold" style="color: rgb(0,0,255)">.</span><span class="ansi-bold" style="color: rgb(0,0,255)">exception</span>()
File <span class="ansi-green-fg">~/.cache/pypoetry/virtualenvs/graphrag-F2jvqev7-py3.11/lib/python3.11/site-packages/tenacity/__init__.py:185</span>, in <span class="ansi-cyan-fg">RetryError.reraise</span><span class="ansi-blue-fg">(self)</span>
<span class="ansi-green-intense-fg ansi-bold"> 183</span> <span class="ansi-bold" style="color: rgb(0,135,0)">def</span> <span style="color: rgb(0,0,255)">reraise</span>(<span style="color: rgb(0,135,0)">self</span>) <span style="color: rgb(98,98,98)">-</span><span style="color: rgb(98,98,98)">&gt;</span> t<span style="color: rgb(98,98,98)">.</span>NoReturn:
<span class="ansi-green-intense-fg ansi-bold"> 184</span> <span class="ansi-bold" style="color: rgb(0,135,0)">if</span> <span style="color: rgb(0,135,0)">self</span><span style="color: rgb(98,98,98)">.</span>last_attempt<span style="color: rgb(98,98,98)">.</span>failed:
<span class="ansi-green-fg">--&gt; 185</span> <span class="ansi-bold" style="color: rgb(0,135,0)">raise</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">last_attempt</span><span class="ansi-yellow-bg" style="color: rgb(98,98,98)">.</span><span class="ansi-yellow-bg">result</span><span class="ansi-yellow-bg">(</span><span class="ansi-yellow-bg">)</span>
<span class="ansi-green-intense-fg ansi-bold"> 186</span> <span class="ansi-bold" style="color: rgb(0,135,0)">raise</span> <span style="color: rgb(0,135,0)">self</span>
File <span class="ansi-green-fg">/opt/hostedtoolcache/Python/3.11.10/x64/lib/python3.11/concurrent/futures/_base.py:449</span>, in <span class="ansi-cyan-fg">Future.result</span><span class="ansi-blue-fg">(self, timeout)</span>
<span class="ansi-green-intense-fg ansi-bold"> 447</span> <span class="ansi-bold" style="color: rgb(0,135,0)">raise</span> CancelledError()
<span class="ansi-green-intense-fg ansi-bold"> 448</span> <span class="ansi-bold" style="color: rgb(0,135,0)">elif</span> <span style="color: rgb(0,135,0)">self</span><span style="color: rgb(98,98,98)">.</span>_state <span style="color: rgb(98,98,98)">==</span> FINISHED:
<span class="ansi-green-fg">--&gt; 449</span> <span class="ansi-bold" style="color: rgb(0,135,0)">return</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">__get_result</span><span class="ansi-yellow-bg">(</span><span class="ansi-yellow-bg">)</span>
<span class="ansi-green-intense-fg ansi-bold"> 451</span> <span style="color: rgb(0,135,0)">self</span><span style="color: rgb(98,98,98)">.</span>_condition<span style="color: rgb(98,98,98)">.</span>wait(timeout)
<span class="ansi-green-intense-fg ansi-bold"> 453</span> <span class="ansi-bold" style="color: rgb(0,135,0)">if</span> <span style="color: rgb(0,135,0)">self</span><span style="color: rgb(98,98,98)">.</span>_state <span class="ansi-bold" style="color: rgb(175,0,255)">in</span> [CANCELLED, CANCELLED_AND_NOTIFIED]:
File <span class="ansi-green-fg">/opt/hostedtoolcache/Python/3.11.10/x64/lib/python3.11/concurrent/futures/_base.py:401</span>, in <span class="ansi-cyan-fg">Future.__get_result</span><span class="ansi-blue-fg">(self)</span>
<span class="ansi-green-intense-fg ansi-bold"> 399</span> <span class="ansi-bold" style="color: rgb(0,135,0)">if</span> <span style="color: rgb(0,135,0)">self</span><span style="color: rgb(98,98,98)">.</span>_exception:
<span class="ansi-green-intense-fg ansi-bold"> 400</span> <span class="ansi-bold" style="color: rgb(0,135,0)">try</span>:
<span class="ansi-green-fg">--&gt; 401</span> <span class="ansi-bold" style="color: rgb(0,135,0)">raise</span> <span style="color: rgb(0,135,0)">self</span><span style="color: rgb(98,98,98)">.</span>_exception
<span class="ansi-green-intense-fg ansi-bold"> 402</span> <span class="ansi-bold" style="color: rgb(0,135,0)">finally</span>:
<span class="ansi-green-intense-fg ansi-bold"> 403</span> <span style="color: rgb(95,135,135)"># Break a reference cycle with the exception in self._exception</span>
<span class="ansi-green-intense-fg ansi-bold"> 404</span> <span style="color: rgb(0,135,0)">self</span> <span style="color: rgb(98,98,98)">=</span> <span class="ansi-bold" style="color: rgb(0,135,0)">None</span>
File <span class="ansi-green-fg">~/work/graphrag/graphrag/graphrag/query/llm/oai/chat_openai.py:144</span>, in <span class="ansi-cyan-fg">ChatOpenAI.agenerate</span><span class="ansi-blue-fg">(self, messages, streaming, callbacks, **kwargs)</span>
<span class="ansi-green-intense-fg ansi-bold"> 142</span> <span class="ansi-bold" style="color: rgb(0,135,0)">async</span> <span class="ansi-bold" style="color: rgb(0,135,0)">for</span> attempt <span class="ansi-bold" style="color: rgb(175,0,255)">in</span> retryer:
<span class="ansi-green-intense-fg ansi-bold"> 143</span> <span class="ansi-bold" style="color: rgb(0,135,0)">with</span> attempt:
<span class="ansi-green-fg">--&gt; 144</span> <span class="ansi-bold" style="color: rgb(0,135,0)">return</span> <span class="ansi-bold" style="color: rgb(0,135,0)">await</span> <span style="color: rgb(0,135,0)">self</span><span style="color: rgb(98,98,98)">.</span>_agenerate(
<span class="ansi-green-intense-fg ansi-bold"> 145</span> messages<span style="color: rgb(98,98,98)">=</span>messages,
<span class="ansi-green-intense-fg ansi-bold"> 146</span> streaming<span style="color: rgb(98,98,98)">=</span>streaming,
<span class="ansi-green-intense-fg ansi-bold"> 147</span> callbacks<span style="color: rgb(98,98,98)">=</span>callbacks,
<span class="ansi-green-intense-fg ansi-bold"> 148</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"> 149</span> )
<span class="ansi-green-intense-fg ansi-bold"> 150</span> <span class="ansi-bold" style="color: rgb(0,135,0)">except</span> RetryError <span class="ansi-bold" style="color: rgb(0,135,0)">as</span> e:
<span class="ansi-green-intense-fg ansi-bold"> 151</span> <span style="color: rgb(0,135,0)">self</span><span style="color: rgb(98,98,98)">.</span>_reporter<span style="color: rgb(98,98,98)">.</span>error(<span style="color: rgb(175,0,0)">f</span><span style="color: rgb(175,0,0)">"</span><span style="color: rgb(175,0,0)">Error at agenerate(): </span><span class="ansi-bold" style="color: rgb(175,95,135)">{</span>e<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/query/llm/oai/chat_openai.py:268</span>, in <span class="ansi-cyan-fg">ChatOpenAI._agenerate</span><span class="ansi-blue-fg">(self, messages, streaming, callbacks, **kwargs)</span>
<span class="ansi-green-intense-fg ansi-bold"> 266</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> model:
<span class="ansi-green-intense-fg ansi-bold"> 267</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>(_MODEL_REQUIRED_MSG)
<span class="ansi-green-fg">--&gt; 268</span> response <span style="color: rgb(98,98,98)">=</span> <span class="ansi-bold" style="color: rgb(0,135,0)">await</span> <span style="color: rgb(0,135,0)">self</span><span style="color: rgb(98,98,98)">.</span>async_client<span style="color: rgb(98,98,98)">.</span>chat<span style="color: rgb(98,98,98)">.</span>completions<span style="color: rgb(98,98,98)">.</span>create( <span style="color: rgb(95,135,135)"># type: ignore</span>
<span class="ansi-green-intense-fg ansi-bold"> 269</span> model<span style="color: rgb(98,98,98)">=</span>model,
<span class="ansi-green-intense-fg ansi-bold"> 270</span> messages<span style="color: rgb(98,98,98)">=</span>messages, <span style="color: rgb(95,135,135)"># type: ignore</span>
<span class="ansi-green-intense-fg ansi-bold"> 271</span> stream<span style="color: rgb(98,98,98)">=</span>streaming,
<span class="ansi-green-intense-fg ansi-bold"> 272</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"> 273</span> )
<span class="ansi-green-intense-fg ansi-bold"> 274</span> <span class="ansi-bold" style="color: rgb(0,135,0)">if</span> streaming:
<span class="ansi-green-intense-fg ansi-bold"> 275</span> full_response <span style="color: rgb(98,98,98)">=</span> <span style="color: rgb(175,0,0)">"</span><span style="color: rgb(175,0,0)">"</span>
File <span class="ansi-green-fg">~/.cache/pypoetry/virtualenvs/graphrag-F2jvqev7-py3.11/lib/python3.11/site-packages/openai/resources/chat/completions.py:1661</span>, in <span class="ansi-cyan-fg">AsyncCompletions.create</span><span class="ansi-blue-fg">(self, messages, model, audio, frequency_penalty, function_call, functions, logit_bias, logprobs, max_completion_tokens, max_tokens, metadata, modalities, n, parallel_tool_calls, prediction, presence_penalty, response_format, seed, service_tier, stop, store, stream, stream_options, temperature, tool_choice, tools, top_logprobs, top_p, user, extra_headers, extra_query, extra_body, timeout)</span>
<span class="ansi-green-intense-fg ansi-bold"> 1620</span> <span style="color: rgb(175,0,255)">@required_args</span>([<span style="color: rgb(175,0,0)">"</span><span style="color: rgb(175,0,0)">messages</span><span style="color: rgb(175,0,0)">"</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>], [<span style="color: rgb(175,0,0)">"</span><span style="color: rgb(175,0,0)">messages</span><span style="color: rgb(175,0,0)">"</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>, <span style="color: rgb(175,0,0)">"</span><span style="color: rgb(175,0,0)">stream</span><span style="color: rgb(175,0,0)">"</span>])
<span class="ansi-green-intense-fg ansi-bold"> 1621</span> <span class="ansi-bold" style="color: rgb(0,135,0)">async</span> <span class="ansi-bold" style="color: rgb(0,135,0)">def</span> <span style="color: rgb(0,0,255)">create</span>(
<span class="ansi-green-intense-fg ansi-bold"> 1622</span> <span style="color: rgb(0,135,0)">self</span>,
<span class="ansi-green-fg"> (...)</span>
<span class="ansi-green-intense-fg ansi-bold"> 1658</span> timeout: <span style="color: rgb(0,135,0)">float</span> <span style="color: rgb(98,98,98)">|</span> httpx<span style="color: rgb(98,98,98)">.</span>Timeout <span style="color: rgb(98,98,98)">|</span> <span class="ansi-bold" style="color: rgb(0,135,0)">None</span> <span style="color: rgb(98,98,98)">|</span> NotGiven <span style="color: rgb(98,98,98)">=</span> NOT_GIVEN,
<span class="ansi-green-intense-fg ansi-bold"> 1659</span> ) <span style="color: rgb(98,98,98)">-</span><span style="color: rgb(98,98,98)">&gt;</span> ChatCompletion <span style="color: rgb(98,98,98)">|</span> AsyncStream[ChatCompletionChunk]:
<span class="ansi-green-intense-fg ansi-bold"> 1660</span> validate_response_format(response_format)
<span class="ansi-green-fg">-&gt; 1661</span> <span class="ansi-bold" style="color: rgb(0,135,0)">return</span> <span class="ansi-bold" style="color: rgb(0,135,0)">await</span> <span style="color: rgb(0,135,0)">self</span><span style="color: rgb(98,98,98)">.</span>_post(
<span class="ansi-green-intense-fg ansi-bold"> 1662</span> <span style="color: rgb(175,0,0)">"</span><span style="color: rgb(175,0,0)">/chat/completions</span><span style="color: rgb(175,0,0)">"</span>,
<span class="ansi-green-intense-fg ansi-bold"> 1663</span> body<span style="color: rgb(98,98,98)">=</span><span class="ansi-bold" style="color: rgb(0,135,0)">await</span> async_maybe_transform(
<span class="ansi-green-intense-fg ansi-bold"> 1664</span> {
<span class="ansi-green-intense-fg ansi-bold"> 1665</span> <span style="color: rgb(175,0,0)">"</span><span style="color: rgb(175,0,0)">messages</span><span style="color: rgb(175,0,0)">"</span>: messages,
<span class="ansi-green-intense-fg ansi-bold"> 1666</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"> 1667</span> <span style="color: rgb(175,0,0)">"</span><span style="color: rgb(175,0,0)">audio</span><span style="color: rgb(175,0,0)">"</span>: audio,
<span class="ansi-green-intense-fg ansi-bold"> 1668</span> <span style="color: rgb(175,0,0)">"</span><span style="color: rgb(175,0,0)">frequency_penalty</span><span style="color: rgb(175,0,0)">"</span>: frequency_penalty,
<span class="ansi-green-intense-fg ansi-bold"> 1669</span> <span style="color: rgb(175,0,0)">"</span><span style="color: rgb(175,0,0)">function_call</span><span style="color: rgb(175,0,0)">"</span>: function_call,
<span class="ansi-green-intense-fg ansi-bold"> 1670</span> <span style="color: rgb(175,0,0)">"</span><span style="color: rgb(175,0,0)">functions</span><span style="color: rgb(175,0,0)">"</span>: functions,
<span class="ansi-green-intense-fg ansi-bold"> 1671</span> <span style="color: rgb(175,0,0)">"</span><span style="color: rgb(175,0,0)">logit_bias</span><span style="color: rgb(175,0,0)">"</span>: logit_bias,
<span class="ansi-green-intense-fg ansi-bold"> 1672</span> <span style="color: rgb(175,0,0)">"</span><span style="color: rgb(175,0,0)">logprobs</span><span style="color: rgb(175,0,0)">"</span>: logprobs,
<span class="ansi-green-intense-fg ansi-bold"> 1673</span> <span style="color: rgb(175,0,0)">"</span><span style="color: rgb(175,0,0)">max_completion_tokens</span><span style="color: rgb(175,0,0)">"</span>: max_completion_tokens,
<span class="ansi-green-intense-fg ansi-bold"> 1674</span> <span style="color: rgb(175,0,0)">"</span><span style="color: rgb(175,0,0)">max_tokens</span><span style="color: rgb(175,0,0)">"</span>: max_tokens,
<span class="ansi-green-intense-fg ansi-bold"> 1675</span> <span style="color: rgb(175,0,0)">"</span><span style="color: rgb(175,0,0)">metadata</span><span style="color: rgb(175,0,0)">"</span>: metadata,
<span class="ansi-green-intense-fg ansi-bold"> 1676</span> <span style="color: rgb(175,0,0)">"</span><span style="color: rgb(175,0,0)">modalities</span><span style="color: rgb(175,0,0)">"</span>: modalities,
<span class="ansi-green-intense-fg ansi-bold"> 1677</span> <span style="color: rgb(175,0,0)">"</span><span style="color: rgb(175,0,0)">n</span><span style="color: rgb(175,0,0)">"</span>: n,
<span class="ansi-green-intense-fg ansi-bold"> 1678</span> <span style="color: rgb(175,0,0)">"</span><span style="color: rgb(175,0,0)">parallel_tool_calls</span><span style="color: rgb(175,0,0)">"</span>: parallel_tool_calls,
<span class="ansi-green-intense-fg ansi-bold"> 1679</span> <span style="color: rgb(175,0,0)">"</span><span style="color: rgb(175,0,0)">prediction</span><span style="color: rgb(175,0,0)">"</span>: prediction,
<span class="ansi-green-intense-fg ansi-bold"> 1680</span> <span style="color: rgb(175,0,0)">"</span><span style="color: rgb(175,0,0)">presence_penalty</span><span style="color: rgb(175,0,0)">"</span>: presence_penalty,
<span class="ansi-green-intense-fg ansi-bold"> 1681</span> <span style="color: rgb(175,0,0)">"</span><span style="color: rgb(175,0,0)">response_format</span><span style="color: rgb(175,0,0)">"</span>: response_format,
<span class="ansi-green-intense-fg ansi-bold"> 1682</span> <span style="color: rgb(175,0,0)">"</span><span style="color: rgb(175,0,0)">seed</span><span style="color: rgb(175,0,0)">"</span>: seed,
<span class="ansi-green-intense-fg ansi-bold"> 1683</span> <span style="color: rgb(175,0,0)">"</span><span style="color: rgb(175,0,0)">service_tier</span><span style="color: rgb(175,0,0)">"</span>: service_tier,
<span class="ansi-green-intense-fg ansi-bold"> 1684</span> <span style="color: rgb(175,0,0)">"</span><span style="color: rgb(175,0,0)">stop</span><span style="color: rgb(175,0,0)">"</span>: stop,
<span class="ansi-green-intense-fg ansi-bold"> 1685</span> <span style="color: rgb(175,0,0)">"</span><span style="color: rgb(175,0,0)">store</span><span style="color: rgb(175,0,0)">"</span>: store,
<span class="ansi-green-intense-fg ansi-bold"> 1686</span> <span style="color: rgb(175,0,0)">"</span><span style="color: rgb(175,0,0)">stream</span><span style="color: rgb(175,0,0)">"</span>: stream,
<span class="ansi-green-intense-fg ansi-bold"> 1687</span> <span style="color: rgb(175,0,0)">"</span><span style="color: rgb(175,0,0)">stream_options</span><span style="color: rgb(175,0,0)">"</span>: stream_options,
<span class="ansi-green-intense-fg ansi-bold"> 1688</span> <span style="color: rgb(175,0,0)">"</span><span style="color: rgb(175,0,0)">temperature</span><span style="color: rgb(175,0,0)">"</span>: temperature,
<span class="ansi-green-intense-fg ansi-bold"> 1689</span> <span style="color: rgb(175,0,0)">"</span><span style="color: rgb(175,0,0)">tool_choice</span><span style="color: rgb(175,0,0)">"</span>: tool_choice,
<span class="ansi-green-intense-fg ansi-bold"> 1690</span> <span style="color: rgb(175,0,0)">"</span><span style="color: rgb(175,0,0)">tools</span><span style="color: rgb(175,0,0)">"</span>: tools,
<span class="ansi-green-intense-fg ansi-bold"> 1691</span> <span style="color: rgb(175,0,0)">"</span><span style="color: rgb(175,0,0)">top_logprobs</span><span style="color: rgb(175,0,0)">"</span>: top_logprobs,
<span class="ansi-green-intense-fg ansi-bold"> 1692</span> <span style="color: rgb(175,0,0)">"</span><span style="color: rgb(175,0,0)">top_p</span><span style="color: rgb(175,0,0)">"</span>: top_p,
<span class="ansi-green-intense-fg ansi-bold"> 1693</span> <span style="color: rgb(175,0,0)">"</span><span style="color: rgb(175,0,0)">user</span><span style="color: rgb(175,0,0)">"</span>: user,
<span class="ansi-green-intense-fg ansi-bold"> 1694</span> },
<span class="ansi-green-intense-fg ansi-bold"> 1695</span> completion_create_params<span style="color: rgb(98,98,98)">.</span>CompletionCreateParams,
<span class="ansi-green-intense-fg ansi-bold"> 1696</span> ),
<span class="ansi-green-intense-fg ansi-bold"> 1697</span> options<span style="color: rgb(98,98,98)">=</span>make_request_options(
<span class="ansi-green-intense-fg ansi-bold"> 1698</span> extra_headers<span style="color: rgb(98,98,98)">=</span>extra_headers, extra_query<span style="color: rgb(98,98,98)">=</span>extra_query, extra_body<span style="color: rgb(98,98,98)">=</span>extra_body, timeout<span style="color: rgb(98,98,98)">=</span>timeout
<span class="ansi-green-intense-fg ansi-bold"> 1699</span> ),
<span class="ansi-green-intense-fg ansi-bold"> 1700</span> cast_to<span style="color: rgb(98,98,98)">=</span>ChatCompletion,
<span class="ansi-green-intense-fg ansi-bold"> 1701</span> stream<span style="color: rgb(98,98,98)">=</span>stream <span class="ansi-bold" style="color: rgb(175,0,255)">or</span> <span class="ansi-bold" style="color: rgb(0,135,0)">False</span>,
<span class="ansi-green-intense-fg ansi-bold"> 1702</span> stream_cls<span style="color: rgb(98,98,98)">=</span>AsyncStream[ChatCompletionChunk],
<span class="ansi-green-intense-fg ansi-bold"> 1703</span> )
File <span class="ansi-green-fg">~/.cache/pypoetry/virtualenvs/graphrag-F2jvqev7-py3.11/lib/python3.11/site-packages/openai/_base_client.py:1843</span>, in <span class="ansi-cyan-fg">AsyncAPIClient.post</span><span class="ansi-blue-fg">(self, path, cast_to, body, files, options, stream, stream_cls)</span>
<span class="ansi-green-intense-fg ansi-bold"> 1829</span> <span class="ansi-bold" style="color: rgb(0,135,0)">async</span> <span class="ansi-bold" style="color: rgb(0,135,0)">def</span> <span style="color: rgb(0,0,255)">post</span>(
<span class="ansi-green-intense-fg ansi-bold"> 1830</span> <span style="color: rgb(0,135,0)">self</span>,
<span class="ansi-green-intense-fg ansi-bold"> 1831</span> path: <span style="color: rgb(0,135,0)">str</span>,
<span class="ansi-green-fg"> (...)</span>
<span class="ansi-green-intense-fg ansi-bold"> 1838</span> stream_cls: <span style="color: rgb(0,135,0)">type</span>[_AsyncStreamT] <span style="color: rgb(98,98,98)">|</span> <span class="ansi-bold" style="color: rgb(0,135,0)">None</span> <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"> 1839</span> ) <span style="color: rgb(98,98,98)">-</span><span style="color: rgb(98,98,98)">&gt;</span> ResponseT <span style="color: rgb(98,98,98)">|</span> _AsyncStreamT:
<span class="ansi-green-intense-fg ansi-bold"> 1840</span> opts <span style="color: rgb(98,98,98)">=</span> FinalRequestOptions<span style="color: rgb(98,98,98)">.</span>construct(
<span class="ansi-green-intense-fg ansi-bold"> 1841</span> method<span style="color: rgb(98,98,98)">=</span><span style="color: rgb(175,0,0)">"</span><span style="color: rgb(175,0,0)">post</span><span style="color: rgb(175,0,0)">"</span>, url<span style="color: rgb(98,98,98)">=</span>path, json_data<span style="color: rgb(98,98,98)">=</span>body, files<span style="color: rgb(98,98,98)">=</span><span class="ansi-bold" style="color: rgb(0,135,0)">await</span> async_to_httpx_files(files), <span style="color: rgb(98,98,98)">*</span><span style="color: rgb(98,98,98)">*</span>options
<span class="ansi-green-intense-fg ansi-bold"> 1842</span> )
<span class="ansi-green-fg">-&gt; 1843</span> <span class="ansi-bold" style="color: rgb(0,135,0)">return</span> <span class="ansi-bold" style="color: rgb(0,135,0)">await</span> <span style="color: rgb(0,135,0)">self</span><span style="color: rgb(98,98,98)">.</span>request(cast_to, opts, stream<span style="color: rgb(98,98,98)">=</span>stream, stream_cls<span style="color: rgb(98,98,98)">=</span>stream_cls)
File <span class="ansi-green-fg">~/.cache/pypoetry/virtualenvs/graphrag-F2jvqev7-py3.11/lib/python3.11/site-packages/openai/_base_client.py:1537</span>, in <span class="ansi-cyan-fg">AsyncAPIClient.request</span><span class="ansi-blue-fg">(self, cast_to, options, stream, stream_cls, remaining_retries)</span>
<span class="ansi-green-intense-fg ansi-bold"> 1534</span> <span class="ansi-bold" style="color: rgb(0,135,0)">else</span>:
<span class="ansi-green-intense-fg ansi-bold"> 1535</span> retries_taken <span style="color: rgb(98,98,98)">=</span> <span style="color: rgb(98,98,98)">0</span>
<span class="ansi-green-fg">-&gt; 1537</span> <span class="ansi-bold" style="color: rgb(0,135,0)">return</span> <span class="ansi-bold" style="color: rgb(0,135,0)">await</span> <span style="color: rgb(0,135,0)">self</span><span style="color: rgb(98,98,98)">.</span>_request(
<span class="ansi-green-intense-fg ansi-bold"> 1538</span> cast_to<span style="color: rgb(98,98,98)">=</span>cast_to,
<span class="ansi-green-intense-fg ansi-bold"> 1539</span> options<span style="color: rgb(98,98,98)">=</span>options,
<span class="ansi-green-intense-fg ansi-bold"> 1540</span> stream<span style="color: rgb(98,98,98)">=</span>stream,
<span class="ansi-green-intense-fg ansi-bold"> 1541</span> stream_cls<span style="color: rgb(98,98,98)">=</span>stream_cls,
<span class="ansi-green-intense-fg ansi-bold"> 1542</span> retries_taken<span style="color: rgb(98,98,98)">=</span>retries_taken,
<span class="ansi-green-intense-fg ansi-bold"> 1543</span> )
File <span class="ansi-green-fg">~/.cache/pypoetry/virtualenvs/graphrag-F2jvqev7-py3.11/lib/python3.11/site-packages/openai/_base_client.py:1623</span>, in <span class="ansi-cyan-fg">AsyncAPIClient._request</span><span class="ansi-blue-fg">(self, cast_to, options, stream, stream_cls, retries_taken)</span>
<span class="ansi-green-intense-fg ansi-bold"> 1621</span> <span class="ansi-bold" style="color: rgb(0,135,0)">if</span> remaining_retries <span style="color: rgb(98,98,98)">&gt;</span> <span style="color: rgb(98,98,98)">0</span> <span class="ansi-bold" style="color: rgb(175,0,255)">and</span> <span style="color: rgb(0,135,0)">self</span><span style="color: rgb(98,98,98)">.</span>_should_retry(err<span style="color: rgb(98,98,98)">.</span>response):
<span class="ansi-green-intense-fg ansi-bold"> 1622</span> <span class="ansi-bold" style="color: rgb(0,135,0)">await</span> err<span style="color: rgb(98,98,98)">.</span>response<span style="color: rgb(98,98,98)">.</span>aclose()
<span class="ansi-green-fg">-&gt; 1623</span> <span class="ansi-bold" style="color: rgb(0,135,0)">return</span> <span class="ansi-bold" style="color: rgb(0,135,0)">await</span> <span style="color: rgb(0,135,0)">self</span><span style="color: rgb(98,98,98)">.</span>_retry_request(
<span class="ansi-green-intense-fg ansi-bold"> 1624</span> input_options,
<span class="ansi-green-intense-fg ansi-bold"> 1625</span> cast_to,
<span class="ansi-green-intense-fg ansi-bold"> 1626</span> retries_taken<span style="color: rgb(98,98,98)">=</span>retries_taken,
<span class="ansi-green-intense-fg ansi-bold"> 1627</span> response_headers<span style="color: rgb(98,98,98)">=</span>err<span style="color: rgb(98,98,98)">.</span>response<span style="color: rgb(98,98,98)">.</span>headers,
<span class="ansi-green-intense-fg ansi-bold"> 1628</span> stream<span style="color: rgb(98,98,98)">=</span>stream,
<span class="ansi-green-intense-fg ansi-bold"> 1629</span> stream_cls<span style="color: rgb(98,98,98)">=</span>stream_cls,
<span class="ansi-green-intense-fg ansi-bold"> 1630</span> )
<span class="ansi-green-intense-fg ansi-bold"> 1632</span> <span style="color: rgb(95,135,135)"># If the response is streamed then we need to explicitly read the response</span>
<span class="ansi-green-intense-fg ansi-bold"> 1633</span> <span style="color: rgb(95,135,135)"># to completion before attempting to access the response text.</span>
<span class="ansi-green-intense-fg ansi-bold"> 1634</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> err<span style="color: rgb(98,98,98)">.</span>response<span style="color: rgb(98,98,98)">.</span>is_closed:
File <span class="ansi-green-fg">~/.cache/pypoetry/virtualenvs/graphrag-F2jvqev7-py3.11/lib/python3.11/site-packages/openai/_base_client.py:1670</span>, in <span class="ansi-cyan-fg">AsyncAPIClient._retry_request</span><span class="ansi-blue-fg">(self, options, cast_to, retries_taken, response_headers, stream, stream_cls)</span>
<span class="ansi-green-intense-fg ansi-bold"> 1666</span> log<span style="color: rgb(98,98,98)">.</span>info(<span style="color: rgb(175,0,0)">"</span><span style="color: rgb(175,0,0)">Retrying request to </span><span class="ansi-bold" style="color: rgb(175,95,135)">%s</span><span style="color: rgb(175,0,0)"> in </span><span class="ansi-bold" style="color: rgb(175,95,135)">%f</span><span style="color: rgb(175,0,0)"> seconds</span><span style="color: rgb(175,0,0)">"</span>, options<span style="color: rgb(98,98,98)">.</span>url, timeout)
<span class="ansi-green-intense-fg ansi-bold"> 1668</span> <span class="ansi-bold" style="color: rgb(0,135,0)">await</span> anyio<span style="color: rgb(98,98,98)">.</span>sleep(timeout)
<span class="ansi-green-fg">-&gt; 1670</span> <span class="ansi-bold" style="color: rgb(0,135,0)">return</span> <span class="ansi-bold" style="color: rgb(0,135,0)">await</span> <span style="color: rgb(0,135,0)">self</span><span style="color: rgb(98,98,98)">.</span>_request(
<span class="ansi-green-intense-fg ansi-bold"> 1671</span> options<span style="color: rgb(98,98,98)">=</span>options,
<span class="ansi-green-intense-fg ansi-bold"> 1672</span> cast_to<span style="color: rgb(98,98,98)">=</span>cast_to,
<span class="ansi-green-intense-fg ansi-bold"> 1673</span> retries_taken<span style="color: rgb(98,98,98)">=</span>retries_taken <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"> 1674</span> stream<span style="color: rgb(98,98,98)">=</span>stream,
<span class="ansi-green-intense-fg ansi-bold"> 1675</span> stream_cls<span style="color: rgb(98,98,98)">=</span>stream_cls,
<span class="ansi-green-intense-fg ansi-bold"> 1676</span> )
File <span class="ansi-green-fg">~/.cache/pypoetry/virtualenvs/graphrag-F2jvqev7-py3.11/lib/python3.11/site-packages/openai/_base_client.py:1623</span>, in <span class="ansi-cyan-fg">AsyncAPIClient._request</span><span class="ansi-blue-fg">(self, cast_to, options, stream, stream_cls, retries_taken)</span>
<span class="ansi-green-intense-fg ansi-bold"> 1621</span> <span class="ansi-bold" style="color: rgb(0,135,0)">if</span> remaining_retries <span style="color: rgb(98,98,98)">&gt;</span> <span style="color: rgb(98,98,98)">0</span> <span class="ansi-bold" style="color: rgb(175,0,255)">and</span> <span style="color: rgb(0,135,0)">self</span><span style="color: rgb(98,98,98)">.</span>_should_retry(err<span style="color: rgb(98,98,98)">.</span>response):
<span class="ansi-green-intense-fg ansi-bold"> 1622</span> <span class="ansi-bold" style="color: rgb(0,135,0)">await</span> err<span style="color: rgb(98,98,98)">.</span>response<span style="color: rgb(98,98,98)">.</span>aclose()
<span class="ansi-green-fg">-&gt; 1623</span> <span class="ansi-bold" style="color: rgb(0,135,0)">return</span> <span class="ansi-bold" style="color: rgb(0,135,0)">await</span> <span style="color: rgb(0,135,0)">self</span><span style="color: rgb(98,98,98)">.</span>_retry_request(
<span class="ansi-green-intense-fg ansi-bold"> 1624</span> input_options,
<span class="ansi-green-intense-fg ansi-bold"> 1625</span> cast_to,
<span class="ansi-green-intense-fg ansi-bold"> 1626</span> retries_taken<span style="color: rgb(98,98,98)">=</span>retries_taken,
<span class="ansi-green-intense-fg ansi-bold"> 1627</span> response_headers<span style="color: rgb(98,98,98)">=</span>err<span style="color: rgb(98,98,98)">.</span>response<span style="color: rgb(98,98,98)">.</span>headers,
<span class="ansi-green-intense-fg ansi-bold"> 1628</span> stream<span style="color: rgb(98,98,98)">=</span>stream,
<span class="ansi-green-intense-fg ansi-bold"> 1629</span> stream_cls<span style="color: rgb(98,98,98)">=</span>stream_cls,
<span class="ansi-green-intense-fg ansi-bold"> 1630</span> )
<span class="ansi-green-intense-fg ansi-bold"> 1632</span> <span style="color: rgb(95,135,135)"># If the response is streamed then we need to explicitly read the response</span>
<span class="ansi-green-intense-fg ansi-bold"> 1633</span> <span style="color: rgb(95,135,135)"># to completion before attempting to access the response text.</span>
<span class="ansi-green-intense-fg ansi-bold"> 1634</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> err<span style="color: rgb(98,98,98)">.</span>response<span style="color: rgb(98,98,98)">.</span>is_closed:
File <span class="ansi-green-fg">~/.cache/pypoetry/virtualenvs/graphrag-F2jvqev7-py3.11/lib/python3.11/site-packages/openai/_base_client.py:1670</span>, in <span class="ansi-cyan-fg">AsyncAPIClient._retry_request</span><span class="ansi-blue-fg">(self, options, cast_to, retries_taken, response_headers, stream, stream_cls)</span>
<span class="ansi-green-intense-fg ansi-bold"> 1666</span> log<span style="color: rgb(98,98,98)">.</span>info(<span style="color: rgb(175,0,0)">"</span><span style="color: rgb(175,0,0)">Retrying request to </span><span class="ansi-bold" style="color: rgb(175,95,135)">%s</span><span style="color: rgb(175,0,0)"> in </span><span class="ansi-bold" style="color: rgb(175,95,135)">%f</span><span style="color: rgb(175,0,0)"> seconds</span><span style="color: rgb(175,0,0)">"</span>, options<span style="color: rgb(98,98,98)">.</span>url, timeout)
<span class="ansi-green-intense-fg ansi-bold"> 1668</span> <span class="ansi-bold" style="color: rgb(0,135,0)">await</span> anyio<span style="color: rgb(98,98,98)">.</span>sleep(timeout)
<span class="ansi-green-fg">-&gt; 1670</span> <span class="ansi-bold" style="color: rgb(0,135,0)">return</span> <span class="ansi-bold" style="color: rgb(0,135,0)">await</span> <span style="color: rgb(0,135,0)">self</span><span style="color: rgb(98,98,98)">.</span>_request(
<span class="ansi-green-intense-fg ansi-bold"> 1671</span> options<span style="color: rgb(98,98,98)">=</span>options,
<span class="ansi-green-intense-fg ansi-bold"> 1672</span> cast_to<span style="color: rgb(98,98,98)">=</span>cast_to,
<span class="ansi-green-intense-fg ansi-bold"> 1673</span> retries_taken<span style="color: rgb(98,98,98)">=</span>retries_taken <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"> 1674</span> stream<span style="color: rgb(98,98,98)">=</span>stream,
<span class="ansi-green-intense-fg ansi-bold"> 1675</span> stream_cls<span style="color: rgb(98,98,98)">=</span>stream_cls,
<span class="ansi-green-intense-fg ansi-bold"> 1676</span> )
<span class="ansi-red-fg">[... skipping similar frames: AsyncAPIClient._request at line 1623 (17 times), AsyncAPIClient._retry_request at line 1670 (17 times)]</span>
File <span class="ansi-green-fg">~/.cache/pypoetry/virtualenvs/graphrag-F2jvqev7-py3.11/lib/python3.11/site-packages/openai/_base_client.py:1623</span>, in <span class="ansi-cyan-fg">AsyncAPIClient._request</span><span class="ansi-blue-fg">(self, cast_to, options, stream, stream_cls, retries_taken)</span>
<span class="ansi-green-intense-fg ansi-bold"> 1621</span> <span class="ansi-bold" style="color: rgb(0,135,0)">if</span> remaining_retries <span style="color: rgb(98,98,98)">&gt;</span> <span style="color: rgb(98,98,98)">0</span> <span class="ansi-bold" style="color: rgb(175,0,255)">and</span> <span style="color: rgb(0,135,0)">self</span><span style="color: rgb(98,98,98)">.</span>_should_retry(err<span style="color: rgb(98,98,98)">.</span>response):
<span class="ansi-green-intense-fg ansi-bold"> 1622</span> <span class="ansi-bold" style="color: rgb(0,135,0)">await</span> err<span style="color: rgb(98,98,98)">.</span>response<span style="color: rgb(98,98,98)">.</span>aclose()
<span class="ansi-green-fg">-&gt; 1623</span> <span class="ansi-bold" style="color: rgb(0,135,0)">return</span> <span class="ansi-bold" style="color: rgb(0,135,0)">await</span> <span style="color: rgb(0,135,0)">self</span><span style="color: rgb(98,98,98)">.</span>_retry_request(
<span class="ansi-green-intense-fg ansi-bold"> 1624</span> input_options,
<span class="ansi-green-intense-fg ansi-bold"> 1625</span> cast_to,
<span class="ansi-green-intense-fg ansi-bold"> 1626</span> retries_taken<span style="color: rgb(98,98,98)">=</span>retries_taken,
<span class="ansi-green-intense-fg ansi-bold"> 1627</span> response_headers<span style="color: rgb(98,98,98)">=</span>err<span style="color: rgb(98,98,98)">.</span>response<span style="color: rgb(98,98,98)">.</span>headers,
<span class="ansi-green-intense-fg ansi-bold"> 1628</span> stream<span style="color: rgb(98,98,98)">=</span>stream,
<span class="ansi-green-intense-fg ansi-bold"> 1629</span> stream_cls<span style="color: rgb(98,98,98)">=</span>stream_cls,
<span class="ansi-green-intense-fg ansi-bold"> 1630</span> )
<span class="ansi-green-intense-fg ansi-bold"> 1632</span> <span style="color: rgb(95,135,135)"># If the response is streamed then we need to explicitly read the response</span>
<span class="ansi-green-intense-fg ansi-bold"> 1633</span> <span style="color: rgb(95,135,135)"># to completion before attempting to access the response text.</span>
<span class="ansi-green-intense-fg ansi-bold"> 1634</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> err<span style="color: rgb(98,98,98)">.</span>response<span style="color: rgb(98,98,98)">.</span>is_closed:
File <span class="ansi-green-fg">~/.cache/pypoetry/virtualenvs/graphrag-F2jvqev7-py3.11/lib/python3.11/site-packages/openai/_base_client.py:1670</span>, in <span class="ansi-cyan-fg">AsyncAPIClient._retry_request</span><span class="ansi-blue-fg">(self, options, cast_to, retries_taken, response_headers, stream, stream_cls)</span>
<span class="ansi-green-intense-fg ansi-bold"> 1666</span> log<span style="color: rgb(98,98,98)">.</span>info(<span style="color: rgb(175,0,0)">"</span><span style="color: rgb(175,0,0)">Retrying request to </span><span class="ansi-bold" style="color: rgb(175,95,135)">%s</span><span style="color: rgb(175,0,0)"> in </span><span class="ansi-bold" style="color: rgb(175,95,135)">%f</span><span style="color: rgb(175,0,0)"> seconds</span><span style="color: rgb(175,0,0)">"</span>, options<span style="color: rgb(98,98,98)">.</span>url, timeout)
<span class="ansi-green-intense-fg ansi-bold"> 1668</span> <span class="ansi-bold" style="color: rgb(0,135,0)">await</span> anyio<span style="color: rgb(98,98,98)">.</span>sleep(timeout)
<span class="ansi-green-fg">-&gt; 1670</span> <span class="ansi-bold" style="color: rgb(0,135,0)">return</span> <span class="ansi-bold" style="color: rgb(0,135,0)">await</span> <span style="color: rgb(0,135,0)">self</span><span style="color: rgb(98,98,98)">.</span>_request(
<span class="ansi-green-intense-fg ansi-bold"> 1671</span> options<span style="color: rgb(98,98,98)">=</span>options,
<span class="ansi-green-intense-fg ansi-bold"> 1672</span> cast_to<span style="color: rgb(98,98,98)">=</span>cast_to,
<span class="ansi-green-intense-fg ansi-bold"> 1673</span> retries_taken<span style="color: rgb(98,98,98)">=</span>retries_taken <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"> 1674</span> stream<span style="color: rgb(98,98,98)">=</span>stream,
<span class="ansi-green-intense-fg ansi-bold"> 1675</span> stream_cls<span style="color: rgb(98,98,98)">=</span>stream_cls,
<span class="ansi-green-intense-fg ansi-bold"> 1676</span> )
File <span class="ansi-green-fg">~/.cache/pypoetry/virtualenvs/graphrag-F2jvqev7-py3.11/lib/python3.11/site-packages/openai/_base_client.py:1638</span>, in <span class="ansi-cyan-fg">AsyncAPIClient._request</span><span class="ansi-blue-fg">(self, cast_to, options, stream, stream_cls, retries_taken)</span>
<span class="ansi-green-intense-fg ansi-bold"> 1635</span> <span class="ansi-bold" style="color: rgb(0,135,0)">await</span> err<span style="color: rgb(98,98,98)">.</span>response<span style="color: rgb(98,98,98)">.</span>aread()
<span class="ansi-green-intense-fg ansi-bold"> 1637</span> log<span style="color: rgb(98,98,98)">.</span>debug(<span style="color: rgb(175,0,0)">"</span><span style="color: rgb(175,0,0)">Re-raising status error</span><span style="color: rgb(175,0,0)">"</span>)
<span class="ansi-green-fg">-&gt; 1638</span> <span class="ansi-bold" style="color: rgb(0,135,0)">raise</span> <span style="color: rgb(0,135,0)">self</span><span style="color: rgb(98,98,98)">.</span>_make_status_error_from_response(err<span style="color: rgb(98,98,98)">.</span>response) <span class="ansi-bold" style="color: rgb(0,135,0)">from</span> <span class="ansi-bold" style="color: rgb(0,135,0)">None</span>
<span class="ansi-green-intense-fg ansi-bold"> 1640</span> <span class="ansi-bold" style="color: rgb(0,135,0)">return</span> <span class="ansi-bold" style="color: rgb(0,135,0)">await</span> <span style="color: rgb(0,135,0)">self</span><span style="color: rgb(98,98,98)">.</span>_process_response(
<span class="ansi-green-intense-fg ansi-bold"> 1641</span> cast_to<span style="color: rgb(98,98,98)">=</span>cast_to,
<span class="ansi-green-intense-fg ansi-bold"> 1642</span> options<span style="color: rgb(98,98,98)">=</span>options,
<span class="ansi-green-fg"> (...)</span>
<span class="ansi-green-intense-fg ansi-bold"> 1646</span> retries_taken<span style="color: rgb(98,98,98)">=</span>retries_taken,
<span class="ansi-green-intense-fg ansi-bold"> 1647</span> )
<span class="ansi-red-fg">RateLimitError</span>: Error code: 429 - {'error': {'message': 'You exceeded your current quota, please check your plan and billing details. For more information on this error, read the docs: https://platform.openai.com/docs/guides/error-codes/api-errors.', 'type': 'insufficient_quota', 'param': None, 'code': 'insufficient_quota'}}</pre>
<span class="ansi-red-fg">NameError</span>: name 'search_engine' is not defined</pre>
</div>
</div>
</div>

File diff suppressed because one or more lines are too long

View File

@ -2168,9 +2168,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="nn">graphrag.query.input.loaders.dfs</span> <span class="kn">import</span> <span class="p">(</span>
<span class="n">store_entity_semantic_embeddings</span><span class="p">,</span>
<span class="p">)</span>
<span class="kn">from</span> <span class="nn">graphrag.query.llm.oai.chat_openai</span> <span class="kn">import</span> <span class="n">ChatOpenAI</span>
<span class="kn">from</span> <span class="nn">graphrag.query.llm.oai.embedding</span> <span class="kn">import</span> <span class="n">OpenAIEmbedding</span>
<span class="kn">from</span> <span class="nn">graphrag.query.llm.oai.typing</span> <span class="kn">import</span> <span class="n">OpenaiApiType</span>
@ -2194,9 +2191,6 @@ from graphrag.query.indexer_adapters import (
read_indexer_reports,
read_indexer_text_units,
)
from graphrag.query.input.loaders.dfs import (
store_entity_semantic_embeddings,
)
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
@ -2333,9 +2327,6 @@ COMMUNITY_LEVEL = 2</div>
<span class="n">collection_name</span><span class="o">=</span><span class="s2">"default-entity-description"</span><span class="p">,</span>
<span class="p">)</span>
<span class="n">description_embedding_store</span><span class="o">.</span><span class="n">connect</span><span class="p">(</span><span class="n">db_uri</span><span class="o">=</span><span class="n">LANCEDB_URI</span><span class="p">)</span>
<span class="n">entity_description_embeddings</span> <span class="o">=</span> <span class="n">store_entity_semantic_embeddings</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">vectorstore</span><span class="o">=</span><span class="n">description_embedding_store</span>
<span class="p">)</span>
<span class="nb">print</span><span class="p">(</span><span class="sa">f</span><span class="s2">"Entity count: </span><span class="si">{</span><span class="nb">len</span><span class="p">(</span><span class="n">entity_df</span><span class="p">)</span><span class="si">}</span><span class="s2">"</span><span class="p">)</span>
<span class="n">entity_df</span><span class="o">.</span><span class="n">head</span><span class="p">()</span>
@ -2352,9 +2343,6 @@ description_embedding_store = LanceDBVectorStore(
collection_name="default-entity-description",
)
description_embedding_store.connect(db_uri=LANCEDB_URI)
entity_description_embeddings = store_entity_semantic_embeddings(
entities=entities, vectorstore=description_embedding_store
)
print(f"Entity count: {len(entity_df)}")
entity_df.head()</div>
@ -2368,137 +2356,70 @@ entity_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="text/plain" tabindex="0">
<pre>Entity count: 178
</pre>
</div>
</div>
<div class="jp-OutputArea-child jp-OutputArea-executeResult">
<div class="jp-OutputPrompt jp-OutputArea-prompt">Out[4]:</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;
}
<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">ValueError</span> Traceback (most recent call last)
Cell <span class="ansi-green-fg">In[4], line 5</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> entity_embedding_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_EMBEDDING_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-fg">----&gt; 5</span> entities <span style="color: rgb(98,98,98)">=</span> <span class="ansi-yellow-bg">read_indexer_entities</span><span class="ansi-yellow-bg">(</span><span class="ansi-yellow-bg">entity_df</span><span class="ansi-yellow-bg">,</span><span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">entity_embedding_df</span><span class="ansi-yellow-bg">,</span><span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">COMMUNITY_LEVEL</span><span class="ansi-yellow-bg">)</span>
<span class="ansi-green-intense-fg ansi-bold"> 7</span> <span style="color: rgb(95,135,135)"># load description embeddings to an in-memory lancedb vectorstore</span>
<span class="ansi-green-intense-fg ansi-bold"> 8</span> <span style="color: rgb(95,135,135)"># to connect to a remote db, specify url and port values.</span>
<span class="ansi-green-intense-fg ansi-bold"> 9</span> description_embedding_store <span style="color: rgb(98,98,98)">=</span> LanceDBVectorStore(
<span class="ansi-green-intense-fg ansi-bold"> 10</span> collection_name<span style="color: rgb(98,98,98)">=</span><span style="color: rgb(175,0,0)">"</span><span style="color: rgb(175,0,0)">default-entity-description</span><span style="color: rgb(175,0,0)">"</span>,
<span class="ansi-green-intense-fg ansi-bold"> 11</span> )
.dataframe tbody tr th {
vertical-align: top;
}
File <span class="ansi-green-fg">~/work/graphrag/graphrag/graphrag/query/indexer_adapters.py:154</span>, in <span class="ansi-cyan-fg">read_indexer_entities</span><span class="ansi-blue-fg">(final_nodes, final_entities, community_level)</span>
<span class="ansi-green-intense-fg ansi-bold"> 149</span> final_df <span style="color: rgb(98,98,98)">=</span> nodes_df<span style="color: rgb(98,98,98)">.</span>merge(entities_df, on<span style="color: rgb(98,98,98)">=</span><span style="color: rgb(175,0,0)">"</span><span style="color: rgb(175,0,0)">id</span><span style="color: rgb(175,0,0)">"</span>, how<span style="color: rgb(98,98,98)">=</span><span style="color: rgb(175,0,0)">"</span><span style="color: rgb(175,0,0)">inner</span><span style="color: rgb(175,0,0)">"</span>)<span style="color: rgb(98,98,98)">.</span>drop_duplicates(
<span class="ansi-green-intense-fg ansi-bold"> 150</span> subset<span style="color: rgb(98,98,98)">=</span>[<span style="color: rgb(175,0,0)">"</span><span style="color: rgb(175,0,0)">id</span><span style="color: rgb(175,0,0)">"</span>]
<span class="ansi-green-intense-fg ansi-bold"> 151</span> )
<span class="ansi-green-intense-fg ansi-bold"> 153</span> <span style="color: rgb(95,135,135)"># read entity dataframe to knowledge model objects</span>
<span class="ansi-green-fg">--&gt; 154</span> <span class="ansi-bold" style="color: rgb(0,135,0)">return</span> <span class="ansi-yellow-bg">read_entities</span><span class="ansi-yellow-bg">(</span>
<span class="ansi-green-intense-fg ansi-bold"> 155</span> <span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">df</span><span class="ansi-yellow-bg" style="color: rgb(98,98,98)">=</span><span class="ansi-yellow-bg">final_df</span><span class="ansi-yellow-bg">,</span>
<span class="ansi-green-intense-fg ansi-bold"> 156</span> <span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">id_col</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)">id</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"> 157</span> <span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">title_col</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)">title</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"> 158</span> <span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">type_col</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)">type</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"> 159</span> <span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">short_id_col</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)">human_readable_id</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"> 160</span> <span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">description_col</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)">description</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"> 161</span> <span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">community_col</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)">community</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"> 162</span> <span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">rank_col</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)">degree</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"> 163</span> <span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">name_embedding_col</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)">None</span><span class="ansi-yellow-bg">,</span>
<span class="ansi-green-intense-fg ansi-bold"> 164</span> <span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">description_embedding_col</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)">description_embedding</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"> 165</span> <span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">text_unit_ids_col</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)">text_unit_ids</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"> 166</span> <span class="ansi-yellow-bg">)</span>
.dataframe thead th {
text-align: right;
}
</style>
<table border="1" class="dataframe">
<thead>
<tr style="text-align: right;">
<th></th>
<th>level</th>
<th>title</th>
<th>type</th>
<th>description</th>
<th>source_id</th>
<th>community</th>
<th>degree</th>
<th>human_readable_id</th>
<th>id</th>
<th>size</th>
<th>graph_embedding</th>
<th>top_level_node_id</th>
<th>x</th>
<th>y</th>
</tr>
</thead>
<tbody>
<tr>
<th>0</th>
<td>0</td>
<td>ALEX MERCER</td>
<td>PERSON</td>
<td>Alex Mercer is a commanding and strategic figu...</td>
<td>06bdff339c02ab35c80fa49320d5da66,1f2c6c263f168...</td>
<td>3</td>
<td>57</td>
<td>0</td>
<td>b45241d70f0e43fca764df95b2b81f77</td>
<td>57</td>
<td>None</td>
<td>b45241d70f0e43fca764df95b2b81f77</td>
<td>0</td>
<td>0</td>
</tr>
<tr>
<th>1</th>
<td>0</td>
<td>TAYLOR CRUZ</td>
<td>PERSON</td>
<td>Taylor Cruz is a central and commanding figure...</td>
<td>06bdff339c02ab35c80fa49320d5da66,1f2c6c263f168...</td>
<td>3</td>
<td>52</td>
<td>1</td>
<td>4119fd06010c494caa07f439b333f4c5</td>
<td>52</td>
<td>None</td>
<td>4119fd06010c494caa07f439b333f4c5</td>
<td>0</td>
<td>0</td>
</tr>
<tr>
<th>2</th>
<td>0</td>
<td>JORDAN HAYES</td>
<td>PERSON</td>
<td>Dr. Jordan Hayes is a central figure at Dulce ...</td>
<td>06bdff339c02ab35c80fa49320d5da66,1f2c6c263f168...</td>
<td>3</td>
<td>48</td>
<td>2</td>
<td>d3835bf3dda84ead99deadbeac5d0d7d</td>
<td>48</td>
<td>None</td>
<td>d3835bf3dda84ead99deadbeac5d0d7d</td>
<td>0</td>
<td>0</td>
</tr>
<tr>
<th>3</th>
<td>0</td>
<td>SAM RIVERA</td>
<td>PERSON</td>
<td>Sam Rivera is a key operator and technologist ...</td>
<td>06bdff339c02ab35c80fa49320d5da66,1b603cdb97651...</td>
<td>3</td>
<td>48</td>
<td>3</td>
<td>077d2820ae1845bcbb1803379a3d1eae</td>
<td>48</td>
<td>None</td>
<td>077d2820ae1845bcbb1803379a3d1eae</td>
<td>0</td>
<td>0</td>
</tr>
<tr>
<th>4</th>
<td>0</td>
<td>PARANORMAL MILITARY SQUAD</td>
<td>ORGANIZATION</td>
<td>The Paranormal Military Squad is a specialized...</td>
<td>06bdff339c02ab35c80fa49320d5da66,2db9206de77cf...</td>
<td>3</td>
<td>48</td>
<td>4</td>
<td>3671ea0dd4e84c1a9b02c5ab2c8f4bac</td>
<td>48</td>
<td>None</td>
<td>3671ea0dd4e84c1a9b02c5ab2c8f4bac</td>
<td>0</td>
<td>0</td>
</tr>
</tbody>
</table>
</div>
File <span class="ansi-green-fg">~/work/graphrag/graphrag/graphrag/query/input/loaders/dfs.py:44</span>, in <span class="ansi-cyan-fg">read_entities</span><span class="ansi-blue-fg">(df, id_col, short_id_col, title_col, type_col, description_col, name_embedding_col, description_embedding_col, community_col, text_unit_ids_col, rank_col, attributes_cols)</span>
<span class="ansi-green-intense-fg ansi-bold"> 39</span> entities <span style="color: rgb(98,98,98)">=</span> []
<span class="ansi-green-intense-fg ansi-bold"> 40</span> <span class="ansi-bold" style="color: rgb(0,135,0)">for</span> idx, row <span class="ansi-bold" style="color: rgb(175,0,255)">in</span> df<span style="color: rgb(98,98,98)">.</span>iterrows():
<span class="ansi-green-intense-fg ansi-bold"> 41</span> entity <span style="color: rgb(98,98,98)">=</span> Entity(
<span class="ansi-green-intense-fg ansi-bold"> 42</span> <span style="color: rgb(0,135,0)">id</span><span style="color: rgb(98,98,98)">=</span>to_str(row, id_col),
<span class="ansi-green-intense-fg ansi-bold"> 43</span> short_id<span style="color: rgb(98,98,98)">=</span>to_optional_str(row, short_id_col) <span class="ansi-bold" style="color: rgb(0,135,0)">if</span> short_id_col <span class="ansi-bold" style="color: rgb(0,135,0)">else</span> <span style="color: rgb(0,135,0)">str</span>(idx),
<span class="ansi-green-fg">---&gt; 44</span> title<span style="color: rgb(98,98,98)">=</span><span class="ansi-yellow-bg">to_str</span><span class="ansi-yellow-bg">(</span><span class="ansi-yellow-bg">row</span><span class="ansi-yellow-bg">,</span><span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">title_col</span><span class="ansi-yellow-bg">)</span>,
<span class="ansi-green-intense-fg ansi-bold"> 45</span> <span style="color: rgb(0,135,0)">type</span><span style="color: rgb(98,98,98)">=</span>to_optional_str(row, type_col),
<span class="ansi-green-intense-fg ansi-bold"> 46</span> description<span style="color: rgb(98,98,98)">=</span>to_optional_str(row, description_col),
<span class="ansi-green-intense-fg ansi-bold"> 47</span> name_embedding<span style="color: rgb(98,98,98)">=</span>to_optional_list(row, name_embedding_col, item_type<span style="color: rgb(98,98,98)">=</span><span style="color: rgb(0,135,0)">float</span>),
<span class="ansi-green-intense-fg ansi-bold"> 48</span> description_embedding<span style="color: rgb(98,98,98)">=</span>to_optional_list(
<span class="ansi-green-intense-fg ansi-bold"> 49</span> row, description_embedding_col, item_type<span style="color: rgb(98,98,98)">=</span><span style="color: rgb(0,135,0)">float</span>
<span class="ansi-green-intense-fg ansi-bold"> 50</span> ),
<span class="ansi-green-intense-fg ansi-bold"> 51</span> community_ids<span style="color: rgb(98,98,98)">=</span>to_optional_list(row, community_col, item_type<span style="color: rgb(98,98,98)">=</span><span style="color: rgb(0,135,0)">str</span>),
<span class="ansi-green-intense-fg ansi-bold"> 52</span> text_unit_ids<span style="color: rgb(98,98,98)">=</span>to_optional_list(row, text_unit_ids_col),
<span class="ansi-green-intense-fg ansi-bold"> 53</span> rank<span style="color: rgb(98,98,98)">=</span>to_optional_int(row, rank_col),
<span class="ansi-green-intense-fg ansi-bold"> 54</span> attributes<span style="color: rgb(98,98,98)">=</span>(
<span class="ansi-green-intense-fg ansi-bold"> 55</span> {col: row<span style="color: rgb(98,98,98)">.</span>get(col) <span class="ansi-bold" style="color: rgb(0,135,0)">for</span> col <span class="ansi-bold" style="color: rgb(175,0,255)">in</span> attributes_cols}
<span class="ansi-green-intense-fg ansi-bold"> 56</span> <span class="ansi-bold" style="color: rgb(0,135,0)">if</span> attributes_cols
<span class="ansi-green-intense-fg ansi-bold"> 57</span> <span class="ansi-bold" style="color: rgb(0,135,0)">else</span> <span class="ansi-bold" style="color: rgb(0,135,0)">None</span>
<span class="ansi-green-intense-fg ansi-bold"> 58</span> ),
<span class="ansi-green-intense-fg ansi-bold"> 59</span> )
<span class="ansi-green-intense-fg ansi-bold"> 60</span> entities<span style="color: rgb(98,98,98)">.</span>append(entity)
<span class="ansi-green-intense-fg ansi-bold"> 61</span> <span class="ansi-bold" style="color: rgb(0,135,0)">return</span> entities
File <span class="ansi-green-fg">~/work/graphrag/graphrag/graphrag/query/input/loaders/utils.py:19</span>, in <span class="ansi-cyan-fg">to_str</span><span class="ansi-blue-fg">(data, column_name)</span>
<span class="ansi-green-intense-fg ansi-bold"> 17</span> <span class="ansi-bold" style="color: rgb(0,135,0)">return</span> <span style="color: rgb(0,135,0)">str</span>(data[column_name])
<span class="ansi-green-intense-fg ansi-bold"> 18</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)">Column </span><span class="ansi-bold" style="color: rgb(175,95,135)">{</span>column_name<span class="ansi-bold" style="color: rgb(175,95,135)">}</span><span style="color: rgb(175,0,0)"> not found in data</span><span style="color: rgb(175,0,0)">"</span>
<span class="ansi-green-fg">---&gt; 19</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>(msg)
<span class="ansi-red-fg">ValueError</span>: Column title not found in data</pre>
</div>
</div>
</div>
@ -2555,113 +2476,58 @@ relationship_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="text/plain" tabindex="0">
<pre>Relationship count: 373
</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;
}
<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">ValueError</span> Traceback (most recent call last)
Cell <span class="ansi-green-fg">In[5], line 2</span>
<span class="ansi-green-intense-fg ansi-bold"> 1</span> relationship_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>RELATIONSHIP_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-fg">----&gt; 2</span> relationships <span style="color: rgb(98,98,98)">=</span> <span class="ansi-yellow-bg">read_indexer_relationships</span><span class="ansi-yellow-bg">(</span><span class="ansi-yellow-bg">relationship_df</span><span class="ansi-yellow-bg">)</span>
<span class="ansi-green-intense-fg ansi-bold"> 4</span> <span style="color: rgb(0,135,0)">print</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)">Relationship count: </span><span class="ansi-bold" style="color: rgb(175,95,135)">{</span><span style="color: rgb(0,135,0)">len</span>(relationship_df)<span class="ansi-bold" style="color: rgb(175,95,135)">}</span><span style="color: rgb(175,0,0)">"</span>)
<span class="ansi-green-intense-fg ansi-bold"> 5</span> relationship_df<span style="color: rgb(98,98,98)">.</span>head()
.dataframe tbody tr th {
vertical-align: top;
}
File <span class="ansi-green-fg">~/work/graphrag/graphrag/graphrag/query/indexer_adapters.py:66</span>, in <span class="ansi-cyan-fg">read_indexer_relationships</span><span class="ansi-blue-fg">(final_relationships)</span>
<span class="ansi-green-intense-fg ansi-bold"> 64</span> <span class="ansi-bold" style="color: rgb(0,135,0)">def</span> <span style="color: rgb(0,0,255)">read_indexer_relationships</span>(final_relationships: pd<span style="color: rgb(98,98,98)">.</span>DataFrame) <span style="color: rgb(98,98,98)">-</span><span style="color: rgb(98,98,98)">&gt;</span> <span style="color: rgb(0,135,0)">list</span>[Relationship]:
<span class="ansi-green-intense-fg ansi-bold"> 65</span> <span style="color: rgb(188,188,188)"> </span><span style="color: rgb(175,0,0)">"""Read in the Relationships from the raw indexing outputs."""</span>
<span class="ansi-green-fg">---&gt; 66</span> <span class="ansi-bold" style="color: rgb(0,135,0)">return</span> <span class="ansi-yellow-bg">read_relationships</span><span class="ansi-yellow-bg">(</span>
<span class="ansi-green-intense-fg ansi-bold"> 67</span> <span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">df</span><span class="ansi-yellow-bg" style="color: rgb(98,98,98)">=</span><span class="ansi-yellow-bg">final_relationships</span><span class="ansi-yellow-bg">,</span>
<span class="ansi-green-intense-fg ansi-bold"> 68</span> <span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">short_id_col</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)">human_readable_id</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"> 69</span> <span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">rank_col</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)">combined_degree</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"> 70</span> <span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">description_embedding_col</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)">None</span><span class="ansi-yellow-bg">,</span>
<span class="ansi-green-intense-fg ansi-bold"> 71</span> <span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">attributes_cols</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)">None</span><span class="ansi-yellow-bg">,</span>
<span class="ansi-green-intense-fg ansi-bold"> 72</span> <span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">)</span>
.dataframe thead th {
text-align: right;
}
</style>
<table border="1" class="dataframe">
<thead>
<tr style="text-align: right;">
<th></th>
<th>source</th>
<th>target</th>
<th>weight</th>
<th>description</th>
<th>text_unit_ids</th>
<th>id</th>
<th>human_readable_id</th>
<th>source_degree</th>
<th>target_degree</th>
<th>rank</th>
</tr>
</thead>
<tbody>
<tr>
<th>0</th>
<td>ALEX MERCER</td>
<td>TAYLOR CRUZ</td>
<td>21.0</td>
<td>Alex Mercer and Taylor Cruz are integral membe...</td>
<td>[06bdff339c02ab35c80fa49320d5da66, 1f2c6c263f1...</td>
<td>148fffeb994541b2b4b6dcefda7001a8</td>
<td>0</td>
<td>57</td>
<td>52</td>
<td>109</td>
</tr>
<tr>
<th>1</th>
<td>ALEX MERCER</td>
<td>JORDAN HAYES</td>
<td>25.0</td>
<td>Alex Mercer and Jordan Hayes are integral team...</td>
<td>[06bdff339c02ab35c80fa49320d5da66, 1f2c6c263f1...</td>
<td>89c08e793298442686292454a1abff31</td>
<td>1</td>
<td>57</td>
<td>48</td>
<td>105</td>
</tr>
<tr>
<th>2</th>
<td>ALEX MERCER</td>
<td>SAM RIVERA</td>
<td>20.0</td>
<td>Alex Mercer and Sam Rivera are integral member...</td>
<td>[06bdff339c02ab35c80fa49320d5da66, 1f2c6c263f1...</td>
<td>0467928aa65e4a4fba62bdb1467e3a54</td>
<td>2</td>
<td>57</td>
<td>48</td>
<td>105</td>
</tr>
<tr>
<th>3</th>
<td>ALEX MERCER</td>
<td>OPERATION: DULCE BRIEFING ROOM</td>
<td>1.0</td>
<td>Alex Mercer was present in the Operation: Dulc...</td>
<td>[06bdff339c02ab35c80fa49320d5da66]</td>
<td>43c3390303c6476cb65f584e37c3e81c</td>
<td>3</td>
<td>57</td>
<td>4</td>
<td>61</td>
</tr>
<tr>
<th>4</th>
<td>ALEX MERCER</td>
<td>PARANORMAL MILITARY SQUAD</td>
<td>20.0</td>
<td>Alex Mercer is a prominent and influential lea...</td>
<td>[06bdff339c02ab35c80fa49320d5da66, 2db9206de77...</td>
<td>fa14b16c17e3417dba5a4b473ea5b18d</td>
<td>4</td>
<td>57</td>
<td>48</td>
<td>105</td>
</tr>
</tbody>
</table>
</div>
File <span class="ansi-green-fg">~/work/graphrag/graphrag/graphrag/query/input/loaders/dfs.py:91</span>, in <span class="ansi-cyan-fg">read_relationships</span><span class="ansi-blue-fg">(df, id_col, short_id_col, source_col, target_col, description_col, rank_col, description_embedding_col, weight_col, text_unit_ids_col, attributes_cols)</span>
<span class="ansi-green-intense-fg ansi-bold"> 78</span> relationships <span style="color: rgb(98,98,98)">=</span> []
<span class="ansi-green-intense-fg ansi-bold"> 79</span> <span class="ansi-bold" style="color: rgb(0,135,0)">for</span> idx, row <span class="ansi-bold" style="color: rgb(175,0,255)">in</span> df<span style="color: rgb(98,98,98)">.</span>iterrows():
<span class="ansi-green-intense-fg ansi-bold"> 80</span> rel <span style="color: rgb(98,98,98)">=</span> Relationship(
<span class="ansi-green-intense-fg ansi-bold"> 81</span> <span style="color: rgb(0,135,0)">id</span><span style="color: rgb(98,98,98)">=</span>to_str(row, id_col),
<span class="ansi-green-intense-fg ansi-bold"> 82</span> short_id<span style="color: rgb(98,98,98)">=</span>to_optional_str(row, short_id_col) <span class="ansi-bold" style="color: rgb(0,135,0)">if</span> short_id_col <span class="ansi-bold" style="color: rgb(0,135,0)">else</span> <span style="color: rgb(0,135,0)">str</span>(idx),
<span class="ansi-green-intense-fg ansi-bold"> 83</span> source<span style="color: rgb(98,98,98)">=</span>to_str(row, source_col),
<span class="ansi-green-intense-fg ansi-bold"> 84</span> target<span style="color: rgb(98,98,98)">=</span>to_str(row, target_col),
<span class="ansi-green-intense-fg ansi-bold"> 85</span> description<span style="color: rgb(98,98,98)">=</span>to_optional_str(row, description_col),
<span class="ansi-green-intense-fg ansi-bold"> 86</span> description_embedding<span style="color: rgb(98,98,98)">=</span>to_optional_list(
<span class="ansi-green-intense-fg ansi-bold"> 87</span> row, description_embedding_col, item_type<span style="color: rgb(98,98,98)">=</span><span style="color: rgb(0,135,0)">float</span>
<span class="ansi-green-intense-fg ansi-bold"> 88</span> ),
<span class="ansi-green-intense-fg ansi-bold"> 89</span> weight<span style="color: rgb(98,98,98)">=</span>to_optional_float(row, weight_col),
<span class="ansi-green-intense-fg ansi-bold"> 90</span> text_unit_ids<span style="color: rgb(98,98,98)">=</span>to_optional_list(row, text_unit_ids_col, item_type<span style="color: rgb(98,98,98)">=</span><span style="color: rgb(0,135,0)">str</span>),
<span class="ansi-green-fg">---&gt; 91</span> rank<span style="color: rgb(98,98,98)">=</span><span class="ansi-yellow-bg">to_optional_int</span><span class="ansi-yellow-bg">(</span><span class="ansi-yellow-bg">row</span><span class="ansi-yellow-bg">,</span><span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">rank_col</span><span class="ansi-yellow-bg">)</span>,
<span class="ansi-green-intense-fg ansi-bold"> 92</span> attributes<span style="color: rgb(98,98,98)">=</span>(
<span class="ansi-green-intense-fg ansi-bold"> 93</span> {col: row<span style="color: rgb(98,98,98)">.</span>get(col) <span class="ansi-bold" style="color: rgb(0,135,0)">for</span> col <span class="ansi-bold" style="color: rgb(175,0,255)">in</span> attributes_cols}
<span class="ansi-green-intense-fg ansi-bold"> 94</span> <span class="ansi-bold" style="color: rgb(0,135,0)">if</span> attributes_cols
<span class="ansi-green-intense-fg ansi-bold"> 95</span> <span class="ansi-bold" style="color: rgb(0,135,0)">else</span> <span class="ansi-bold" style="color: rgb(0,135,0)">None</span>
<span class="ansi-green-intense-fg ansi-bold"> 96</span> ),
<span class="ansi-green-intense-fg ansi-bold"> 97</span> )
<span class="ansi-green-intense-fg ansi-bold"> 98</span> relationships<span style="color: rgb(98,98,98)">.</span>append(rel)
<span class="ansi-green-intense-fg ansi-bold"> 99</span> <span class="ansi-bold" style="color: rgb(0,135,0)">return</span> relationships
File <span class="ansi-green-fg">~/work/graphrag/graphrag/graphrag/query/input/loaders/utils.py:135</span>, in <span class="ansi-cyan-fg">to_optional_int</span><span class="ansi-blue-fg">(data, column_name)</span>
<span class="ansi-green-intense-fg ansi-bold"> 133</span> <span class="ansi-bold" style="color: rgb(0,135,0)">else</span>:
<span class="ansi-green-intense-fg ansi-bold"> 134</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)">Column </span><span class="ansi-bold" style="color: rgb(175,95,135)">{</span>column_name<span class="ansi-bold" style="color: rgb(175,95,135)">}</span><span style="color: rgb(175,0,0)"> not found in data</span><span style="color: rgb(175,0,0)">"</span>
<span class="ansi-green-fg">--&gt; 135</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>(msg)
<span class="ansi-green-intense-fg ansi-bold"> 137</span> <span class="ansi-bold" style="color: rgb(0,135,0)">return</span> <span style="color: rgb(0,135,0)">int</span>(value)
<span class="ansi-red-fg">ValueError</span>: Column combined_degree not found in data</pre>
</div>
</div>
</div>
@ -3107,8 +2973,8 @@ text_embedder = OpenAIEmbedding(
</div>
</div>
</div>
</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><div class="jp-Cell jp-CodeCell jp-Notebook-cell">
<div class="jp-Cell jp-CodeCell jp-Notebook-cell">
<div class="jp-Cell-inputWrapper" tabindex="0">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
@ -3155,6 +3021,35 @@ text_embedder = OpenAIEmbedding(
</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[10], line 4</span>
<span class="ansi-green-intense-fg ansi-bold"> 1</span> context_builder <span style="color: rgb(98,98,98)">=</span> LocalSearchMixedContext(
<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> text_units<span style="color: rgb(98,98,98)">=</span>text_units,
<span class="ansi-green-fg">----&gt; 4</span> entities<span style="color: rgb(98,98,98)">=</span><span class="ansi-yellow-bg">entities</span>,
<span class="ansi-green-intense-fg ansi-bold"> 5</span> relationships<span style="color: rgb(98,98,98)">=</span>relationships,
<span class="ansi-green-intense-fg ansi-bold"> 6</span> <span style="color: rgb(95,135,135)"># if you did not run covariates during indexing, set this to None</span>
<span class="ansi-green-intense-fg ansi-bold"> 7</span> covariates<span style="color: rgb(98,98,98)">=</span>covariates,
<span class="ansi-green-intense-fg ansi-bold"> 8</span> entity_text_embeddings<span style="color: rgb(98,98,98)">=</span>description_embedding_store,
<span class="ansi-green-intense-fg ansi-bold"> 9</span> embedding_vectorstore_key<span style="color: rgb(98,98,98)">=</span>EntityVectorStoreKey<span style="color: rgb(98,98,98)">.</span>ID, <span style="color: rgb(95,135,135)"># if the vectorstore uses entity title as ids, set this to EntityVectorStoreKey.TITLE</span>
<span class="ansi-green-intense-fg ansi-bold"> 10</span> text_embedder<span style="color: rgb(98,98,98)">=</span>text_embedder,
<span class="ansi-green-intense-fg ansi-bold"> 11</span> token_encoder<span style="color: rgb(98,98,98)">=</span>token_encoder,
<span class="ansi-green-intense-fg ansi-bold"> 12</span> )
<span class="ansi-red-fg">NameError</span>: name 'entities' is not defined</pre>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell">
@ -3262,8 +3157,8 @@ llm_params = {
</div>
</div>
</div>
</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><div class="jp-Cell jp-CodeCell jp-Notebook-cell">
<div class="jp-Cell jp-CodeCell jp-Notebook-cell">
<div class="jp-Cell-inputWrapper" tabindex="0">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
@ -3302,6 +3197,31 @@ llm_params = {
</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[12], line 3</span>
<span class="ansi-green-intense-fg ansi-bold"> 1</span> search_engine <span style="color: rgb(98,98,98)">=</span> LocalSearch(
<span class="ansi-green-intense-fg ansi-bold"> 2</span> llm<span style="color: rgb(98,98,98)">=</span>llm,
<span class="ansi-green-fg">----&gt; 3</span> context_builder<span style="color: rgb(98,98,98)">=</span><span class="ansi-yellow-bg">context_builder</span>,
<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> llm_params<span style="color: rgb(98,98,98)">=</span>llm_params,
<span class="ansi-green-intense-fg ansi-bold"> 6</span> context_builder_params<span style="color: rgb(98,98,98)">=</span>local_context_params,
<span class="ansi-green-intense-fg ansi-bold"> 7</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"> 8</span> )
<span class="ansi-red-fg">NameError</span>: name 'context_builder' is not defined</pre>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell">
@ -3348,111 +3268,15 @@ print(result.response)</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="text/plain" tabindex="0">
<pre>Error embedding chunk {'OpenAIEmbedding': "Error code: 429 - {'error': {'message': 'You exceeded your current quota, please check your plan and billing details. For more information on this error, read the docs: https://platform.openai.com/docs/guides/error-codes/api-errors.', 'type': 'insufficient_quota', 'param': None, 'code': 'insufficient_quota'}}"}
</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">ZeroDivisionError</span> Traceback (most recent call last)
<span class="ansi-red-fg">NameError</span> Traceback (most recent call last)
Cell <span class="ansi-green-fg">In[13], 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> search_engine<span style="color: rgb(98,98,98)">.</span>asearch(<span style="color: rgb(175,0,0)">"</span><span style="color: rgb(175,0,0)">Tell me about Agent Mercer</span><span style="color: rgb(175,0,0)">"</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>asearch(<span style="color: rgb(175,0,0)">"</span><span style="color: rgb(175,0,0)">Tell me about Agent Mercer</span><span style="color: rgb(175,0,0)">"</span>)
<span class="ansi-green-intense-fg ansi-bold"> 2</span> <span style="color: rgb(0,135,0)">print</span>(result<span style="color: rgb(98,98,98)">.</span>response)
File <span class="ansi-green-fg">~/work/graphrag/graphrag/graphrag/query/structured_search/local_search/search.py:67</span>, in <span class="ansi-cyan-fg">LocalSearch.asearch</span><span class="ansi-blue-fg">(self, query, conversation_history, **kwargs)</span>
<span class="ansi-green-intense-fg ansi-bold"> 65</span> search_prompt <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"> 66</span> llm_calls, prompt_tokens, output_tokens <span style="color: rgb(98,98,98)">=</span> {}, {}, {}
<span class="ansi-green-fg">---&gt; 67</span> context_result <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">context_builder</span><span class="ansi-yellow-bg" style="color: rgb(98,98,98)">.</span><span class="ansi-yellow-bg">build_context</span><span class="ansi-yellow-bg">(</span>
<span class="ansi-green-intense-fg ansi-bold"> 68</span> <span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">query</span><span class="ansi-yellow-bg" style="color: rgb(98,98,98)">=</span><span class="ansi-yellow-bg">query</span><span class="ansi-yellow-bg">,</span>
<span class="ansi-green-intense-fg ansi-bold"> 69</span> <span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">conversation_history</span><span class="ansi-yellow-bg" style="color: rgb(98,98,98)">=</span><span class="ansi-yellow-bg">conversation_history</span><span class="ansi-yellow-bg">,</span>
<span class="ansi-green-intense-fg ansi-bold"> 70</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"> 71</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" 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">context_builder_params</span><span class="ansi-yellow-bg">,</span>
<span class="ansi-green-intense-fg ansi-bold"> 72</span> <span class="ansi-yellow-bg">)</span>
<span class="ansi-green-intense-fg ansi-bold"> 73</span> llm_calls[<span style="color: rgb(175,0,0)">"</span><span style="color: rgb(175,0,0)">build_context</span><span style="color: rgb(175,0,0)">"</span>] <span style="color: rgb(98,98,98)">=</span> context_result<span style="color: rgb(98,98,98)">.</span>llm_calls
<span class="ansi-green-intense-fg ansi-bold"> 74</span> prompt_tokens[<span style="color: rgb(175,0,0)">"</span><span style="color: rgb(175,0,0)">build_context</span><span style="color: rgb(175,0,0)">"</span>] <span style="color: rgb(98,98,98)">=</span> context_result<span style="color: rgb(98,98,98)">.</span>prompt_tokens
File <span class="ansi-green-fg">~/work/graphrag/graphrag/graphrag/query/structured_search/local_search/mixed_context.py:139</span>, in <span class="ansi-cyan-fg">LocalSearchMixedContext.build_context</span><span class="ansi-blue-fg">(self, query, conversation_history, include_entity_names, exclude_entity_names, conversation_history_max_turns, conversation_history_user_turns_only, max_tokens, text_unit_prop, community_prop, top_k_mapped_entities, top_k_relationships, include_community_rank, include_entity_rank, rank_description, include_relationship_weight, relationship_ranking_attribute, return_candidate_context, use_community_summary, min_community_rank, community_context_name, column_delimiter, **kwargs)</span>
<span class="ansi-green-intense-fg ansi-bold"> 134</span> pre_user_questions <span style="color: rgb(98,98,98)">=</span> <span style="color: rgb(175,0,0)">"</span><span class="ansi-bold" style="color: rgb(175,95,0)">\n</span><span style="color: rgb(175,0,0)">"</span><span style="color: rgb(98,98,98)">.</span>join(
<span class="ansi-green-intense-fg ansi-bold"> 135</span> conversation_history<span style="color: rgb(98,98,98)">.</span>get_user_turns(conversation_history_max_turns)
<span class="ansi-green-intense-fg ansi-bold"> 136</span> )
<span class="ansi-green-intense-fg ansi-bold"> 137</span> query <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>query<span class="ansi-bold" style="color: rgb(175,95,135)">}</span><span class="ansi-bold" style="color: rgb(175,95,0)">\n</span><span class="ansi-bold" style="color: rgb(175,95,135)">{</span>pre_user_questions<span class="ansi-bold" style="color: rgb(175,95,135)">}</span><span style="color: rgb(175,0,0)">"</span>
<span class="ansi-green-fg">--&gt; 139</span> selected_entities <span style="color: rgb(98,98,98)">=</span> <span class="ansi-yellow-bg">map_query_to_entities</span><span class="ansi-yellow-bg">(</span>
<span class="ansi-green-intense-fg ansi-bold"> 140</span> <span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">query</span><span class="ansi-yellow-bg" style="color: rgb(98,98,98)">=</span><span class="ansi-yellow-bg">query</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">text_embedding_vectorstore</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" style="color: rgb(98,98,98)">.</span><span class="ansi-yellow-bg">entity_text_embeddings</span><span class="ansi-yellow-bg">,</span>
<span class="ansi-green-intense-fg ansi-bold"> 142</span> <span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">text_embedder</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" style="color: rgb(98,98,98)">.</span><span class="ansi-yellow-bg">text_embedder</span><span class="ansi-yellow-bg">,</span>
<span class="ansi-green-intense-fg ansi-bold"> 143</span> <span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">all_entities_dict</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" style="color: rgb(98,98,98)">.</span><span class="ansi-yellow-bg">entities</span><span class="ansi-yellow-bg">,</span>
<span class="ansi-green-intense-fg ansi-bold"> 144</span> <span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">embedding_vectorstore_key</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" style="color: rgb(98,98,98)">.</span><span class="ansi-yellow-bg">embedding_vectorstore_key</span><span class="ansi-yellow-bg">,</span>
<span class="ansi-green-intense-fg ansi-bold"> 145</span> <span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">include_entity_names</span><span class="ansi-yellow-bg" style="color: rgb(98,98,98)">=</span><span class="ansi-yellow-bg">include_entity_names</span><span class="ansi-yellow-bg">,</span>
<span class="ansi-green-intense-fg ansi-bold"> 146</span> <span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">exclude_entity_names</span><span class="ansi-yellow-bg" style="color: rgb(98,98,98)">=</span><span class="ansi-yellow-bg">exclude_entity_names</span><span class="ansi-yellow-bg">,</span>
<span class="ansi-green-intense-fg ansi-bold"> 147</span> <span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">k</span><span class="ansi-yellow-bg" style="color: rgb(98,98,98)">=</span><span class="ansi-yellow-bg">top_k_mapped_entities</span><span class="ansi-yellow-bg">,</span>
<span class="ansi-green-intense-fg ansi-bold"> 148</span> <span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">oversample_scaler</span><span class="ansi-yellow-bg" style="color: rgb(98,98,98)">=</span><span class="ansi-yellow-bg" style="color: rgb(98,98,98)">2</span><span class="ansi-yellow-bg">,</span>
<span class="ansi-green-intense-fg ansi-bold"> 149</span> <span class="ansi-yellow-bg">)</span>
<span class="ansi-green-intense-fg ansi-bold"> 151</span> <span style="color: rgb(95,135,135)"># build context</span>
<span class="ansi-green-intense-fg ansi-bold"> 152</span> final_context <span style="color: rgb(98,98,98)">=</span> <span style="color: rgb(0,135,0)">list</span>[<span style="color: rgb(0,135,0)">str</span>]()
File <span class="ansi-green-fg">~/work/graphrag/graphrag/graphrag/query/context_builder/entity_extraction.py:58</span>, in <span class="ansi-cyan-fg">map_query_to_entities</span><span class="ansi-blue-fg">(query, text_embedding_vectorstore, text_embedder, all_entities_dict, embedding_vectorstore_key, include_entity_names, exclude_entity_names, k, oversample_scaler)</span>
<span class="ansi-green-intense-fg ansi-bold"> 54</span> matched_entities <span style="color: rgb(98,98,98)">=</span> []
<span class="ansi-green-intense-fg ansi-bold"> 55</span> <span class="ansi-bold" style="color: rgb(0,135,0)">if</span> query <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"> 56</span> <span style="color: rgb(95,135,135)"># get entities with highest semantic similarity to query</span>
<span class="ansi-green-intense-fg ansi-bold"> 57</span> <span style="color: rgb(95,135,135)"># oversample to account for excluded entities</span>
<span class="ansi-green-fg">---&gt; 58</span> search_results <span style="color: rgb(98,98,98)">=</span> <span class="ansi-yellow-bg">text_embedding_vectorstore</span><span class="ansi-yellow-bg" style="color: rgb(98,98,98)">.</span><span class="ansi-yellow-bg">similarity_search_by_text</span><span class="ansi-yellow-bg">(</span>
<span class="ansi-green-intense-fg ansi-bold"> 59</span> <span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">text</span><span class="ansi-yellow-bg" style="color: rgb(98,98,98)">=</span><span class="ansi-yellow-bg">query</span><span class="ansi-yellow-bg">,</span>
<span class="ansi-green-intense-fg ansi-bold"> 60</span> <span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">text_embedder</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)">lambda</span><span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">t</span><span class="ansi-yellow-bg">:</span><span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">text_embedder</span><span class="ansi-yellow-bg" style="color: rgb(98,98,98)">.</span><span class="ansi-yellow-bg">embed</span><span class="ansi-yellow-bg">(</span><span class="ansi-yellow-bg">t</span><span class="ansi-yellow-bg">)</span><span class="ansi-yellow-bg">,</span>
<span class="ansi-green-intense-fg ansi-bold"> 61</span> <span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">k</span><span class="ansi-yellow-bg" style="color: rgb(98,98,98)">=</span><span class="ansi-yellow-bg">k</span><span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg" style="color: rgb(98,98,98)">*</span><span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">oversample_scaler</span><span class="ansi-yellow-bg">,</span>
<span class="ansi-green-intense-fg ansi-bold"> 62</span> <span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">)</span>
<span class="ansi-green-intense-fg ansi-bold"> 63</span> <span class="ansi-bold" style="color: rgb(0,135,0)">for</span> result <span class="ansi-bold" style="color: rgb(175,0,255)">in</span> search_results:
<span class="ansi-green-intense-fg ansi-bold"> 64</span> <span class="ansi-bold" style="color: rgb(0,135,0)">if</span> embedding_vectorstore_key <span style="color: rgb(98,98,98)">==</span> EntityVectorStoreKey<span style="color: rgb(98,98,98)">.</span>ID <span class="ansi-bold" style="color: rgb(175,0,255)">and</span> <span style="color: rgb(0,135,0)">isinstance</span>(
<span class="ansi-green-intense-fg ansi-bold"> 65</span> result<span style="color: rgb(98,98,98)">.</span>document<span style="color: rgb(98,98,98)">.</span>id, <span style="color: rgb(0,135,0)">str</span>
<span class="ansi-green-intense-fg ansi-bold"> 66</span> ):
File <span class="ansi-green-fg">~/work/graphrag/graphrag/graphrag/vector_stores/lancedb.py:134</span>, in <span class="ansi-cyan-fg">LanceDBVectorStore.similarity_search_by_text</span><span class="ansi-blue-fg">(self, text, text_embedder, k, **kwargs)</span>
<span class="ansi-green-intense-fg ansi-bold"> 130</span> <span class="ansi-bold" style="color: rgb(0,135,0)">def</span> <span style="color: rgb(0,0,255)">similarity_search_by_text</span>(
<span class="ansi-green-intense-fg ansi-bold"> 131</span> <span style="color: rgb(0,135,0)">self</span>, text: <span style="color: rgb(0,135,0)">str</span>, text_embedder: TextEmbedder, k: <span style="color: rgb(0,135,0)">int</span> <span style="color: rgb(98,98,98)">=</span> <span style="color: rgb(98,98,98)">10</span>, <span style="color: rgb(98,98,98)">*</span><span style="color: rgb(98,98,98)">*</span>kwargs: Any
<span class="ansi-green-intense-fg ansi-bold"> 132</span> ) <span style="color: rgb(98,98,98)">-</span><span style="color: rgb(98,98,98)">&gt;</span> <span style="color: rgb(0,135,0)">list</span>[VectorStoreSearchResult]:
<span class="ansi-green-intense-fg ansi-bold"> 133</span> <span style="color: rgb(188,188,188)"> </span><span style="color: rgb(175,0,0)">"""Perform a similarity search using a given input text."""</span>
<span class="ansi-green-fg">--&gt; 134</span> query_embedding <span style="color: rgb(98,98,98)">=</span> <span class="ansi-yellow-bg">text_embedder</span><span class="ansi-yellow-bg">(</span><span class="ansi-yellow-bg">text</span><span class="ansi-yellow-bg">)</span>
<span class="ansi-green-intense-fg ansi-bold"> 135</span> <span class="ansi-bold" style="color: rgb(0,135,0)">if</span> query_embedding:
<span class="ansi-green-intense-fg ansi-bold"> 136</span> <span class="ansi-bold" style="color: rgb(0,135,0)">return</span> <span style="color: rgb(0,135,0)">self</span><span style="color: rgb(98,98,98)">.</span>similarity_search_by_vector(query_embedding, k)
File <span class="ansi-green-fg">~/work/graphrag/graphrag/graphrag/query/context_builder/entity_extraction.py:60</span>, in <span class="ansi-cyan-fg">map_query_to_entities.&lt;locals&gt;.&lt;lambda&gt;</span><span class="ansi-blue-fg">(t)</span>
<span class="ansi-green-intense-fg ansi-bold"> 54</span> matched_entities <span style="color: rgb(98,98,98)">=</span> []
<span class="ansi-green-intense-fg ansi-bold"> 55</span> <span class="ansi-bold" style="color: rgb(0,135,0)">if</span> query <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"> 56</span> <span style="color: rgb(95,135,135)"># get entities with highest semantic similarity to query</span>
<span class="ansi-green-intense-fg ansi-bold"> 57</span> <span style="color: rgb(95,135,135)"># oversample to account for excluded entities</span>
<span class="ansi-green-intense-fg ansi-bold"> 58</span> search_results <span style="color: rgb(98,98,98)">=</span> text_embedding_vectorstore<span style="color: rgb(98,98,98)">.</span>similarity_search_by_text(
<span class="ansi-green-intense-fg ansi-bold"> 59</span> text<span style="color: rgb(98,98,98)">=</span>query,
<span class="ansi-green-fg">---&gt; 60</span> text_embedder<span style="color: rgb(98,98,98)">=</span><span class="ansi-bold" style="color: rgb(0,135,0)">lambda</span> t: <span class="ansi-yellow-bg">text_embedder</span><span class="ansi-yellow-bg" style="color: rgb(98,98,98)">.</span><span class="ansi-yellow-bg">embed</span><span class="ansi-yellow-bg">(</span><span class="ansi-yellow-bg">t</span><span class="ansi-yellow-bg">)</span>,
<span class="ansi-green-intense-fg ansi-bold"> 61</span> k<span style="color: rgb(98,98,98)">=</span>k <span style="color: rgb(98,98,98)">*</span> oversample_scaler,
<span class="ansi-green-intense-fg ansi-bold"> 62</span> )
<span class="ansi-green-intense-fg ansi-bold"> 63</span> <span class="ansi-bold" style="color: rgb(0,135,0)">for</span> result <span class="ansi-bold" style="color: rgb(175,0,255)">in</span> search_results:
<span class="ansi-green-intense-fg ansi-bold"> 64</span> <span class="ansi-bold" style="color: rgb(0,135,0)">if</span> embedding_vectorstore_key <span style="color: rgb(98,98,98)">==</span> EntityVectorStoreKey<span style="color: rgb(98,98,98)">.</span>ID <span class="ansi-bold" style="color: rgb(175,0,255)">and</span> <span style="color: rgb(0,135,0)">isinstance</span>(
<span class="ansi-green-intense-fg ansi-bold"> 65</span> result<span style="color: rgb(98,98,98)">.</span>document<span style="color: rgb(98,98,98)">.</span>id, <span style="color: rgb(0,135,0)">str</span>
<span class="ansi-green-intense-fg ansi-bold"> 66</span> ):
File <span class="ansi-green-fg">~/work/graphrag/graphrag/graphrag/query/llm/oai/embedding.py:96</span>, in <span class="ansi-cyan-fg">OpenAIEmbedding.embed</span><span class="ansi-blue-fg">(self, text, **kwargs)</span>
<span class="ansi-green-intense-fg ansi-bold"> 90</span> <span style="color: rgb(0,135,0)">self</span><span style="color: rgb(98,98,98)">.</span>_reporter<span style="color: rgb(98,98,98)">.</span>error(
<span class="ansi-green-intense-fg ansi-bold"> 91</span> message<span style="color: rgb(98,98,98)">=</span><span style="color: rgb(175,0,0)">"</span><span style="color: rgb(175,0,0)">Error embedding chunk</span><span style="color: rgb(175,0,0)">"</span>,
<span class="ansi-green-intense-fg ansi-bold"> 92</span> details<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><span style="color: rgb(0,0,135)">__class__</span><span style="color: rgb(98,98,98)">.</span><span style="color: rgb(0,0,135)">__name__</span>: <span style="color: rgb(0,135,0)">str</span>(e)},
<span class="ansi-green-intense-fg ansi-bold"> 93</span> )
<span class="ansi-green-intense-fg ansi-bold"> 95</span> <span class="ansi-bold" style="color: rgb(0,135,0)">continue</span>
<span class="ansi-green-fg">---&gt; 96</span> chunk_embeddings <span style="color: rgb(98,98,98)">=</span> <span class="ansi-yellow-bg">np</span><span class="ansi-yellow-bg" style="color: rgb(98,98,98)">.</span><span class="ansi-yellow-bg">average</span><span class="ansi-yellow-bg">(</span><span class="ansi-yellow-bg">chunk_embeddings</span><span class="ansi-yellow-bg">,</span><span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">axis</span><span class="ansi-yellow-bg" style="color: rgb(98,98,98)">=</span><span class="ansi-yellow-bg" style="color: rgb(98,98,98)">0</span><span class="ansi-yellow-bg">,</span><span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">weights</span><span class="ansi-yellow-bg" style="color: rgb(98,98,98)">=</span><span class="ansi-yellow-bg">chunk_lens</span><span class="ansi-yellow-bg">)</span>
<span class="ansi-green-intense-fg ansi-bold"> 97</span> chunk_embeddings <span style="color: rgb(98,98,98)">=</span> chunk_embeddings <span style="color: rgb(98,98,98)">/</span> np<span style="color: rgb(98,98,98)">.</span>linalg<span style="color: rgb(98,98,98)">.</span>norm(chunk_embeddings)
<span class="ansi-green-intense-fg ansi-bold"> 98</span> <span class="ansi-bold" style="color: rgb(0,135,0)">return</span> chunk_embeddings<span style="color: rgb(98,98,98)">.</span>tolist()
File <span class="ansi-green-fg">~/.cache/pypoetry/virtualenvs/graphrag-F2jvqev7-py3.11/lib/python3.11/site-packages/numpy/lib/function_base.py:550</span>, in <span class="ansi-cyan-fg">average</span><span class="ansi-blue-fg">(a, axis, weights, returned, keepdims)</span>
<span class="ansi-green-intense-fg ansi-bold"> 548</span> scl <span style="color: rgb(98,98,98)">=</span> wgt<span style="color: rgb(98,98,98)">.</span>sum(axis<span style="color: rgb(98,98,98)">=</span>axis, dtype<span style="color: rgb(98,98,98)">=</span>result_dtype, <span style="color: rgb(98,98,98)">*</span><span style="color: rgb(98,98,98)">*</span>keepdims_kw)
<span class="ansi-green-intense-fg ansi-bold"> 549</span> <span class="ansi-bold" style="color: rgb(0,135,0)">if</span> np<span style="color: rgb(98,98,98)">.</span>any(scl <span style="color: rgb(98,98,98)">==</span> <span style="color: rgb(98,98,98)">0.0</span>):
<span class="ansi-green-fg">--&gt; 550</span> <span class="ansi-bold" style="color: rgb(0,135,0)">raise</span> <span class="ansi-bold" style="color: rgb(215,95,95)">ZeroDivisionError</span>(
<span class="ansi-green-intense-fg ansi-bold"> 551</span> <span style="color: rgb(175,0,0)">"</span><span style="color: rgb(175,0,0)">Weights sum to zero, can</span><span style="color: rgb(175,0,0)">'</span><span style="color: rgb(175,0,0)">t be normalized</span><span style="color: rgb(175,0,0)">"</span>)
<span class="ansi-green-intense-fg ansi-bold"> 553</span> avg <span style="color: rgb(98,98,98)">=</span> avg_as_array <span style="color: rgb(98,98,98)">=</span> np<span style="color: rgb(98,98,98)">.</span>multiply(a, wgt,
<span class="ansi-green-intense-fg ansi-bold"> 554</span> dtype<span style="color: rgb(98,98,98)">=</span>result_dtype)<span style="color: rgb(98,98,98)">.</span>sum(axis, <span style="color: rgb(98,98,98)">*</span><span style="color: rgb(98,98,98)">*</span>keepdims_kw) <span style="color: rgb(98,98,98)">/</span> scl
<span class="ansi-green-intense-fg ansi-bold"> 556</span> <span class="ansi-bold" style="color: rgb(0,135,0)">if</span> returned:
<span class="ansi-red-fg">ZeroDivisionError</span>: Weights sum to zero, can't be normalized</pre>
<span class="ansi-red-fg">NameError</span>: name 'search_engine' is not defined</pre>
</div>
</div>
</div>
@ -3494,112 +3318,16 @@ print(result.response)</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="text/plain" tabindex="0">
<pre>Error embedding chunk {'OpenAIEmbedding': "Error code: 429 - {'error': {'message': 'You exceeded your current quota, please check your plan and billing details. For more information on this error, read the docs: https://platform.openai.com/docs/guides/error-codes/api-errors.', 'type': 'insufficient_quota', 'param': None, 'code': 'insufficient_quota'}}"}
</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">ZeroDivisionError</span> Traceback (most recent call last)
<span class="ansi-red-fg">NameError</span> Traceback (most recent call last)
Cell <span class="ansi-green-fg">In[14], line 2</span>
<span class="ansi-green-intense-fg ansi-bold"> 1</span> question <span style="color: rgb(98,98,98)">=</span> <span style="color: rgb(175,0,0)">"</span><span style="color: rgb(175,0,0)">Tell me about Dr. Jordan Hayes</span><span style="color: rgb(175,0,0)">"</span>
<span class="ansi-green-fg">----&gt; 2</span> result <span style="color: rgb(98,98,98)">=</span> <span class="ansi-bold" style="color: rgb(0,135,0)">await</span> search_engine<span style="color: rgb(98,98,98)">.</span>asearch(question)
<span class="ansi-green-fg">----&gt; 2</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>asearch(question)
<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)
File <span class="ansi-green-fg">~/work/graphrag/graphrag/graphrag/query/structured_search/local_search/search.py:67</span>, in <span class="ansi-cyan-fg">LocalSearch.asearch</span><span class="ansi-blue-fg">(self, query, conversation_history, **kwargs)</span>
<span class="ansi-green-intense-fg ansi-bold"> 65</span> search_prompt <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"> 66</span> llm_calls, prompt_tokens, output_tokens <span style="color: rgb(98,98,98)">=</span> {}, {}, {}
<span class="ansi-green-fg">---&gt; 67</span> context_result <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">context_builder</span><span class="ansi-yellow-bg" style="color: rgb(98,98,98)">.</span><span class="ansi-yellow-bg">build_context</span><span class="ansi-yellow-bg">(</span>
<span class="ansi-green-intense-fg ansi-bold"> 68</span> <span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">query</span><span class="ansi-yellow-bg" style="color: rgb(98,98,98)">=</span><span class="ansi-yellow-bg">query</span><span class="ansi-yellow-bg">,</span>
<span class="ansi-green-intense-fg ansi-bold"> 69</span> <span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">conversation_history</span><span class="ansi-yellow-bg" style="color: rgb(98,98,98)">=</span><span class="ansi-yellow-bg">conversation_history</span><span class="ansi-yellow-bg">,</span>
<span class="ansi-green-intense-fg ansi-bold"> 70</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"> 71</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" 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">context_builder_params</span><span class="ansi-yellow-bg">,</span>
<span class="ansi-green-intense-fg ansi-bold"> 72</span> <span class="ansi-yellow-bg">)</span>
<span class="ansi-green-intense-fg ansi-bold"> 73</span> llm_calls[<span style="color: rgb(175,0,0)">"</span><span style="color: rgb(175,0,0)">build_context</span><span style="color: rgb(175,0,0)">"</span>] <span style="color: rgb(98,98,98)">=</span> context_result<span style="color: rgb(98,98,98)">.</span>llm_calls
<span class="ansi-green-intense-fg ansi-bold"> 74</span> prompt_tokens[<span style="color: rgb(175,0,0)">"</span><span style="color: rgb(175,0,0)">build_context</span><span style="color: rgb(175,0,0)">"</span>] <span style="color: rgb(98,98,98)">=</span> context_result<span style="color: rgb(98,98,98)">.</span>prompt_tokens
File <span class="ansi-green-fg">~/work/graphrag/graphrag/graphrag/query/structured_search/local_search/mixed_context.py:139</span>, in <span class="ansi-cyan-fg">LocalSearchMixedContext.build_context</span><span class="ansi-blue-fg">(self, query, conversation_history, include_entity_names, exclude_entity_names, conversation_history_max_turns, conversation_history_user_turns_only, max_tokens, text_unit_prop, community_prop, top_k_mapped_entities, top_k_relationships, include_community_rank, include_entity_rank, rank_description, include_relationship_weight, relationship_ranking_attribute, return_candidate_context, use_community_summary, min_community_rank, community_context_name, column_delimiter, **kwargs)</span>
<span class="ansi-green-intense-fg ansi-bold"> 134</span> pre_user_questions <span style="color: rgb(98,98,98)">=</span> <span style="color: rgb(175,0,0)">"</span><span class="ansi-bold" style="color: rgb(175,95,0)">\n</span><span style="color: rgb(175,0,0)">"</span><span style="color: rgb(98,98,98)">.</span>join(
<span class="ansi-green-intense-fg ansi-bold"> 135</span> conversation_history<span style="color: rgb(98,98,98)">.</span>get_user_turns(conversation_history_max_turns)
<span class="ansi-green-intense-fg ansi-bold"> 136</span> )
<span class="ansi-green-intense-fg ansi-bold"> 137</span> query <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>query<span class="ansi-bold" style="color: rgb(175,95,135)">}</span><span class="ansi-bold" style="color: rgb(175,95,0)">\n</span><span class="ansi-bold" style="color: rgb(175,95,135)">{</span>pre_user_questions<span class="ansi-bold" style="color: rgb(175,95,135)">}</span><span style="color: rgb(175,0,0)">"</span>
<span class="ansi-green-fg">--&gt; 139</span> selected_entities <span style="color: rgb(98,98,98)">=</span> <span class="ansi-yellow-bg">map_query_to_entities</span><span class="ansi-yellow-bg">(</span>
<span class="ansi-green-intense-fg ansi-bold"> 140</span> <span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">query</span><span class="ansi-yellow-bg" style="color: rgb(98,98,98)">=</span><span class="ansi-yellow-bg">query</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">text_embedding_vectorstore</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" style="color: rgb(98,98,98)">.</span><span class="ansi-yellow-bg">entity_text_embeddings</span><span class="ansi-yellow-bg">,</span>
<span class="ansi-green-intense-fg ansi-bold"> 142</span> <span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">text_embedder</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" style="color: rgb(98,98,98)">.</span><span class="ansi-yellow-bg">text_embedder</span><span class="ansi-yellow-bg">,</span>
<span class="ansi-green-intense-fg ansi-bold"> 143</span> <span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">all_entities_dict</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" style="color: rgb(98,98,98)">.</span><span class="ansi-yellow-bg">entities</span><span class="ansi-yellow-bg">,</span>
<span class="ansi-green-intense-fg ansi-bold"> 144</span> <span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">embedding_vectorstore_key</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" style="color: rgb(98,98,98)">.</span><span class="ansi-yellow-bg">embedding_vectorstore_key</span><span class="ansi-yellow-bg">,</span>
<span class="ansi-green-intense-fg ansi-bold"> 145</span> <span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">include_entity_names</span><span class="ansi-yellow-bg" style="color: rgb(98,98,98)">=</span><span class="ansi-yellow-bg">include_entity_names</span><span class="ansi-yellow-bg">,</span>
<span class="ansi-green-intense-fg ansi-bold"> 146</span> <span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">exclude_entity_names</span><span class="ansi-yellow-bg" style="color: rgb(98,98,98)">=</span><span class="ansi-yellow-bg">exclude_entity_names</span><span class="ansi-yellow-bg">,</span>
<span class="ansi-green-intense-fg ansi-bold"> 147</span> <span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">k</span><span class="ansi-yellow-bg" style="color: rgb(98,98,98)">=</span><span class="ansi-yellow-bg">top_k_mapped_entities</span><span class="ansi-yellow-bg">,</span>
<span class="ansi-green-intense-fg ansi-bold"> 148</span> <span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">oversample_scaler</span><span class="ansi-yellow-bg" style="color: rgb(98,98,98)">=</span><span class="ansi-yellow-bg" style="color: rgb(98,98,98)">2</span><span class="ansi-yellow-bg">,</span>
<span class="ansi-green-intense-fg ansi-bold"> 149</span> <span class="ansi-yellow-bg">)</span>
<span class="ansi-green-intense-fg ansi-bold"> 151</span> <span style="color: rgb(95,135,135)"># build context</span>
<span class="ansi-green-intense-fg ansi-bold"> 152</span> final_context <span style="color: rgb(98,98,98)">=</span> <span style="color: rgb(0,135,0)">list</span>[<span style="color: rgb(0,135,0)">str</span>]()
File <span class="ansi-green-fg">~/work/graphrag/graphrag/graphrag/query/context_builder/entity_extraction.py:58</span>, in <span class="ansi-cyan-fg">map_query_to_entities</span><span class="ansi-blue-fg">(query, text_embedding_vectorstore, text_embedder, all_entities_dict, embedding_vectorstore_key, include_entity_names, exclude_entity_names, k, oversample_scaler)</span>
<span class="ansi-green-intense-fg ansi-bold"> 54</span> matched_entities <span style="color: rgb(98,98,98)">=</span> []
<span class="ansi-green-intense-fg ansi-bold"> 55</span> <span class="ansi-bold" style="color: rgb(0,135,0)">if</span> query <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"> 56</span> <span style="color: rgb(95,135,135)"># get entities with highest semantic similarity to query</span>
<span class="ansi-green-intense-fg ansi-bold"> 57</span> <span style="color: rgb(95,135,135)"># oversample to account for excluded entities</span>
<span class="ansi-green-fg">---&gt; 58</span> search_results <span style="color: rgb(98,98,98)">=</span> <span class="ansi-yellow-bg">text_embedding_vectorstore</span><span class="ansi-yellow-bg" style="color: rgb(98,98,98)">.</span><span class="ansi-yellow-bg">similarity_search_by_text</span><span class="ansi-yellow-bg">(</span>
<span class="ansi-green-intense-fg ansi-bold"> 59</span> <span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">text</span><span class="ansi-yellow-bg" style="color: rgb(98,98,98)">=</span><span class="ansi-yellow-bg">query</span><span class="ansi-yellow-bg">,</span>
<span class="ansi-green-intense-fg ansi-bold"> 60</span> <span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">text_embedder</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)">lambda</span><span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">t</span><span class="ansi-yellow-bg">:</span><span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">text_embedder</span><span class="ansi-yellow-bg" style="color: rgb(98,98,98)">.</span><span class="ansi-yellow-bg">embed</span><span class="ansi-yellow-bg">(</span><span class="ansi-yellow-bg">t</span><span class="ansi-yellow-bg">)</span><span class="ansi-yellow-bg">,</span>
<span class="ansi-green-intense-fg ansi-bold"> 61</span> <span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">k</span><span class="ansi-yellow-bg" style="color: rgb(98,98,98)">=</span><span class="ansi-yellow-bg">k</span><span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg" style="color: rgb(98,98,98)">*</span><span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">oversample_scaler</span><span class="ansi-yellow-bg">,</span>
<span class="ansi-green-intense-fg ansi-bold"> 62</span> <span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">)</span>
<span class="ansi-green-intense-fg ansi-bold"> 63</span> <span class="ansi-bold" style="color: rgb(0,135,0)">for</span> result <span class="ansi-bold" style="color: rgb(175,0,255)">in</span> search_results:
<span class="ansi-green-intense-fg ansi-bold"> 64</span> <span class="ansi-bold" style="color: rgb(0,135,0)">if</span> embedding_vectorstore_key <span style="color: rgb(98,98,98)">==</span> EntityVectorStoreKey<span style="color: rgb(98,98,98)">.</span>ID <span class="ansi-bold" style="color: rgb(175,0,255)">and</span> <span style="color: rgb(0,135,0)">isinstance</span>(
<span class="ansi-green-intense-fg ansi-bold"> 65</span> result<span style="color: rgb(98,98,98)">.</span>document<span style="color: rgb(98,98,98)">.</span>id, <span style="color: rgb(0,135,0)">str</span>
<span class="ansi-green-intense-fg ansi-bold"> 66</span> ):
File <span class="ansi-green-fg">~/work/graphrag/graphrag/graphrag/vector_stores/lancedb.py:134</span>, in <span class="ansi-cyan-fg">LanceDBVectorStore.similarity_search_by_text</span><span class="ansi-blue-fg">(self, text, text_embedder, k, **kwargs)</span>
<span class="ansi-green-intense-fg ansi-bold"> 130</span> <span class="ansi-bold" style="color: rgb(0,135,0)">def</span> <span style="color: rgb(0,0,255)">similarity_search_by_text</span>(
<span class="ansi-green-intense-fg ansi-bold"> 131</span> <span style="color: rgb(0,135,0)">self</span>, text: <span style="color: rgb(0,135,0)">str</span>, text_embedder: TextEmbedder, k: <span style="color: rgb(0,135,0)">int</span> <span style="color: rgb(98,98,98)">=</span> <span style="color: rgb(98,98,98)">10</span>, <span style="color: rgb(98,98,98)">*</span><span style="color: rgb(98,98,98)">*</span>kwargs: Any
<span class="ansi-green-intense-fg ansi-bold"> 132</span> ) <span style="color: rgb(98,98,98)">-</span><span style="color: rgb(98,98,98)">&gt;</span> <span style="color: rgb(0,135,0)">list</span>[VectorStoreSearchResult]:
<span class="ansi-green-intense-fg ansi-bold"> 133</span> <span style="color: rgb(188,188,188)"> </span><span style="color: rgb(175,0,0)">"""Perform a similarity search using a given input text."""</span>
<span class="ansi-green-fg">--&gt; 134</span> query_embedding <span style="color: rgb(98,98,98)">=</span> <span class="ansi-yellow-bg">text_embedder</span><span class="ansi-yellow-bg">(</span><span class="ansi-yellow-bg">text</span><span class="ansi-yellow-bg">)</span>
<span class="ansi-green-intense-fg ansi-bold"> 135</span> <span class="ansi-bold" style="color: rgb(0,135,0)">if</span> query_embedding:
<span class="ansi-green-intense-fg ansi-bold"> 136</span> <span class="ansi-bold" style="color: rgb(0,135,0)">return</span> <span style="color: rgb(0,135,0)">self</span><span style="color: rgb(98,98,98)">.</span>similarity_search_by_vector(query_embedding, k)
File <span class="ansi-green-fg">~/work/graphrag/graphrag/graphrag/query/context_builder/entity_extraction.py:60</span>, in <span class="ansi-cyan-fg">map_query_to_entities.&lt;locals&gt;.&lt;lambda&gt;</span><span class="ansi-blue-fg">(t)</span>
<span class="ansi-green-intense-fg ansi-bold"> 54</span> matched_entities <span style="color: rgb(98,98,98)">=</span> []
<span class="ansi-green-intense-fg ansi-bold"> 55</span> <span class="ansi-bold" style="color: rgb(0,135,0)">if</span> query <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"> 56</span> <span style="color: rgb(95,135,135)"># get entities with highest semantic similarity to query</span>
<span class="ansi-green-intense-fg ansi-bold"> 57</span> <span style="color: rgb(95,135,135)"># oversample to account for excluded entities</span>
<span class="ansi-green-intense-fg ansi-bold"> 58</span> search_results <span style="color: rgb(98,98,98)">=</span> text_embedding_vectorstore<span style="color: rgb(98,98,98)">.</span>similarity_search_by_text(
<span class="ansi-green-intense-fg ansi-bold"> 59</span> text<span style="color: rgb(98,98,98)">=</span>query,
<span class="ansi-green-fg">---&gt; 60</span> text_embedder<span style="color: rgb(98,98,98)">=</span><span class="ansi-bold" style="color: rgb(0,135,0)">lambda</span> t: <span class="ansi-yellow-bg">text_embedder</span><span class="ansi-yellow-bg" style="color: rgb(98,98,98)">.</span><span class="ansi-yellow-bg">embed</span><span class="ansi-yellow-bg">(</span><span class="ansi-yellow-bg">t</span><span class="ansi-yellow-bg">)</span>,
<span class="ansi-green-intense-fg ansi-bold"> 61</span> k<span style="color: rgb(98,98,98)">=</span>k <span style="color: rgb(98,98,98)">*</span> oversample_scaler,
<span class="ansi-green-intense-fg ansi-bold"> 62</span> )
<span class="ansi-green-intense-fg ansi-bold"> 63</span> <span class="ansi-bold" style="color: rgb(0,135,0)">for</span> result <span class="ansi-bold" style="color: rgb(175,0,255)">in</span> search_results:
<span class="ansi-green-intense-fg ansi-bold"> 64</span> <span class="ansi-bold" style="color: rgb(0,135,0)">if</span> embedding_vectorstore_key <span style="color: rgb(98,98,98)">==</span> EntityVectorStoreKey<span style="color: rgb(98,98,98)">.</span>ID <span class="ansi-bold" style="color: rgb(175,0,255)">and</span> <span style="color: rgb(0,135,0)">isinstance</span>(
<span class="ansi-green-intense-fg ansi-bold"> 65</span> result<span style="color: rgb(98,98,98)">.</span>document<span style="color: rgb(98,98,98)">.</span>id, <span style="color: rgb(0,135,0)">str</span>
<span class="ansi-green-intense-fg ansi-bold"> 66</span> ):
File <span class="ansi-green-fg">~/work/graphrag/graphrag/graphrag/query/llm/oai/embedding.py:96</span>, in <span class="ansi-cyan-fg">OpenAIEmbedding.embed</span><span class="ansi-blue-fg">(self, text, **kwargs)</span>
<span class="ansi-green-intense-fg ansi-bold"> 90</span> <span style="color: rgb(0,135,0)">self</span><span style="color: rgb(98,98,98)">.</span>_reporter<span style="color: rgb(98,98,98)">.</span>error(
<span class="ansi-green-intense-fg ansi-bold"> 91</span> message<span style="color: rgb(98,98,98)">=</span><span style="color: rgb(175,0,0)">"</span><span style="color: rgb(175,0,0)">Error embedding chunk</span><span style="color: rgb(175,0,0)">"</span>,
<span class="ansi-green-intense-fg ansi-bold"> 92</span> details<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><span style="color: rgb(0,0,135)">__class__</span><span style="color: rgb(98,98,98)">.</span><span style="color: rgb(0,0,135)">__name__</span>: <span style="color: rgb(0,135,0)">str</span>(e)},
<span class="ansi-green-intense-fg ansi-bold"> 93</span> )
<span class="ansi-green-intense-fg ansi-bold"> 95</span> <span class="ansi-bold" style="color: rgb(0,135,0)">continue</span>
<span class="ansi-green-fg">---&gt; 96</span> chunk_embeddings <span style="color: rgb(98,98,98)">=</span> <span class="ansi-yellow-bg">np</span><span class="ansi-yellow-bg" style="color: rgb(98,98,98)">.</span><span class="ansi-yellow-bg">average</span><span class="ansi-yellow-bg">(</span><span class="ansi-yellow-bg">chunk_embeddings</span><span class="ansi-yellow-bg">,</span><span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">axis</span><span class="ansi-yellow-bg" style="color: rgb(98,98,98)">=</span><span class="ansi-yellow-bg" style="color: rgb(98,98,98)">0</span><span class="ansi-yellow-bg">,</span><span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">weights</span><span class="ansi-yellow-bg" style="color: rgb(98,98,98)">=</span><span class="ansi-yellow-bg">chunk_lens</span><span class="ansi-yellow-bg">)</span>
<span class="ansi-green-intense-fg ansi-bold"> 97</span> chunk_embeddings <span style="color: rgb(98,98,98)">=</span> chunk_embeddings <span style="color: rgb(98,98,98)">/</span> np<span style="color: rgb(98,98,98)">.</span>linalg<span style="color: rgb(98,98,98)">.</span>norm(chunk_embeddings)
<span class="ansi-green-intense-fg ansi-bold"> 98</span> <span class="ansi-bold" style="color: rgb(0,135,0)">return</span> chunk_embeddings<span style="color: rgb(98,98,98)">.</span>tolist()
File <span class="ansi-green-fg">~/.cache/pypoetry/virtualenvs/graphrag-F2jvqev7-py3.11/lib/python3.11/site-packages/numpy/lib/function_base.py:550</span>, in <span class="ansi-cyan-fg">average</span><span class="ansi-blue-fg">(a, axis, weights, returned, keepdims)</span>
<span class="ansi-green-intense-fg ansi-bold"> 548</span> scl <span style="color: rgb(98,98,98)">=</span> wgt<span style="color: rgb(98,98,98)">.</span>sum(axis<span style="color: rgb(98,98,98)">=</span>axis, dtype<span style="color: rgb(98,98,98)">=</span>result_dtype, <span style="color: rgb(98,98,98)">*</span><span style="color: rgb(98,98,98)">*</span>keepdims_kw)
<span class="ansi-green-intense-fg ansi-bold"> 549</span> <span class="ansi-bold" style="color: rgb(0,135,0)">if</span> np<span style="color: rgb(98,98,98)">.</span>any(scl <span style="color: rgb(98,98,98)">==</span> <span style="color: rgb(98,98,98)">0.0</span>):
<span class="ansi-green-fg">--&gt; 550</span> <span class="ansi-bold" style="color: rgb(0,135,0)">raise</span> <span class="ansi-bold" style="color: rgb(215,95,95)">ZeroDivisionError</span>(
<span class="ansi-green-intense-fg ansi-bold"> 551</span> <span style="color: rgb(175,0,0)">"</span><span style="color: rgb(175,0,0)">Weights sum to zero, can</span><span style="color: rgb(175,0,0)">'</span><span style="color: rgb(175,0,0)">t be normalized</span><span style="color: rgb(175,0,0)">"</span>)
<span class="ansi-green-intense-fg ansi-bold"> 553</span> avg <span style="color: rgb(98,98,98)">=</span> avg_as_array <span style="color: rgb(98,98,98)">=</span> np<span style="color: rgb(98,98,98)">.</span>multiply(a, wgt,
<span class="ansi-green-intense-fg ansi-bold"> 554</span> dtype<span style="color: rgb(98,98,98)">=</span>result_dtype)<span style="color: rgb(98,98,98)">.</span>sum(axis, <span style="color: rgb(98,98,98)">*</span><span style="color: rgb(98,98,98)">*</span>keepdims_kw) <span style="color: rgb(98,98,98)">/</span> scl
<span class="ansi-green-intense-fg ansi-bold"> 556</span> <span class="ansi-bold" style="color: rgb(0,135,0)">if</span> returned:
<span class="ansi-red-fg">ZeroDivisionError</span>: Weights sum to zero, can't be normalized</pre>
<span class="ansi-red-fg">NameError</span>: name 'search_engine' is not defined</pre>
</div>
</div>
</div>
@ -3869,8 +3597,8 @@ Cell <span class="ansi-green-fg">In[19], line 1</span>
</div>
</div>
</div>
</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><div class="jp-Cell jp-CodeCell jp-Notebook-cell">
<div class="jp-Cell jp-CodeCell jp-Notebook-cell">
<div class="jp-Cell-inputWrapper" tabindex="0">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
@ -3907,6 +3635,30 @@ Cell <span class="ansi-green-fg">In[19], line 1</span>
</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[20], line 3</span>
<span class="ansi-green-intense-fg ansi-bold"> 1</span> question_generator <span style="color: rgb(98,98,98)">=</span> LocalQuestionGen(
<span class="ansi-green-intense-fg ansi-bold"> 2</span> llm<span style="color: rgb(98,98,98)">=</span>llm,
<span class="ansi-green-fg">----&gt; 3</span> context_builder<span style="color: rgb(98,98,98)">=</span><span class="ansi-yellow-bg">context_builder</span>,
<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> llm_params<span style="color: rgb(98,98,98)">=</span>llm_params,
<span class="ansi-green-intense-fg ansi-bold"> 6</span> context_builder_params<span style="color: rgb(98,98,98)">=</span>local_context_params,
<span class="ansi-green-intense-fg ansi-bold"> 7</span> )
<span class="ansi-red-fg">NameError</span>: name 'context_builder' 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">
@ -3954,121 +3706,21 @@ print(candidate_questions.response)</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="text/plain" tabindex="0">
<pre>Error embedding chunk {'OpenAIEmbedding': "Error code: 429 - {'error': {'message': 'You exceeded your current quota, please check your plan and billing details. For more information on this error, read the docs: https://platform.openai.com/docs/guides/error-codes/api-errors.', 'type': 'insufficient_quota', 'param': None, 'code': 'insufficient_quota'}}"}
</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">ZeroDivisionError</span> Traceback (most recent call last)
<span class="ansi-red-fg">NameError</span> Traceback (most recent call last)
Cell <span class="ansi-green-fg">In[21], line 5</span>
<span class="ansi-green-intense-fg ansi-bold"> 1</span> question_history <span style="color: rgb(98,98,98)">=</span> [
<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)">Tell me about Agent Mercer</span><span style="color: rgb(175,0,0)">"</span>,
<span class="ansi-green-intense-fg ansi-bold"> 3</span> <span style="color: rgb(175,0,0)">"</span><span style="color: rgb(175,0,0)">What happens in Dulce military base?</span><span style="color: rgb(175,0,0)">"</span>,
<span class="ansi-green-intense-fg ansi-bold"> 4</span> ]
<span class="ansi-green-fg">----&gt; 5</span> candidate_questions <span style="color: rgb(98,98,98)">=</span> <span class="ansi-bold" style="color: rgb(0,135,0)">await</span> question_generator<span style="color: rgb(98,98,98)">.</span>agenerate(
<span class="ansi-green-fg">----&gt; 5</span> candidate_questions <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">question_generator</span><span style="color: rgb(98,98,98)">.</span>agenerate(
<span class="ansi-green-intense-fg ansi-bold"> 6</span> question_history<span style="color: rgb(98,98,98)">=</span>question_history, context_data<span style="color: rgb(98,98,98)">=</span><span class="ansi-bold" style="color: rgb(0,135,0)">None</span>, question_count<span style="color: rgb(98,98,98)">=</span><span style="color: rgb(98,98,98)">5</span>
<span class="ansi-green-intense-fg ansi-bold"> 7</span> )
<span class="ansi-green-intense-fg ansi-bold"> 8</span> <span style="color: rgb(0,135,0)">print</span>(candidate_questions<span style="color: rgb(98,98,98)">.</span>response)
File <span class="ansi-green-fg">~/work/graphrag/graphrag/graphrag/query/question_gen/local_gen.py:79</span>, in <span class="ansi-cyan-fg">LocalQuestionGen.agenerate</span><span class="ansi-blue-fg">(self, question_history, context_data, question_count, **kwargs)</span>
<span class="ansi-green-intense-fg ansi-bold"> 73</span> conversation_history <span style="color: rgb(98,98,98)">=</span> ConversationHistory<span style="color: rgb(98,98,98)">.</span>from_list(history)
<span class="ansi-green-intense-fg ansi-bold"> 75</span> <span class="ansi-bold" style="color: rgb(0,135,0)">if</span> context_data <span class="ansi-bold" style="color: rgb(175,0,255)">is</span> <span class="ansi-bold" style="color: rgb(0,135,0)">None</span>:
<span class="ansi-green-intense-fg ansi-bold"> 76</span> <span style="color: rgb(95,135,135)"># generate context data based on the question history</span>
<span class="ansi-green-intense-fg ansi-bold"> 77</span> result <span style="color: rgb(98,98,98)">=</span> cast(
<span class="ansi-green-intense-fg ansi-bold"> 78</span> <span style="color: rgb(175,0,0)">"</span><span style="color: rgb(175,0,0)">ContextBuilderResult</span><span style="color: rgb(175,0,0)">"</span>,
<span class="ansi-green-fg">---&gt; 79</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">context_builder</span><span class="ansi-yellow-bg" style="color: rgb(98,98,98)">.</span><span class="ansi-yellow-bg">build_context</span><span class="ansi-yellow-bg">(</span>
<span class="ansi-green-intense-fg ansi-bold"> 80</span> <span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">query</span><span class="ansi-yellow-bg" style="color: rgb(98,98,98)">=</span><span class="ansi-yellow-bg">question_text</span><span class="ansi-yellow-bg">,</span>
<span class="ansi-green-intense-fg ansi-bold"> 81</span> <span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">conversation_history</span><span class="ansi-yellow-bg" style="color: rgb(98,98,98)">=</span><span class="ansi-yellow-bg">conversation_history</span><span class="ansi-yellow-bg">,</span>
<span class="ansi-green-intense-fg ansi-bold"> 82</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"> 83</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" 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">context_builder_params</span><span class="ansi-yellow-bg">,</span>
<span class="ansi-green-intense-fg ansi-bold"> 84</span> <span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">)</span>,
<span class="ansi-green-intense-fg ansi-bold"> 85</span> )
<span class="ansi-green-intense-fg ansi-bold"> 86</span> context_data <span style="color: rgb(98,98,98)">=</span> cast(<span style="color: rgb(175,0,0)">"</span><span style="color: rgb(175,0,0)">str</span><span style="color: rgb(175,0,0)">"</span>, result<span style="color: rgb(98,98,98)">.</span>context_chunks)
<span class="ansi-green-intense-fg ansi-bold"> 87</span> context_records <span style="color: rgb(98,98,98)">=</span> result<span style="color: rgb(98,98,98)">.</span>context_records
File <span class="ansi-green-fg">~/work/graphrag/graphrag/graphrag/query/structured_search/local_search/mixed_context.py:139</span>, in <span class="ansi-cyan-fg">LocalSearchMixedContext.build_context</span><span class="ansi-blue-fg">(self, query, conversation_history, include_entity_names, exclude_entity_names, conversation_history_max_turns, conversation_history_user_turns_only, max_tokens, text_unit_prop, community_prop, top_k_mapped_entities, top_k_relationships, include_community_rank, include_entity_rank, rank_description, include_relationship_weight, relationship_ranking_attribute, return_candidate_context, use_community_summary, min_community_rank, community_context_name, column_delimiter, **kwargs)</span>
<span class="ansi-green-intense-fg ansi-bold"> 134</span> pre_user_questions <span style="color: rgb(98,98,98)">=</span> <span style="color: rgb(175,0,0)">"</span><span class="ansi-bold" style="color: rgb(175,95,0)">\n</span><span style="color: rgb(175,0,0)">"</span><span style="color: rgb(98,98,98)">.</span>join(
<span class="ansi-green-intense-fg ansi-bold"> 135</span> conversation_history<span style="color: rgb(98,98,98)">.</span>get_user_turns(conversation_history_max_turns)
<span class="ansi-green-intense-fg ansi-bold"> 136</span> )
<span class="ansi-green-intense-fg ansi-bold"> 137</span> query <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>query<span class="ansi-bold" style="color: rgb(175,95,135)">}</span><span class="ansi-bold" style="color: rgb(175,95,0)">\n</span><span class="ansi-bold" style="color: rgb(175,95,135)">{</span>pre_user_questions<span class="ansi-bold" style="color: rgb(175,95,135)">}</span><span style="color: rgb(175,0,0)">"</span>
<span class="ansi-green-fg">--&gt; 139</span> selected_entities <span style="color: rgb(98,98,98)">=</span> <span class="ansi-yellow-bg">map_query_to_entities</span><span class="ansi-yellow-bg">(</span>
<span class="ansi-green-intense-fg ansi-bold"> 140</span> <span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">query</span><span class="ansi-yellow-bg" style="color: rgb(98,98,98)">=</span><span class="ansi-yellow-bg">query</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">text_embedding_vectorstore</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" style="color: rgb(98,98,98)">.</span><span class="ansi-yellow-bg">entity_text_embeddings</span><span class="ansi-yellow-bg">,</span>
<span class="ansi-green-intense-fg ansi-bold"> 142</span> <span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">text_embedder</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" style="color: rgb(98,98,98)">.</span><span class="ansi-yellow-bg">text_embedder</span><span class="ansi-yellow-bg">,</span>
<span class="ansi-green-intense-fg ansi-bold"> 143</span> <span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">all_entities_dict</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" style="color: rgb(98,98,98)">.</span><span class="ansi-yellow-bg">entities</span><span class="ansi-yellow-bg">,</span>
<span class="ansi-green-intense-fg ansi-bold"> 144</span> <span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">embedding_vectorstore_key</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" style="color: rgb(98,98,98)">.</span><span class="ansi-yellow-bg">embedding_vectorstore_key</span><span class="ansi-yellow-bg">,</span>
<span class="ansi-green-intense-fg ansi-bold"> 145</span> <span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">include_entity_names</span><span class="ansi-yellow-bg" style="color: rgb(98,98,98)">=</span><span class="ansi-yellow-bg">include_entity_names</span><span class="ansi-yellow-bg">,</span>
<span class="ansi-green-intense-fg ansi-bold"> 146</span> <span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">exclude_entity_names</span><span class="ansi-yellow-bg" style="color: rgb(98,98,98)">=</span><span class="ansi-yellow-bg">exclude_entity_names</span><span class="ansi-yellow-bg">,</span>
<span class="ansi-green-intense-fg ansi-bold"> 147</span> <span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">k</span><span class="ansi-yellow-bg" style="color: rgb(98,98,98)">=</span><span class="ansi-yellow-bg">top_k_mapped_entities</span><span class="ansi-yellow-bg">,</span>
<span class="ansi-green-intense-fg ansi-bold"> 148</span> <span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">oversample_scaler</span><span class="ansi-yellow-bg" style="color: rgb(98,98,98)">=</span><span class="ansi-yellow-bg" style="color: rgb(98,98,98)">2</span><span class="ansi-yellow-bg">,</span>
<span class="ansi-green-intense-fg ansi-bold"> 149</span> <span class="ansi-yellow-bg">)</span>
<span class="ansi-green-intense-fg ansi-bold"> 151</span> <span style="color: rgb(95,135,135)"># build context</span>
<span class="ansi-green-intense-fg ansi-bold"> 152</span> final_context <span style="color: rgb(98,98,98)">=</span> <span style="color: rgb(0,135,0)">list</span>[<span style="color: rgb(0,135,0)">str</span>]()
File <span class="ansi-green-fg">~/work/graphrag/graphrag/graphrag/query/context_builder/entity_extraction.py:58</span>, in <span class="ansi-cyan-fg">map_query_to_entities</span><span class="ansi-blue-fg">(query, text_embedding_vectorstore, text_embedder, all_entities_dict, embedding_vectorstore_key, include_entity_names, exclude_entity_names, k, oversample_scaler)</span>
<span class="ansi-green-intense-fg ansi-bold"> 54</span> matched_entities <span style="color: rgb(98,98,98)">=</span> []
<span class="ansi-green-intense-fg ansi-bold"> 55</span> <span class="ansi-bold" style="color: rgb(0,135,0)">if</span> query <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"> 56</span> <span style="color: rgb(95,135,135)"># get entities with highest semantic similarity to query</span>
<span class="ansi-green-intense-fg ansi-bold"> 57</span> <span style="color: rgb(95,135,135)"># oversample to account for excluded entities</span>
<span class="ansi-green-fg">---&gt; 58</span> search_results <span style="color: rgb(98,98,98)">=</span> <span class="ansi-yellow-bg">text_embedding_vectorstore</span><span class="ansi-yellow-bg" style="color: rgb(98,98,98)">.</span><span class="ansi-yellow-bg">similarity_search_by_text</span><span class="ansi-yellow-bg">(</span>
<span class="ansi-green-intense-fg ansi-bold"> 59</span> <span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">text</span><span class="ansi-yellow-bg" style="color: rgb(98,98,98)">=</span><span class="ansi-yellow-bg">query</span><span class="ansi-yellow-bg">,</span>
<span class="ansi-green-intense-fg ansi-bold"> 60</span> <span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">text_embedder</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)">lambda</span><span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">t</span><span class="ansi-yellow-bg">:</span><span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">text_embedder</span><span class="ansi-yellow-bg" style="color: rgb(98,98,98)">.</span><span class="ansi-yellow-bg">embed</span><span class="ansi-yellow-bg">(</span><span class="ansi-yellow-bg">t</span><span class="ansi-yellow-bg">)</span><span class="ansi-yellow-bg">,</span>
<span class="ansi-green-intense-fg ansi-bold"> 61</span> <span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">k</span><span class="ansi-yellow-bg" style="color: rgb(98,98,98)">=</span><span class="ansi-yellow-bg">k</span><span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg" style="color: rgb(98,98,98)">*</span><span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">oversample_scaler</span><span class="ansi-yellow-bg">,</span>
<span class="ansi-green-intense-fg ansi-bold"> 62</span> <span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">)</span>
<span class="ansi-green-intense-fg ansi-bold"> 63</span> <span class="ansi-bold" style="color: rgb(0,135,0)">for</span> result <span class="ansi-bold" style="color: rgb(175,0,255)">in</span> search_results:
<span class="ansi-green-intense-fg ansi-bold"> 64</span> <span class="ansi-bold" style="color: rgb(0,135,0)">if</span> embedding_vectorstore_key <span style="color: rgb(98,98,98)">==</span> EntityVectorStoreKey<span style="color: rgb(98,98,98)">.</span>ID <span class="ansi-bold" style="color: rgb(175,0,255)">and</span> <span style="color: rgb(0,135,0)">isinstance</span>(
<span class="ansi-green-intense-fg ansi-bold"> 65</span> result<span style="color: rgb(98,98,98)">.</span>document<span style="color: rgb(98,98,98)">.</span>id, <span style="color: rgb(0,135,0)">str</span>
<span class="ansi-green-intense-fg ansi-bold"> 66</span> ):
File <span class="ansi-green-fg">~/work/graphrag/graphrag/graphrag/vector_stores/lancedb.py:134</span>, in <span class="ansi-cyan-fg">LanceDBVectorStore.similarity_search_by_text</span><span class="ansi-blue-fg">(self, text, text_embedder, k, **kwargs)</span>
<span class="ansi-green-intense-fg ansi-bold"> 130</span> <span class="ansi-bold" style="color: rgb(0,135,0)">def</span> <span style="color: rgb(0,0,255)">similarity_search_by_text</span>(
<span class="ansi-green-intense-fg ansi-bold"> 131</span> <span style="color: rgb(0,135,0)">self</span>, text: <span style="color: rgb(0,135,0)">str</span>, text_embedder: TextEmbedder, k: <span style="color: rgb(0,135,0)">int</span> <span style="color: rgb(98,98,98)">=</span> <span style="color: rgb(98,98,98)">10</span>, <span style="color: rgb(98,98,98)">*</span><span style="color: rgb(98,98,98)">*</span>kwargs: Any
<span class="ansi-green-intense-fg ansi-bold"> 132</span> ) <span style="color: rgb(98,98,98)">-</span><span style="color: rgb(98,98,98)">&gt;</span> <span style="color: rgb(0,135,0)">list</span>[VectorStoreSearchResult]:
<span class="ansi-green-intense-fg ansi-bold"> 133</span> <span style="color: rgb(188,188,188)"> </span><span style="color: rgb(175,0,0)">"""Perform a similarity search using a given input text."""</span>
<span class="ansi-green-fg">--&gt; 134</span> query_embedding <span style="color: rgb(98,98,98)">=</span> <span class="ansi-yellow-bg">text_embedder</span><span class="ansi-yellow-bg">(</span><span class="ansi-yellow-bg">text</span><span class="ansi-yellow-bg">)</span>
<span class="ansi-green-intense-fg ansi-bold"> 135</span> <span class="ansi-bold" style="color: rgb(0,135,0)">if</span> query_embedding:
<span class="ansi-green-intense-fg ansi-bold"> 136</span> <span class="ansi-bold" style="color: rgb(0,135,0)">return</span> <span style="color: rgb(0,135,0)">self</span><span style="color: rgb(98,98,98)">.</span>similarity_search_by_vector(query_embedding, k)
File <span class="ansi-green-fg">~/work/graphrag/graphrag/graphrag/query/context_builder/entity_extraction.py:60</span>, in <span class="ansi-cyan-fg">map_query_to_entities.&lt;locals&gt;.&lt;lambda&gt;</span><span class="ansi-blue-fg">(t)</span>
<span class="ansi-green-intense-fg ansi-bold"> 54</span> matched_entities <span style="color: rgb(98,98,98)">=</span> []
<span class="ansi-green-intense-fg ansi-bold"> 55</span> <span class="ansi-bold" style="color: rgb(0,135,0)">if</span> query <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"> 56</span> <span style="color: rgb(95,135,135)"># get entities with highest semantic similarity to query</span>
<span class="ansi-green-intense-fg ansi-bold"> 57</span> <span style="color: rgb(95,135,135)"># oversample to account for excluded entities</span>
<span class="ansi-green-intense-fg ansi-bold"> 58</span> search_results <span style="color: rgb(98,98,98)">=</span> text_embedding_vectorstore<span style="color: rgb(98,98,98)">.</span>similarity_search_by_text(
<span class="ansi-green-intense-fg ansi-bold"> 59</span> text<span style="color: rgb(98,98,98)">=</span>query,
<span class="ansi-green-fg">---&gt; 60</span> text_embedder<span style="color: rgb(98,98,98)">=</span><span class="ansi-bold" style="color: rgb(0,135,0)">lambda</span> t: <span class="ansi-yellow-bg">text_embedder</span><span class="ansi-yellow-bg" style="color: rgb(98,98,98)">.</span><span class="ansi-yellow-bg">embed</span><span class="ansi-yellow-bg">(</span><span class="ansi-yellow-bg">t</span><span class="ansi-yellow-bg">)</span>,
<span class="ansi-green-intense-fg ansi-bold"> 61</span> k<span style="color: rgb(98,98,98)">=</span>k <span style="color: rgb(98,98,98)">*</span> oversample_scaler,
<span class="ansi-green-intense-fg ansi-bold"> 62</span> )
<span class="ansi-green-intense-fg ansi-bold"> 63</span> <span class="ansi-bold" style="color: rgb(0,135,0)">for</span> result <span class="ansi-bold" style="color: rgb(175,0,255)">in</span> search_results:
<span class="ansi-green-intense-fg ansi-bold"> 64</span> <span class="ansi-bold" style="color: rgb(0,135,0)">if</span> embedding_vectorstore_key <span style="color: rgb(98,98,98)">==</span> EntityVectorStoreKey<span style="color: rgb(98,98,98)">.</span>ID <span class="ansi-bold" style="color: rgb(175,0,255)">and</span> <span style="color: rgb(0,135,0)">isinstance</span>(
<span class="ansi-green-intense-fg ansi-bold"> 65</span> result<span style="color: rgb(98,98,98)">.</span>document<span style="color: rgb(98,98,98)">.</span>id, <span style="color: rgb(0,135,0)">str</span>
<span class="ansi-green-intense-fg ansi-bold"> 66</span> ):
File <span class="ansi-green-fg">~/work/graphrag/graphrag/graphrag/query/llm/oai/embedding.py:96</span>, in <span class="ansi-cyan-fg">OpenAIEmbedding.embed</span><span class="ansi-blue-fg">(self, text, **kwargs)</span>
<span class="ansi-green-intense-fg ansi-bold"> 90</span> <span style="color: rgb(0,135,0)">self</span><span style="color: rgb(98,98,98)">.</span>_reporter<span style="color: rgb(98,98,98)">.</span>error(
<span class="ansi-green-intense-fg ansi-bold"> 91</span> message<span style="color: rgb(98,98,98)">=</span><span style="color: rgb(175,0,0)">"</span><span style="color: rgb(175,0,0)">Error embedding chunk</span><span style="color: rgb(175,0,0)">"</span>,
<span class="ansi-green-intense-fg ansi-bold"> 92</span> details<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><span style="color: rgb(0,0,135)">__class__</span><span style="color: rgb(98,98,98)">.</span><span style="color: rgb(0,0,135)">__name__</span>: <span style="color: rgb(0,135,0)">str</span>(e)},
<span class="ansi-green-intense-fg ansi-bold"> 93</span> )
<span class="ansi-green-intense-fg ansi-bold"> 95</span> <span class="ansi-bold" style="color: rgb(0,135,0)">continue</span>
<span class="ansi-green-fg">---&gt; 96</span> chunk_embeddings <span style="color: rgb(98,98,98)">=</span> <span class="ansi-yellow-bg">np</span><span class="ansi-yellow-bg" style="color: rgb(98,98,98)">.</span><span class="ansi-yellow-bg">average</span><span class="ansi-yellow-bg">(</span><span class="ansi-yellow-bg">chunk_embeddings</span><span class="ansi-yellow-bg">,</span><span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">axis</span><span class="ansi-yellow-bg" style="color: rgb(98,98,98)">=</span><span class="ansi-yellow-bg" style="color: rgb(98,98,98)">0</span><span class="ansi-yellow-bg">,</span><span class="ansi-yellow-bg"> </span><span class="ansi-yellow-bg">weights</span><span class="ansi-yellow-bg" style="color: rgb(98,98,98)">=</span><span class="ansi-yellow-bg">chunk_lens</span><span class="ansi-yellow-bg">)</span>
<span class="ansi-green-intense-fg ansi-bold"> 97</span> chunk_embeddings <span style="color: rgb(98,98,98)">=</span> chunk_embeddings <span style="color: rgb(98,98,98)">/</span> np<span style="color: rgb(98,98,98)">.</span>linalg<span style="color: rgb(98,98,98)">.</span>norm(chunk_embeddings)
<span class="ansi-green-intense-fg ansi-bold"> 98</span> <span class="ansi-bold" style="color: rgb(0,135,0)">return</span> chunk_embeddings<span style="color: rgb(98,98,98)">.</span>tolist()
File <span class="ansi-green-fg">~/.cache/pypoetry/virtualenvs/graphrag-F2jvqev7-py3.11/lib/python3.11/site-packages/numpy/lib/function_base.py:550</span>, in <span class="ansi-cyan-fg">average</span><span class="ansi-blue-fg">(a, axis, weights, returned, keepdims)</span>
<span class="ansi-green-intense-fg ansi-bold"> 548</span> scl <span style="color: rgb(98,98,98)">=</span> wgt<span style="color: rgb(98,98,98)">.</span>sum(axis<span style="color: rgb(98,98,98)">=</span>axis, dtype<span style="color: rgb(98,98,98)">=</span>result_dtype, <span style="color: rgb(98,98,98)">*</span><span style="color: rgb(98,98,98)">*</span>keepdims_kw)
<span class="ansi-green-intense-fg ansi-bold"> 549</span> <span class="ansi-bold" style="color: rgb(0,135,0)">if</span> np<span style="color: rgb(98,98,98)">.</span>any(scl <span style="color: rgb(98,98,98)">==</span> <span style="color: rgb(98,98,98)">0.0</span>):
<span class="ansi-green-fg">--&gt; 550</span> <span class="ansi-bold" style="color: rgb(0,135,0)">raise</span> <span class="ansi-bold" style="color: rgb(215,95,95)">ZeroDivisionError</span>(
<span class="ansi-green-intense-fg ansi-bold"> 551</span> <span style="color: rgb(175,0,0)">"</span><span style="color: rgb(175,0,0)">Weights sum to zero, can</span><span style="color: rgb(175,0,0)">'</span><span style="color: rgb(175,0,0)">t be normalized</span><span style="color: rgb(175,0,0)">"</span>)
<span class="ansi-green-intense-fg ansi-bold"> 553</span> avg <span style="color: rgb(98,98,98)">=</span> avg_as_array <span style="color: rgb(98,98,98)">=</span> np<span style="color: rgb(98,98,98)">.</span>multiply(a, wgt,
<span class="ansi-green-intense-fg ansi-bold"> 554</span> dtype<span style="color: rgb(98,98,98)">=</span>result_dtype)<span style="color: rgb(98,98,98)">.</span>sum(axis, <span style="color: rgb(98,98,98)">*</span><span style="color: rgb(98,98,98)">*</span>keepdims_kw) <span style="color: rgb(98,98,98)">/</span> scl
<span class="ansi-green-intense-fg ansi-bold"> 556</span> <span class="ansi-bold" style="color: rgb(0,135,0)">if</span> returned:
<span class="ansi-red-fg">ZeroDivisionError</span>: Weights sum to zero, can't be normalized</pre>
<span class="ansi-red-fg">NameError</span>: name 'question_generator' is not defined</pre>
</div>
</div>
</div>

Binary file not shown.