Sure, here's the translation in simplified Chinese while keeping the HTML structure intact: ```html Integrating Microsoft GraphRAG into Neo4j ``` In this HTML snippet: - `Microsoft GraphRAG` represents "Microsoft GraphRAG" in simplified Chinese. - `Neo4j` represents "Neo4j" in simplified Chinese.

Sure, here's the translated text in simplified Chinese while maintaining the HTML structure: ```html 存储 MSFT GraphRAG 输出到 Neo4j,并使用 LangChain 或 LlamaIndex 实现本地和全局检索器 ``` This translation keeps the original structure intact while conveying the meaning in simplified Chinese.

Image created with ChatGPT.

Sure, here is the HTML structure with the translated text in simplified Chinese: ```html

Microsoft 的 GraphRAG 实现最近引起了相当大的关注。在我最后一篇博客中,我讨论了图的构建方式,并探讨了研究论文中突出的一些创新方面。从高层次来看,GraphRAG 库的输入是包含各种信息的源文档。使用大型语言模型(LLM)处理这些文档,以提取关于文档中实体及其关系的结构化信息。然后,利用这些提取出的结构化信息来构建知识图。

``` This HTML snippet contains the translated text in simplified Chinese while preserving the basic structure for web content.
High-level indexing pipeline as implemented in the GraphRAG paper by Microsoft — Image by author

Sure, here's the translated text in simplified Chinese while maintaining HTML structure: ```html 在知识图谱构建完成后,GraphRAG库利用图算法的组合,特别是Leiden社区检测算法和LLM提示,生成知识图谱中发现的实体和关系的社区的自然语言总结。 ```

Sure, here's the HTML structure with the translated text in simplified Chinese: ```html

在本文中,我们将从GraphRAG库获取的输出存储在Neo4j中,然后使用LangChain和LlamaIndex编排框架直接从Neo4j设置检索器。

``` In simplified Chinese, the translation would be: "在本文中,我们将从GraphRAG库获取的输出存储在Neo4j中,然后使用LangChain和LlamaIndex编排框架直接从Neo4j设置检索器。"

Sure, here's how you could structure the HTML while providing the translation: ```html

The code and GraphRAG output are accessible on GitHub, allowing you to skip the GraphRAG extraction process.

代码和GraphRAG输出可以在GitHub上找到,这样你就可以跳过GraphRAG提取过程。

``` This HTML code includes the original English text and its simplified Chinese translation in separate paragraphs, maintaining the basic HTML structure.

Sure, here's how you would write "Dataset" in simplified Chinese within an HTML structure: ```html 数据集 ``` This HTML snippet uses `` to indicate a section of text and `lang="zh-CN"` to specify the language as simplified Chinese. The text "数据集" is the translation of "Dataset" in simplified Chinese.

Certainly! Here's the translation in simplified Chinese, keeping the HTML structure intact: ```html

本博文中提到的数据集是查尔斯·狄更斯的《圣诞颂歌》,该数据集可以通过古腾堡计划免费获取。

``` In this HTML snippet: - `

` denotes a paragraph tag, used for structuring the text. - The Chinese text inside the `

` tags is the translation of "The dataset featured in this blog post is “A Christmas Carol” by Charles Dickens, which is freely accessible via the Gutenberg Project."

Certainly! Here's the HTML structure with the translated text in simplified Chinese: ```html

我们选择这本书作为源文件,因为它在介绍文档中被突出显示,这使我们能够轻松进行提取。

``` In this HTML snippet: - `

` is used to denote a paragraph. - The Chinese text inside `

` is the translation of "We selected this book as the source document because it is highlighted in the introductory documentation, allowing us to perform the extraction effortlessly."

Certainly! Here is the translation of "Graph construction" into simplified Chinese, while keeping the HTML structure intact: ```html 图构建 ```

Certainly! Here's the HTML structure with the simplified Chinese translation: ```html

即使您可以跳过图形提取部分,我们将讨论我认为最重要的几个配置选项。例如,图形提取可能非常消耗令牌并且成本高昂。因此,使用像gpt-4o-mini这样性能良好但相对便宜的LLM来测试提取是有意义的。正如本博客文章所述,从gpt-4-turbo到gpt-4o-mini的成本降低可能显著,同时保持良好的准确性。

``` In this HTML snippet, the Chinese text is contained within `

` tags, maintaining the structure while presenting the translated content.

GRAPHRAG_LLM_MODEL=gpt-4o-mini

Sure, here's the translated text in simplified Chinese while keeping the HTML structure intact: ```html

最重要的配置是我们想要提取的实体类型。默认情况下,提取的实体包括组织、个人、事件和地理位置。

``` This HTML snippet contains the translated text in simplified Chinese.
GRAPHRAG_ENTITY_EXTRACTION_ENTITY_TYPES=organization,person,event,geo

以下默认的实体类型可能对书籍很有效,但请确保根据您正在处理的文档域来相应地进行更改,以适应特定的使用案例。

Certainly! Here is the translated text in simplified Chinese while keeping the HTML structure intact: ```html

另一个重要的配置是最大收集值。作者们确认,我们也单独验证过,LLM 在单次提取中并未提取所有可用信息。

``` This HTML snippet preserves the structure of the original text while providing the translation in simplified Chinese.
Number of extract entities given the size of text chunks — Image from the GraphRAG paper, licensed under CC BY 4.0

Certainly! Here's the translated text in simplified Chinese, while keeping the HTML structure intact: ```html

梳理配置允许LLM执行多次提取通行证。在上述图像中,我们清楚地看到,进行多次通行证(梳理)时,我们提取了更多信息。多次通行证对标记密集型,因此像gpt-4o-mini这样的廉价模型有助于降低成本。

``` This HTML snippet preserves the structure of the original text while providing the translation in simplified Chinese.
GRAPHRAG_ENTITY_EXTRACTION_MAX_GLEANINGS=1

Sure, here's how you could structure and translate that text into simplified Chinese while keeping the HTML structure intact: ```html

此外,默认情况下不会提取索赔或协变量信息。您可以通过设置GRAPHRAG_CLAIM_EXTRACTION_ENABLED配置来启用它。

``` In this HTML snippet: - `

` denotes a paragraph element in HTML. - The Chinese text inside `

` tags is the translated version of the provided English sentence. Make sure to adjust the `GRAPHRAG_CLAIM_EXTRACTION_ENABLED` part according to your actual configuration or variable name as needed.

GRAPHRAG_CLAIM_EXTRACTION_ENABLED=False
GRAPHRAG_CLAIM_EXTRACTION_MAX_GLEANINGS=1

Sure, here is the HTML structure with the translated text in simplified Chinese: ```html

似乎反复出现的主题是,并非所有结构化信息都能在一次提取中完成。因此,我们在这里也提供了提取配置选项。

``` In this HTML snippet: - `

` denotes a paragraph tag in HTML. - The Chinese text provided is a direct translation of the English text you provided.

Certainly! Here's how you could structure your HTML with the translated Chinese text included: ```html

What’s also interesting, but I haven’t had time to dig deeper is the prompt tuning section. Prompt tuning is optional, but highly encouraged as it can improve accuracy.

``` Translated to simplified Chinese: ```html

另外有趣的是,但我还没有时间深入挖掘的是提示调整部分。提示调整是可选的,但强烈建议,因为它可以提高准确性。

``` Make sure to use UTF-8 encoding to display Chinese characters correctly.

Sure, here is the translated text in simplified Chinese while keeping the HTML structure: ```html 在配置设置完成后,我们可以按照说明来运行图抽取管道,该过程包括以下步骤。 ``` This HTML snippet maintains the structure for easy integration into web pages or documents where HTML formatting is required.

Steps in the pipeline — Image from the GraphRAG paper, licensed under CC BY 4.0

Certainly! Here's the translated text in simplified Chinese, keeping the HTML structure: ```html

提取流水线执行上图中的所有蓝色步骤。请查阅我的上一篇博客文章,了解更多关于图构建和社区总结的内容。MSFT GraphRAG库的图提取流水线的输出是一组parquet文件,如Operation Dulce示例所示。

``` In this HTML snippet: - `

` tags are used for paragraphs to maintain the structure of the text. - The text has been translated into simplified Chinese, with each sentence clearly segmented and translated accordingly.

Sure, here is the translated text in simplified Chinese, keeping the HTML structure: ```html

这些 Parquet 文件可以轻松导入到 Neo4j 图数据库中,用于下游分析、可视化和检索。我们可以使用免费的云 Aura 实例或设置本地 Neo4j 环境。我的朋友 Michael Hunger 在将 Parquet 文件导入 Neo4j 方面做了大部分工作。我们将在本博文中跳过导入的解释,但它包括从五到六个 CSV 文件中导入并构建知识图谱。如果您想了解更多关于 CSV 导入的信息,可以查看 Neo4j 图学院的课程。

``` This HTML snippet retains the structure while presenting the translated text in simplified Chinese.

Sure, here's the HTML structure with the translated text in simplified Chinese: ```html

导入代码可在GitHub上的Jupyter笔记本中找到,还附有示例GraphRAG输出。

``` This HTML snippet will display the translated text "导入代码可在GitHub上的Jupyter笔记本中找到,还附有示例GraphRAG输出。"

Certainly! Here's the translated text in simplified Chinese while maintaining the HTML structure: ```html 在导入完成后,我们可以打开 Neo4j 浏览器来验证和可视化已导入图形的部分。 ``` This HTML snippet ensures the structure is preserved for embedding into a web page or document.

Part of the imported graph. Image by the author.

Sure, here's how you could write "Graph analysis" in simplified Chinese within an HTML structure: ```html 图分析 ``` In this example: - `` is used to enclose the text. - `lang="zh-CN"` specifies the language as simplified Chinese. - "图分析" translates to "Graph analysis" in simplified Chinese.

Certainly! Here is the translated text in simplified Chinese, while keeping the HTML structure: ```html

在开始实现检索器之前,我们将进行简单的图分析,以熟悉提取的数据。我们首先定义数据库连接,然后编写一个执行Cypher语句(图数据库查询语言)并输出Pandas DataFrame的函数。

``` Translated text (simplified Chinese): "在开始实现检索器之前,我们将进行简单的图分析,以熟悉提取的数据。我们首先定义数据库连接,然后编写一个执行Cypher语句(图数据库查询语言)并输出Pandas DataFrame的函数。"
NEO4J_URI="bolt://localhost"
NEO4J_USERNAME="neo4j"
NEO4J_PASSWORD="password"

driver = GraphDatabase.driver(NEO4J_URI, auth=(NEO4J_USERNAME, NEO4J_PASSWORD))

def db_query(cypher: str, params: Dict[str, Any] = {}) -> pd.DataFrame:
"""Executes a Cypher statement and returns a DataFrame"""
return driver.execute_query(
cypher, parameters_=params, result_transformer_=Result.to_df
)

Sure, here's how you can structure the HTML while incorporating the translated text in simplified Chinese: ```html

Translate to Simplified Chinese

Translate to Simplified Chinese

When performing the graph extraction, we used a chunk size of 300. Since then, the authors have changed the default chunk size to 1200. We can validate the chunk sizes using the following Cypher statement.

Translation:

进行图提取时,我们使用了一个大小为300的块。自那时起,作者已将默认块大小更改为1200。我们可以使用以下Cypher语句验证块大小。

``` In the translation, "Cypher statement" is assumed to be a technical term that doesn't need translation. If you need a specific translation for "Cypher statement" as well, please let me know!
db_query(
"MATCH (n:__Chunk__) RETURN n.n_tokens as token_count, count(*) AS count"
)
# token_count count
# 300 230
# 155 1

Certainly! Here's the HTML structure with the translated text in simplified Chinese: ```html

230个块包含300个标记,而最后一个仅包含155个标记。现在让我们检查一个实体及其描述的示例。

``` In simplified Chinese: "230个块包含300个标记,而最后一个仅包含155个标记。现在让我们检查一个实体及其描述的示例。" This preserves the HTML structure while presenting the text in Chinese.
db_query(
"MATCH (n:__Entity__) RETURN n.name AS name, n.description AS description LIMIT 1"
)

Sure, here is the translation of "Results" into simplified Chinese, keeping the HTML structure: ```html 结果 ``` In this translation: - `` is used to wrap the text "结果" which means "Results" in simplified Chinese. - This keeps the HTML structure intact while providing the translation.

Example entity name and description. Image by author.

Certainly! Here's the translated text in simplified Chinese, while keeping the HTML structure intact: ```html

似乎项目古腾堡在书中某处有所描述,可能在开头部分。我们可以观察到,描述能够捕捉比实体名称更详细和复杂的信息,这正如MSFT GraphRAG论文中介绍的,以保留文本中更复杂和微妙的数据。

``` This HTML code contains the translated text in simplified Chinese within a paragraph (`

` tag).

Sure, here's how you could structure the HTML while including the translated text in simplified Chinese: ```html

Example Relationships

Example Relationships

让我们也来检查一些示例关系。

``` In this HTML structure: - `` tag specifies the title of the webpage. - `<h1>` tag is used for the main heading. - `</h1> <p>` tag contains the translated text "让我们也来检查一些示例关系。", which means "Let's check example relationships as well."</p> <pre><span id="c53a" class="qt oy gt qq b bf qu qv l qw qx">db_query(<br> "MATCH ()-[n:RELATED]->() RETURN n.description AS description LIMIT 5"<br>)</span></pre> <p>Sure, here is "Results" translated into simplified Chinese while maintaining HTML structure: ```html <span lang="zh-CN">结果</span> ``` This HTML snippet uses the `<span>` tag to define a specific section of text and the `lang="zh-CN"` attribute to specify simplified Chinese as the language.</span></p> <figure class="nk nl nm nn no np nh ni paragraph-image"><div role="button" tabindex="0" class="nq nr fi ns bg nt"><div class="nh ni ri"><picture><img alt="" class="bg mo nu c" width="700" height="210" loading="lazy" role="presentation" src="/posts/1%24NNdUll-fDgSVjRCkNDGZyA.png"></picture></div></div> <figcaption class="nv fe nw nh ni nx ny be b bf z dt">Example relationship descriptions. Image by author.</figcaption></figure><p>Sure, here's the text translated into simplified Chinese while maintaining the HTML structure: ```html </p> <p>The MSFT GraphRAG goes beyond merely extracting simple relationship types between entities by capturing detailed relationship descriptions. This capability allows it to capture more nuanced information than straightforward relationship types.</p> ``` Translated text in simplified Chinese: ```html <p>MSFT GraphRAG不仅仅提取实体之间的简单关系类型,还捕获详细的关系描述。这种能力使其能够捕获比直接关系类型更丰富的信息。</p> ``` This HTML snippet preserves the structure and provides the translated content in simplified Chinese.<p>Sure, here is the translation in simplified Chinese while maintaining the HTML structure: ```html 我们还可以研究单个社区及其生成的描述。 ``` This HTML code will display the translated text while preserving the structure of the HTML document.</p> <pre><span id="edc8" class="qt oy gt qq b bf qu qv l qw qx">db_query("""<br> MATCH (n:__Community__) <br> RETURN n.title AS title, n.summary AS summary, n.full_content AS full_content LIMIT 1<br>""")</span></pre> <p>Sure, here is the translation of "Results" in simplified Chinese, while keeping the HTML structure: ```html <span lang="zh-CN">结果</span> ``` In this HTML snippet: - `<span>` is used to wrap the translated text. - `lang="zh-CN"` specifies the language code for simplified Chinese. - "结果" is the translation of "Results" in simplified Chinese.</span></p> <figure class="nk nl nm nn no np nh ni paragraph-image"><div role="button" tabindex="0" class="nq nr fi ns bg nt"><div class="nh ni rj"><picture><img alt="" class="bg mo nu c" width="700" height="445" loading="lazy" role="presentation" src="/posts/1%24ybpRKOk_p3c7MJphtxrQZA.png"></picture></div></div> <figcaption class="nv fe nw nh ni nx ny be b bf z dt">Example community description. Image by author.</figcaption></figure><p>Sure, here's how you can structure the HTML while translating the text into simplified Chinese: ```html </p> <div> <p>社区包含标题、摘要和完整内容,使用LLM生成。我还没有看到作者在检索时是使用完整内容还是摘要,但我们可以在两者之间选择。我们可以在完整内容中观察到引用,这些引用指向信息来源的实体和关系。有趣的是,LLM有时会修剪引用,特别是在以下例子中。</p> </div> ``` In simplified Chinese: ```html <div> <p>一个社区有标题、摘要和完整内容,使用LLM生成。我还没看到作者在检索时是用完整内容还是摘要,但我们可以在两者之间选择。我们可以在完整内容中观察到引用,这些引用指向信息来源的实体和关系。有趣的是,有时LLM会修剪引用,比如以下例子。</p> </div> ``` This HTML structure ensures that the translated Chinese text is properly maintained within its intended context.<pre><span id="710e" class="qt oy gt qq b bf qu qv l qw qx">[Data: Entities (11, 177); Relationships (25, 159, 20, 29, +more)]</span></pre> <p>Sure, here's the translation in simplified Chinese, maintaining the HTML structure: ```html <span>无法展开“+更多”符号,这是一种有趣的方式来处理LLM的长引用。</span> ```</p> <p>To translate the given English text to simplified Chinese while keeping the HTML structure intact, you can use the following code snippet: ```html </p> <p>现在让我们评估一些分布情况。我们将从检查从文本块中提取的实体计数的分布开始。</p> ``` In this HTML snippet: - `<p>` tags are used to encapsulate the translated text to represent a paragraph. - The Chinese text translates to: "Let's now evaluate some distributions. We'll start by inspecting the distribution of the count of extracted entities from text chunks." Make sure to use UTF-8 encoding in your HTML document to ensure proper display of Chinese characters.</p> <pre><span id="5381" class="qt oy gt qq b bf qu qv l qw qx">entity_df = db_query(<br> """<br>MATCH (d:__Chunk__)<br>RETURN count {(d)-[:HAS_ENTITY]->()} AS entity_count<br>"""<br>)<br># Plot distribution<br>plt.figure(figsize=(10, 6))<br>sns.histplot(entity_df['entity_count'], kde=True, bins=15, color='skyblue')<br>plt.axvline(entity_df['entity_count'].mean(), color='red', linestyle='dashed', linewidth=1)<br>plt.axvline(entity_df['entity_count'].median(), color='green', linestyle='dashed', linewidth=1)<br>plt.xlabel('Entity Count', fontsize=12)<br>plt.ylabel('Frequency', fontsize=12)<br>plt.title('Distribution of Entity Count', fontsize=15)<br>plt.legend({'Mean': entity_df['entity_count'].mean(), 'Median': entity_df['entity_count'].median()})<br>plt.show()</span></pre> <p>Sure, here's the translation in simplified Chinese while keeping the HTML structure: ```html <span>结果</span> ```</p> <figure class="nk nl nm nn no np nh ni paragraph-image"><div role="button" tabindex="0" class="nq nr fi ns bg nt"><div class="nh ni rk"><picture><img alt="" class="bg mo nu c" width="700" height="444" loading="lazy" role="presentation" src="/posts/1%24nSB_1gLktxuTKV1ikox5dQ.png"></picture></div></div> <figcaption class="nv fe nw nh ni nx ny be b bf z dt">Distribution of the count of extracted entities from text chunks. Image by author.</figcaption></figure><p>Certainly! Here is the HTML structure with the translated text in simplified Chinese: ```html </p> <p>记住,文本块有300个标记。因此,提取的实体数量相对较少,每个文本块平均约为三个实体。提取是在没有任何信息获取的情况下完成的(单次提取)。如果我们增加信息获取的次数,看到分布将会很有趣。</p> ``` In simplified Chinese: ```html <p>记住,文本块有300个标记。因此,提取出的实体数量相对较少,每个文本块平均约为三个实体。提取是在没有任何获取的情况下完成的(单次提取)。如果我们增加获取次数,看到分布将会很有趣。</p> ``` This HTML snippet preserves the structure while presenting the text in simplified Chinese.<p>Certainly! Here's the translation of the text into simplified Chinese, while keeping the HTML structure intact: ```html </p> <p>接下来,我们将评估节点度分布。节点度是指节点拥有的关系数量。</p> ``` In this HTML snippet: - `<p>` indicates a paragraph tag in HTML, used here to encapsulate the translated text. - The translated Chinese text means "Next, we will evaluate the node degree distribution. A node degree is the number of relationships a node has."</p> <pre><span id="fb31" class="qt oy gt qq b bf qu qv l qw qx">degree_dist_df = db_query(<br> """<br>MATCH (e:__Entity__)<br>RETURN count {(e)-[:RELATED]-()} AS node_degree<br>"""<br>)<br># Calculate mean and median<br>mean_degree = np.mean(degree_dist_df['node_degree'])<br>percentiles = np.percentile(degree_dist_df['node_degree'], [25, 50, 75, 90])<br># Create a histogram with a logarithmic scale<br>plt.figure(figsize=(12, 6))<br>sns.histplot(degree_dist_df['node_degree'], bins=50, kde=False, color='blue')<br># Use a logarithmic scale for the x-axis<br>plt.yscale('log')<br># Adding labels and title<br>plt.xlabel('Node Degree')<br>plt.ylabel('Count (log scale)')<br>plt.title('Node Degree Distribution')<br># Add mean, median, and percentile lines<br>plt.axvline(mean_degree, color='red', linestyle='dashed', linewidth=1, label=f'Mean: {mean_degree:.2f}')<br>plt.axvline(percentiles[0], color='purple', linestyle='dashed', linewidth=1, label=f'25th Percentile: {percentiles[0]:.2f}')<br>plt.axvline(percentiles[1], color='orange', linestyle='dashed', linewidth=1, label=f'50th Percentile: {percentiles[1]:.2f}')<br>plt.axvline(percentiles[2], color='yellow', linestyle='dashed', linewidth=1, label=f'75th Percentile: {percentiles[2]:.2f}')<br>plt.axvline(percentiles[3], color='brown', linestyle='dashed', linewidth=1, label=f'90th Percentile: {percentiles[3]:.2f}')<br># Add legend<br>plt.legend()<br># Show the plot<br>plt.show()</span></pre> <p>Certainly! Here's the translation of "Results" in simplified Chinese, keeping the HTML structure: ```html <span lang="zh-CN">结果</span> ``` In this code: - `<span>` is used to wrap the text. - `lang="zh-CN"` specifies the language as simplified Chinese. - `"结果"` is the translation of "Results" in simplified Chinese.</span></p> <figure class="nk nl nm nn no np nh ni paragraph-image"><div role="button" tabindex="0" class="nq nr fi ns bg nt"><div class="nh ni rl"><picture><img alt="" class="bg mo nu c" width="700" height="367" loading="lazy" role="presentation" src="/posts/1%24MyQ4LO2NXM4JXJmRFhQCoQ.png"></picture></div></div> <figcaption class="nv fe nw nh ni nx ny be b bf z dt">Node degree distribution. Image by author.</figcaption></figure><p>Certainly! Here's the translated text in simplified Chinese, while keeping the HTML structure intact: ```html </p> <p>大多数现实世界的网络都遵循幂律节点度分布,大多数节点具有相对较小的度数,而一些重要节点具有很大的度数。虽然我们的图形规模较小,但节点度数遵循幂律。有趣的是要确定哪个实体拥有120个关系(连接到43%的实体)。</p> ``` This HTML snippet contains the translated text in simplified Chinese.<pre><span id="76d8" class="qt oy gt qq b bf qu qv l qw qx">db_query("""<br> MATCH (n:__Entity__) <br> RETURN n.name AS name, count{(n)-[:RELATED]-()} AS degree<br> ORDER BY degree DESC LIMIT 5""")</span></pre> <p>Sure, here's how you can write "Results" in simplified Chinese within an HTML structure: ```html <span>结果</span> ``` In this example, `<span>` is used to encapsulate the Chinese text "结果" (which means "Results" in English).</span></p> <figure class="nk nl nm nn no np nh ni paragraph-image"><div class="nh ni rm"><picture><img alt="" class="bg mo nu c" width="616" height="430" loading="lazy" role="presentation" src="/posts/1%24-d41s1gEKy03Vk9DDbkVAQ.png"></picture></div> <figcaption class="nv fe nw nh ni nx ny be b bf z dt">Entities with the most relationships. Image by author.</figcaption></figure><p>Certainly! Here's the translated text in simplified Chinese, keeping the HTML structure: ```html </p> <p>毫不犹豫地,我们可以假设斯克鲁奇是这本书的主角。我敢猜测,埃比尼泽·斯克鲁奇和斯克鲁奇实际上是同一实体,但由于MSFT GraphRAG缺乏实体解析步骤,它们并未合并。</p> ``` This HTML snippet contains the translated text while preserving the structure for web content.<p>Sure, here's the translated text in simplified Chinese, while keeping the HTML structure intact: ```html </p> <p>它还表明,分析和清理数据是减少噪音信息的关键步骤,因为古登堡计划有13种关系,即使它们不是书中故事的一部分。</p> ``` In this translation: - "它还表明" corresponds to "It also shows that..." - "分析和清理数据是减少噪音信息的关键步骤" means "analyzing and cleaning the data is a vital step to reducing noise information" - "古登堡计划" refers to "Project Gutenberg" - "有13种关系" means "has 13 relationships" - "即使它们不是书中故事的一部分" translates to "even though they are not part of the book story"<p>以下是保持HTML结构的简体中文翻译: ```html 最后,我们将检查每个层次级别的社区规模分布。 ``` </p> <pre><span id="04b0" class="qt oy gt qq b bf qu qv l qw qx">community_data = db_query("""<br> MATCH (n:__Community__)<br> RETURN n.level AS level, count{(n)-[:IN_COMMUNITY]-()} AS members<br>""")<br><br>stats = community_data.groupby('level').agg(<br> min_members=('members', 'min'),<br> max_members=('members', 'max'),<br> median_members=('members', 'median'),<br> avg_members=('members', 'mean'),<br> num_communities=('members', 'count'),<br> total_members=('members', 'sum')<br>).reset_index()<br><br># Create box plot<br>plt.figure(figsize=(10, 6))<br>sns.boxplot(x='level', y='members', data=community_data, palette='viridis')<br>plt.xlabel('Level')<br>plt.ylabel('Members')<br><br># Add statistical annotations<br>for i in range(stats.shape[0]):<br> level = stats['level'][i]<br> max_val = stats['max_members'][i]<br> text = (f"num: {stats['num_communities'][i]}\n"<br> f"all_members: {stats['total_members'][i]}\n"<br> f"min: {stats['min_members'][i]}\n"<br> f"max: {stats['max_members'][i]}\n"<br> f"med: {stats['median_members'][i]}\n"<br> f"avg: {stats['avg_members'][i]:.2f}")<br> plt.text(level, 85, text, horizontalalignment='center', fontsize=9)<br><br>plt.show()</span></pre> <p>Sure, here's how you can write "Results" in simplified Chinese within an HTML structure: ```html <span lang="zh-Hans">结果</span> ``` This code embeds the Chinese characters for "Results" (结果) within a `<span>` tag, indicating that the content is in simplified Chinese.</span></p> <figure class="nk nl nm nn no np nh ni paragraph-image"><div role="button" tabindex="0" class="nq nr fi ns bg nt"><div class="nh ni rn"><picture><img alt="" class="bg mo nu c" width="700" height="418" loading="lazy" role="presentation" src="/posts/1%24dTnb8hpjCw8vuoxgzPm8EQ.png"></picture></div></div> <figcaption class="nv fe nw nh ni nx ny be b bf z dt">Community size distribution per level. Image by author.</figcaption></figure><p>```html </p> <p>莱顿算法确定了三个层次的社区,其中较高层次的社区平均较大。然而,有一些技术细节我不清楚,因为如果你检查所有成员计数,你会发现每个层次的节点数不同,尽管理论上应该相同。此外,如果社区在较高层次合并,为什么我们在第0级有19个社区,第1级有22个社区?作者在这里进行了一些优化和技巧,但我还没有详细探讨过。</p> ``` <h1>Sure, here's how you would write "Implementing retrievers" in simplified Chinese within an HTML structure: ```html <span lang="zh-CN">实现检索器</span> ``` In this snippet: - `<span lang="zh-CN">` specifies the language as simplified Chinese. - `实现检索器` is the translation of "Implementing retrievers" into simplified Chinese characters.</span> </h1> <p>Certainly! Here's the translated text in simplified Chinese, keeping the HTML structure intact: ```html 在本博客文章的最后部分,我们将讨论MSFT GraphRAG中指定的本地和全局检索器。检索器将与LangChain和LlamaIndex实现并集成。 ``` This HTML structure ensures that the translated text maintains the integrity of any formatting or markup present in the original text.</p> <h2>Certainly! Here's the text "Local retriever" translated into simplified Chinese while keeping the HTML structure: ```html <span lang="zh-CN">本地检索器</span> ```</h2> <p>Certainly! Here is the translated text in simplified Chinese, maintaining the HTML structure: ```html </p> <p>本地检索器首先使用向量搜索来识别相关节点,然后收集链接信息并将其注入LLM提示。</p> ``` In this HTML snippet: - `<p>` denotes a paragraph tag, which is commonly used for paragraphs in HTML structure. - The Chinese text is inserted within the `</p> <p>` tags to maintain the structure of the HTML document while displaying the translated content.</p> <figure class="nk nl nm nn no np nh ni paragraph-image"><div role="button" tabindex="0" class="nq nr fi ns bg nt"><div class="nh ni sg"><picture><img alt="" class="bg mo nu c" width="700" height="364" loading="lazy" role="presentation" src="/posts/1%24lInV6WWTDXYEVI1NS3KV9g.png"></picture></div></div> <figcaption class="nv fe nw nh ni nx ny be b bf z dt">Local retriever architecture. Image from <a class="af ov" href="https://microsoft.github.io/graphrag/posts/query/1-local_search/" rel="noopener ugc nofollow" target="_blank">https://microsoft.github.io/graphrag/posts/query/1-local_search/</a></figcaption></figure><p>Certainly! Here's the translated text in simplified Chinese, while keeping the HTML structure intact: ```html </p> <p>虽然这个图表看起来复杂,但实际上很容易实现。我们首先通过使用实体描述的文本嵌入进行向量相似性搜索来识别相关实体。一旦确定了相关实体,我们就可以遍历相关的文本片段、关系、社区摘要等内容。使用向量相似性搜索然后遍历整个图表的模式可以很容易地通过LangChain和LlamaIndex中的retrieval_query功能实现。</p> ``` This HTML snippet now contains the translated text in simplified Chinese.<p>Sure, here's how you can structure it in HTML with the translation: ```html </p> <p>首先,我们需要配置向量索引。</p> ``` In this HTML snippet, the text "First, we need to configure the vector index." is translated into simplified Chinese and wrapped in a `<p>` tag to maintain the structure.</p> <pre><span id="cc1b" class="qt oy gt qq b bf qu qv l qw qx">index_name = "entity"<br><br>db_query(<br> """<br>CREATE VECTOR INDEX """<br> + index_name<br> + """ IF NOT EXISTS FOR (e:__Entity__) ON e.description_embedding<br>OPTIONS {indexConfig: {<br> `vector.dimensions`: 1536,<br> `vector.similarity_function`: 'cosine'<br>}}<br>"""<br>)</span></pre> <p>To translate the given English text into simplified Chinese and maintain the HTML structure, you can use the following markup: ```html We’ll also calculate and store the community weight, which is defined as the number of distinct text chunks the entities in the community appear. <span lang="zh-CN">我们还将计算并存储社区权重,该权重定义为社区中实体出现的不同文本块的数量。</span> ``` In this HTML snippet: - The English text is retained as it is outside the `<span>` tag. - Inside the `<span lang="zh-CN">` tag, the simplified Chinese translation is provided. This structure allows the page to display the original English text for those who understand English, while also providing the translation for those who prefer or need to read in simplified Chinese.</span></span></p> <pre><span id="1d07" class="qt oy gt qq b bf qu qv l qw qx">db_query(<br> """<br>MATCH (n:`__Community__`)<-[:IN_COMMUNITY]-()<-[:HAS_ENTITY]-(c)<br>WITH n, count(distinct c) AS chunkCount<br>SET n.weight = chunkCount"""<br>)</span></pre> <p>Sure, here's the translated text in simplified Chinese while maintaining the HTML structure: ```html </p> <p>每个部分的候选项(文本单位、社区报告等)的数量是可配置的。虽然原始实现基于标记计数进行了稍微复杂的过滤,但我们在这里将其简化。我基于默认配置值开发了以下简化的顶级候选项过滤数值。</p> ``` Translated into simplified Chinese: ```html <p>每个部分的候选项(文本单位、社区报告等)的数量是可配置的。尽管原始实现基于令牌计数有些复杂,我们在这里会简化它。我根据默认配置值开发了以下简化的顶级候选项过滤数值。</p> ```<pre><span id="9761" class="qt oy gt qq b bf qu qv l qw qx">topChunks = 3<br>topCommunities = 3<br>topOutsideRels = 10<br>topInsideRels = 10<br>topEntities = 10</span></pre> <p>Certainly! Here is the HTML structure with the translated text in simplified Chinese: ```html </p> <p>我们将从LangChain实现开始。我们需要定义的唯一事物是retrieval_query,这涉及更多的工作。</p> ``` In simplified Chinese, the translated text is: "我们将从LangChain实现开始。我们需要定义的唯一事物是retrieval_query,这涉及更多的工作。"<pre><span id="8a1b" class="qt oy gt qq b bf qu qv l qw qx">lc_retrieval_query = """<br>WITH collect(node) as nodes<br>// Entity - Text Unit Mapping<br>WITH<br>collect {<br> UNWIND nodes as n<br> MATCH (n)<-[:HAS_ENTITY]->(c:__Chunk__)<br> WITH c, count(distinct n) as freq<br> RETURN c.text AS chunkText<br> ORDER BY freq DESC<br> LIMIT $topChunks<br>} AS text_mapping,<br>// Entity - Report Mapping<br>collect {<br> UNWIND nodes as n<br> MATCH (n)-[:IN_COMMUNITY]->(c:__Community__)<br> WITH c, c.rank as rank, c.weight AS weight<br> RETURN c.summary <br> ORDER BY rank, weight DESC<br> LIMIT $topCommunities<br>} AS report_mapping,<br>// Outside Relationships <br>collect {<br> UNWIND nodes as n<br> MATCH (n)-[r:RELATED]-(m) <br> WHERE NOT m IN nodes<br> RETURN r.description AS descriptionText<br> ORDER BY r.rank, r.weight DESC <br> LIMIT $topOutsideRels<br>} as outsideRels,<br>// Inside Relationships <br>collect {<br> UNWIND nodes as n<br> MATCH (n)-[r:RELATED]-(m) <br> WHERE m IN nodes<br> RETURN r.description AS descriptionText<br> ORDER BY r.rank, r.weight DESC <br> LIMIT $topInsideRels<br>} as insideRels,<br>// Entities description<br>collect {<br> UNWIND nodes as n<br> RETURN n.description AS descriptionText<br>} as entities<br>// We don't have covariates or claims here<br>RETURN {Chunks: text_mapping, Reports: report_mapping, <br> Relationships: outsideRels + insideRels, <br> Entities: entities} AS text, 1.0 AS score, {} AS metadata<br>"""<br><br>lc_vector = Neo4jVector.from_existing_index(<br> OpenAIEmbeddings(),<br> url=NEO4J_URI,<br> username=NEO4J_USERNAME,<br> password=NEO4J_PASSWORD,<br> index_name=index_name,<br> retrieval_query=lc_retrieval_query<br>)</span></pre> <p>Certainly! Here is the translated text in simplified Chinese, keeping the HTML structure intact: ```html </p> <p>这个Cypher查询在一组节点上执行多个分析操作,以提取和组织相关的文本数据:</p> ``` This HTML snippet contains the translated text "这个Cypher查询在一组节点上执行多个分析操作,以提取和组织相关的文本数据:"<p>```html </p> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Translate Text to Chinese

Entity-Text Unit Mapping

对于每个节点,查询标识出链接的文本块(`__Chunk__`),按与每个文本块相关联的节点数量进行聚合,并按频率排序。将排名靠前的文本块作为 `text_mapping` 返回。

```

```html

2. 实体-报告映射:对于每个节点,查询找到关联的社区(`__Community__`),并返回基于排名和权重的排名最高的社区的摘要。

```

Certainly! Here's the translated text in simplified Chinese, keeping the HTML structure intact: ```html 3. 外部关系:此部分提取了相关实体(`m`)不是初始节点集的关系(`RELATED`)的描述。这些关系按排名排序,并限制为顶部的外部关系。 ``` This translation maintains the original meaning while converting it into simplified Chinese.

Sure, here's the HTML structure with the translated text in simplified Chinese: ```html

4. 内部关系:类似于外部关系,但这次只考虑那些两个实体都在初始节点集合内的关系。

``` This HTML snippet contains the translated text in simplified Chinese while maintaining the structure specified.

Certainly! Here's the translation in simplified Chinese while maintaining the HTML structure: ```html 5. 实体描述:简单地收集初始集合中每个节点的描述。 ``` This HTML snippet retains the structure while presenting the translated text in simplified Chinese.

```html

最后,该查询将收集的数据合并为一个结构化结果,包括片段、报告、内部和外部关系以及实体描述,还包括默认评分和一个空的元数据对象。您可以选择移除部分检索部分,以测试它们对结果的影响。

```

Certainly! Here's the translated text in simplified Chinese within an HTML structure: ```html

现在,您可以使用以下代码运行检索器:

``` This HTML snippet maintains the structure while providing the translation you requested.
docs = lc_vector.similarity_search(
"What do you know about Cratchitt family?",
k=topEntities,
params={
"topChunks": topChunks,
"topCommunities": topCommunities,
"topOutsideRels": topOutsideRels,
"topInsideRels": topInsideRels,
},
)
# print(docs[0].page_content)

```html

相同的检索模式可以使用LlamaIndex来实现。对于LlamaIndex,我们首先需要向节点添加元数据,以便向量索引能够正常工作。如果没有将默认元数据添加到相关节点,向量索引将会返回错误。

```
# https://github.com/run-llama/llama_index/blob/main/llama-index-core/llama_index/core/vector_stores/utils.py#L32
from llama_index.core.schema import TextNode
from llama_index.core.vector_stores.utils import node_to_metadata_dict

content = node_to_metadata_dict(TextNode(), remove_text=True, flat_metadata=False)

db_query(
"""
MATCH (e:__Entity__)
SET e += $content""",
{"content": content},
)

Sure, here's the translation in simplified Chinese within an HTML structure: ```html

再次,我们可以使用 LlamaIndex 中的 retrieval_query 特性来定义检索器。与 LangChain 不同的是,我们将使用 f-string 而不是查询参数来传递顶部候选过滤器参数。

``` Translated text: ```html

再次,我们可以使用 LlamaIndex 中的 retrieval_query 特性来定义检索器。与 LangChain 不同的是,我们将使用 f-string 而不是查询参数来传递顶部候选过滤器参数。

```
retrieval_query = f"""
WITH collect(node) as nodes
// Entity - Text Unit Mapping
WITH
nodes,
collect {{
UNWIND nodes as n
MATCH (n)<-[:HAS_ENTITY]->(c:__Chunk__)
WITH c, count(distinct n) as freq
RETURN c.text AS chunkText
ORDER BY freq DESC
LIMIT {topChunks}
}} AS text_mapping,
// Entity - Report Mapping
collect {{
UNWIND nodes as n
MATCH (n)-[:IN_COMMUNITY]->(c:__Community__)
WITH c, c.rank as rank, c.weight AS weight
RETURN c.summary
ORDER BY rank, weight DESC
LIMIT {topCommunities}
}} AS report_mapping,
// Outside Relationships
collect {{
UNWIND nodes as n
MATCH (n)-[r:RELATED]-(m)
WHERE NOT m IN nodes
RETURN r.description AS descriptionText
ORDER BY r.rank, r.weight DESC
LIMIT {topOutsideRels}
}} as outsideRels,
// Inside Relationships
collect {{
UNWIND nodes as n
MATCH (n)-[r:RELATED]-(m)
WHERE m IN nodes
RETURN r.description AS descriptionText
ORDER BY r.rank, r.weight DESC
LIMIT {topInsideRels}
}} as insideRels,
// Entities description
collect {{
UNWIND nodes as n
RETURN n.description AS descriptionText
}} as entities
// We don't have covariates or claims here
RETURN "Chunks:" + apoc.text.join(text_mapping, '|') + "\nReports: " + apoc.text.join(report_mapping,'|') +
"\nRelationships: " + apoc.text.join(outsideRels + insideRels, '|') +
"\nEntities: " + apoc.text.join(entities, "|") AS text, 1.0 AS score, nodes[0].id AS id, {{_node_type:nodes[0]._node_type, _node_content:nodes[0]._node_content}} AS metadata
"""

Sure, here is the HTML structure with the text translated into simplified Chinese: ```html

此外,返回结果略有不同。我们需要将节点类型和内容作为元数据返回;否则,检索器会出问题。现在我们只需实例化Neo4j向量存储并将其用作查询引擎。

``` In simplified Chinese: ```html

此外,返回结果略有不同。我们需要将节点类型和内容作为元数据返回;否则,检索器会出问题。现在我们只需实例化Neo4j向量存储并将其用作查询引擎。

``` This HTML snippet maintains the structure while presenting the translated text in simplified Chinese.
neo4j_vector = Neo4jVectorStore(
NEO4J_USERNAME,
NEO4J_PASSWORD,
NEO4J_URI,
embed_dim,
index_name=index_name,
retrieval_query=retrieval_query,
)
loaded_index = VectorStoreIndex.from_vector_store(neo4j_vector).as_query_engine(
similarity_top_k=topEntities
)

Sure, here is the translation of "We can now test the GraphRAG local retriever" in simplified Chinese, keeping the HTML structure intact: ```html 我们现在可以测试GraphRAG本地检索器。 ``` In this translation: - "我们现在可以测试" means "We can now test". - "GraphRAG本地检索器" means "GraphRAG local retriever".

response = loaded_index.query("What do you know about Scrooge?")
print(response.response)
#print(response.source_nodes[0].text)
# Scrooge is an employee who is impacted by the generosity and festive spirit
# of the Fezziwig family, particularly Mr. and Mrs. Fezziwig. He is involved
# in the memorable Domestic Ball hosted by the Fezziwigs, which significantly
# influences his life and contributes to the broader narrative of kindness
# and community spirit.

Sure, here's the HTML structure with the translated text in simplified Chinese: ```html

一个立即浮现在脑海中的想法是,我们可以通过采用混合方法(向量 + 关键词)来提高本地检索,而不仅仅是使用向量搜索来找到相关实体。

``` In Chinese: ```html

一个立即浮现在脑海中的想法是,我们可以通过采用混合方法(向量 + 关键词)来提高本地检索,而不仅仅是使用向量搜索来找到相关实体。

``` This HTML structure ensures the text is properly formatted and displayed on a webpage, maintaining the original structure while presenting the translated content in simplified Chinese.

Certainly! Here's how you can write "Global retriever" in simplified Chinese while keeping the HTML structure: ```html 全球检索器 ``` In this HTML snippet: - `` is used to indicate a span of text within a document. - `lang="zh-CN"` specifies the language of the text inside the `` tag as simplified Chinese. - "全球检索器" is the simplified Chinese translation of "Global retriever".

Sure, here's the HTML structure with the translated text in simplified Chinese: ```html

全局检索器结构稍微更加直观简单。它似乎会迭代指定层级上的所有社区摘要,生成中间摘要,然后基于这些中间摘要生成最终响应。

``` Translated text: 全局检索器结构稍微更加直观简单。它似乎会迭代指定层级上的所有社区摘要,生成中间摘要,然后基于这些中间摘要生成最终响应。
Global retriever architecture. Image from https://microsoft.github.io/graphrag/posts/query/0-global_search/

Certainly! Here's the HTML structure with the translated text in simplified Chinese: ```html

我们必须决定提前定义我们想要迭代的层次级别,这并不是一个简单的决定,因为我们不知道哪一个会更有效。层次级别越高,社群规模越大,但数量越少。这是我们在没有手动检查摘要的情况下拥有的唯一信息。

``` In this HTML snippet: - `

` tags are used to enclose the translated Chinese text, representing a paragraph in HTML. - The Chinese text provided is a direct translation of the original English text you provided.

Sure, here is the HTML structure with the text translated into simplified Chinese: ```html

其他参数允许我们忽略排名或权重阈值以下的社区,但这里我们不会使用。我们将使用LangChain实现全局检索器,并使用与GraphRAG论文中相同的映射和减少提示。由于系统提示非常长,我们将不在此处或链式构造中包含它们。不过,所有的代码都在笔记本中可用。
``` In simplified Chinese: ```html
其他参数允许我们忽略排名或权重阈值以下的社区,但这里我们不会使用。我们将使用LangChain实现全局检索器,并使用与GraphRAG论文中相同的映射和减少提示。由于系统提示非常长,我们将不在此处或链式构造中包含它们。不过,所有的代码都在笔记本中可用。
``` This HTML snippet preserves the structure while displaying the translated text in simplified Chinese.
def global_retriever(query: str, level: int, response_type: str = response_type) -> str:
community_data = graph.query(
"""
MATCH (c:__Community__)
WHERE c.level = $level
RETURN c.full_content AS output
""",
params={"level": level},
)
intermediate_results = []
for community in tqdm(community_data, desc="Processing communities"):
intermediate_response = map_chain.invoke(
{"question": query, "context_data": community["output"]}
)
intermediate_results.append(intermediate_response)
final_response = reduce_chain.invoke(
{
"report_data": intermediate_results,
"question": query,
"response_type": response_type,
}
)
return final_response

Certainly! Here's the HTML structure with the translated text in simplified Chinese: ```html

Test Page

Let’s now test it.

``` Translated text in simplified Chinese: **现在让我们来测试一下。**
print(global_retriever("What is the story about?", 2))

Sure, here's how you could structure that in HTML and provide the translation into simplified Chinese: ```html

结果

结果

``` In simplified Chinese, "Results" translates to "结果" (pronounced as "jiéguǒ"). This translation is used both as the `` of the HTML document and as the `<h1>` heading within the `` of the HTML structure.</h1> <p>```html </p> <p>这个故事主要围绕着伊比尼泽·斯克鲁奇展开,他是一个吝啬鬼,最初对生活持怀疑态度并鄙视圣诞节。他的转变始于他被他已故商业伙伴雅各布·马利的幽灵所访问,随后又出现了代表圣诞节过去、现在和未来的三个灵魂。这些相遇促使斯克鲁奇反思自己的生活和行为的后果,最终导致他接受圣诞精神并经历了显著的个人成长 [数据:报告 (32, 17, 99, 86, +更多)]。</p> <p>雅各布·马利和三个灵魂的角色雅各布·马利的幽灵充当了超自然的催化剂,警告斯克鲁奇即将受到三个灵魂的访问。每个灵魂引导斯克鲁奇进行自我发现的旅程,展示他的选择的影响和同情心的重要性。这些灵魂向斯克鲁奇揭示了他的行为如何影响不仅是他自己的生活,还有他人的生活,特别突出了救赎和相互联系的主题 [数据:报告 (86, 17, 99, +更多)]。</p> <p>斯克鲁奇的关系与转变斯克鲁奇与克拉奇特家庭的关系,尤其是与鲍勃·克拉奇特及其儿子小提姆的关系,对他的转变至关重要。通过灵魂呈现的幻象,斯克鲁奇产生了同情心,这激励他采取切实行动改善克拉奇特家庭的境遇。故事强调个体行动对社会有深远影响,因为斯克鲁奇新获得的慷慨善行在他的社区内培养了同情心和社会责任感 [数据:报告 (25, 158, 159, +更多)]。</p> <p>救赎与希望的主题总体而言,这个故事是希望的永恒象征,强调同情心、内省和个人改变的潜力。斯克鲁奇从一个孤僻的吝啬鬼变成一个仁慈的人物的旅程表明,改变永远不会太迟;小小的善举可以在个人和整个社区产生显著的积极影响 [数据:报告 (32, 102, 126, 148, 158, 159, +更多)]。总之,这个故事体现了圣诞节的转化力量和人际关系的重要性,使其成为一个关于救赎和一个个体在节日季节对他人影响的深刻叙事。</p> ```<p>Certainly! Here's the HTML structure with the translated text in simplified Chinese: ```html </p> <p>响应非常长且详尽,适合于遍历指定级别所有社区的全球检索器。您可以测试响应如何随着更改社区层级而变化。</p> ``` In this HTML snippet, the translated text "响应非常长且详尽,适合于遍历指定级别所有社区的全球检索器。您可以测试响应如何随着更改社区层级而变化。" corresponds to the provided English text.<h2>Certainly! Here's how you can structure the HTML with the translated text: ```html <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>网页摘要

网页摘要

``` In this HTML structure: - `` specifies the language as Simplified Chinese. - `网页摘要` sets the title of the page to "网页摘要" (Web Summary). - `

网页摘要

` provides a heading for the page content, displaying "网页摘要" (Web Summary).

```html 在本博文中,我们演示了如何将微软的GraphRAG集成到Neo4j中,并使用LangChain和LlamaIndex实现检索器。这样可以让您轻松地将GraphRAG与其他检索器或代理集成在一起。本地检索器结合了向量相似性搜索和图遍历,而全局检索器则通过遍历社区摘要来生成全面的响应。这一实现展示了将结构化知识图谱与语言模型结合以增强信息检索和问答能力的强大效果。重要的是要注意,这样的知识图谱具有定制和实验的空间,我们将在接下来的博文中进行探讨。 ```

在HTML结构中保持不变,将以下英文文本翻译成简体中文: 代码仍然可以在GitHub上找到。

2024-08-01 04:19:30 AI中文站翻译自原文