main
HuangHai 2 weeks ago
parent 96da4dbe48
commit b932e6fafa

@ -34,6 +34,7 @@ async def main():
print(f"Deleting old file:: {file_path}")
try:
# 注意默认设置使用NetworkX
rag = await initialize_rag(WORKING_DIR)
await rag.ainsert(content)
print("\nIndexing completed successfully!")

@ -0,0 +1,55 @@
import asyncio
from Config.Config import NEO4J_URI, NEO4J_USERNAME, NEO4J_PASSWORD
from Util.DocxUtil import get_docx_content_by_pandoc
from Util.LightRagUtil import configure_logging, initialize_rag
import os
# 数学
KEMU = 'Chemistry' # Chinese,Math,Chemistry
# 组装文件路径
WORKING_DIR = "./Topic/" + KEMU
docx_file = 'static/Txt/' + KEMU + '.docx'
async def main():
# 设置Neo4j连接参数
os.environ["NEO4J_URI"] = NEO4J_URI
os.environ["NEO4J_USERNAME"] = NEO4J_USERNAME
os.environ["NEO4J_PASSWORD"] = NEO4J_PASSWORD
# 注释掉或删除以下清理代码
files_to_delete = [
"graph_chunk_entity_relation.graphml",
"kv_store_doc_status.json",
"kv_store_full_docs.json",
"kv_store_text_chunks.json",
"vdb_chunks.json",
"vdb_entities.json",
"vdb_relationships.json",
]
# 获取docx文件的内容
content = get_docx_content_by_pandoc(docx_file)
# 删除文件
for file in files_to_delete:
file_path = os.path.join(WORKING_DIR, file)
if os.path.exists(file_path):
os.remove(file_path)
print(f"Deleting old file:: {file_path}")
try:
# 注意默认设置使用NetworkX,使用Neo4J实现初始化LightRAG
rag = await initialize_rag(WORKING_DIR, graph_storage="Neo4JStorage")
await rag.ainsert(content)
print("\nIndexing completed successfully!")
except Exception as e:
print(f"An error occurred: {e}")
finally:
await rag.finalize_storages()
if __name__ == "__main__":
configure_logging()
asyncio.run(main())

@ -1,241 +0,0 @@
<?xml version='1.0' encoding='utf-8'?>
<graphml xmlns="http://graphml.graphdrawing.org/xmlns" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://graphml.graphdrawing.org/xmlns http://graphml.graphdrawing.org/xmlns/1.0/graphml.xsd">
<key id="d11" for="edge" attr.name="created_at" attr.type="long" />
<key id="d10" for="edge" attr.name="file_path" attr.type="string" />
<key id="d9" for="edge" attr.name="source_id" attr.type="string" />
<key id="d8" for="edge" attr.name="keywords" attr.type="string" />
<key id="d7" for="edge" attr.name="description" attr.type="string" />
<key id="d6" for="edge" attr.name="weight" attr.type="double" />
<key id="d5" for="node" attr.name="created_at" attr.type="long" />
<key id="d4" for="node" attr.name="file_path" attr.type="string" />
<key id="d3" for="node" attr.name="source_id" attr.type="string" />
<key id="d2" for="node" attr.name="description" attr.type="string" />
<key id="d1" for="node" attr.name="entity_type" attr.type="string" />
<key id="d0" for="node" attr.name="entity_id" attr.type="string" />
<graph edgedefault="undirected">
<node id="Nitric Acid">
<data key="d0">Nitric Acid</data>
<data key="d1">category</data>
<data key="d2">Nitric acid (HNO₃) is a highly corrosive and toxic chemical used in various reactions, including decomposition and oxidation.</data>
<data key="d3">chunk-bd828dcbe5a5b2436237977039978ec4</data>
<data key="d4">unknown_source</data>
<data key="d5">1752193132</data>
</node>
<node id="Nitrogen Dioxide">
<data key="d0">Nitrogen Dioxide</data>
<data key="d1">category</data>
<data key="d2">Nitrogen dioxide (NO₂) is a reddish-brown gas produced during the decomposition of nitric acid.</data>
<data key="d3">chunk-bd828dcbe5a5b2436237977039978ec4</data>
<data key="d4">unknown_source</data>
<data key="d5">1752193132</data>
</node>
<node id="Oxygen">
<data key="d0">Oxygen</data>
<data key="d1">category</data>
<data key="d2">Oxygen (O₂) is a colorless, odorless gas involved in chemical reactions like combustion and decomposition.</data>
<data key="d3">chunk-bd828dcbe5a5b2436237977039978ec4</data>
<data key="d4">unknown_source</data>
<data key="d5">1752193132</data>
</node>
<node id="Iron Oxide">
<data key="d0">Iron Oxide</data>
<data key="d1">category</data>
<data key="d2">Iron oxide (FeO) is a compound that reacts with nitric acid under heat to produce other chemicals.</data>
<data key="d3">chunk-bd828dcbe5a5b2436237977039978ec4</data>
<data key="d4">unknown_source</data>
<data key="d5">1752193132</data>
</node>
<node id="Iron Nitrate">
<data key="d0">Iron Nitrate</data>
<data key="d1">category</data>
<data key="d2">Iron nitrate (Fe(NO₃)₃) is a product of the reaction between iron oxide and nitric acid.</data>
<data key="d3">chunk-bd828dcbe5a5b2436237977039978ec4</data>
<data key="d4">unknown_source</data>
<data key="d5">1752193132</data>
</node>
<node id="Water">
<data key="d0">Water</data>
<data key="d1">category</data>
<data key="d2">Water (H₂O) is a byproduct of the combustion of hydrogen and oxygen.</data>
<data key="d3">chunk-bd828dcbe5a5b2436237977039978ec4</data>
<data key="d4">unknown_source</data>
<data key="d5">1752193132</data>
</node>
<node id="Hydrogen">
<data key="d0">Hydrogen</data>
<data key="d1">category</data>
<data key="d2">Hydrogen (H₂) is a flammable gas that reacts with oxygen to form water.</data>
<data key="d3">chunk-bd828dcbe5a5b2436237977039978ec4</data>
<data key="d4">unknown_source</data>
<data key="d5">1752193132</data>
</node>
<node id="硝酸铁">
<data key="d0">硝酸铁</data>
<data key="d1">category</data>
<data key="d2">"硝酸铁(Fe(NO₃</data>
<data key="d3">chunk-bd828dcbe5a5b2436237977039978ec4</data>
<data key="d4">unknown_source</data>
<data key="d5">1752193132</data>
</node>
<node id="二氧化氮">
<data key="d0">二氧化氮</data>
<data key="d3">chunk-bd828dcbe5a5b2436237977039978ec4</data>
<data key="d2">硝酸在光照条件下分解产生二氧化氮气体。</data>
<data key="d1">UNKNOWN</data>
<data key="d4">unknown_source</data>
<data key="d5">1752193132</data>
</node>
<node id="硝酸">
<data key="d0">硝酸</data>
<data key="d3">chunk-bd828dcbe5a5b2436237977039978ec4</data>
<data key="d2">硝酸在光照条件下分解产生二氧化氮气体。</data>
<data key="d1">UNKNOWN</data>
<data key="d4">unknown_source</data>
<data key="d5">1752193132</data>
</node>
<node id="氧气">
<data key="d0">氧气</data>
<data key="d3">chunk-bd828dcbe5a5b2436237977039978ec4</data>
<data key="d2">硝酸分解反应会释放氧气。</data>
<data key="d1">UNKNOWN</data>
<data key="d4">unknown_source</data>
<data key="d5">1752193132</data>
</node>
<node id="水">
<data key="d0">水</data>
<data key="d3">chunk-bd828dcbe5a5b2436237977039978ec4</data>
<data key="d2">硝酸分解最终会生成水。</data>
<data key="d1">UNKNOWN</data>
<data key="d4">unknown_source</data>
<data key="d5">1752193132</data>
</node>
<node id="氧化铁">
<data key="d0">氧化铁</data>
<data key="d3">chunk-bd828dcbe5a5b2436237977039978ec4</data>
<data key="d2">氧化铁与硝酸反应生成硝酸铁。</data>
<data key="d1">UNKNOWN</data>
<data key="d4">unknown_source</data>
<data key="d5">1752193132</data>
</node>
<node id="氢气">
<data key="d0">氢气</data>
<data key="d3">chunk-bd828dcbe5a5b2436237977039978ec4</data>
<data key="d2">氧化铁与硝酸反应过程中会产生氢气。</data>
<data key="d1">UNKNOWN</data>
<data key="d4">unknown_source</data>
<data key="d5">1752193132</data>
</node>
<node id="光照分解">
<data key="d0">光照分解</data>
<data key="d3">chunk-bd828dcbe5a5b2436237977039978ec4</data>
<data key="d2">光照分解是硝酸发生化学反应的条件。</data>
<data key="d1">UNKNOWN</data>
<data key="d4">unknown_source</data>
<data key="d5">1752193132</data>
</node>
<node id="加热反应">
<data key="d0">加热反应</data>
<data key="d3">chunk-bd828dcbe5a5b2436237977039978ec4</data>
<data key="d2">加热是氧化铁与硝酸反应的必要条件。</data>
<data key="d1">UNKNOWN</data>
<data key="d4">unknown_source</data>
<data key="d5">1752193132</data>
</node>
<edge source="Nitric Acid" target="Nitrogen Dioxide">
<data key="d6">8.0</data>
<data key="d7">Nitric acid decomposes under light to produce nitrogen dioxide, oxygen, and water.</data>
<data key="d8">chemical decomposition,gas production</data>
<data key="d9">chunk-bd828dcbe5a5b2436237977039978ec4</data>
<data key="d10">unknown_source</data>
<data key="d11">1752193132</data>
</edge>
<edge source="Nitric Acid" target="Oxygen">
<data key="d6">7.0</data>
<data key="d7">Nitric acid decomposition releases oxygen as a byproduct.</data>
<data key="d8">chemical reaction,gas release</data>
<data key="d9">chunk-bd828dcbe5a5b2436237977039978ec4</data>
<data key="d10">unknown_source</data>
<data key="d11">1752193132</data>
</edge>
<edge source="Iron Oxide" target="Iron Nitrate">
<data key="d6">9.0</data>
<data key="d7">Iron oxide reacts with nitric acid to form iron nitrate, hydrogen, and nitrogen dioxide.</data>
<data key="d8">chemical synthesis,oxidation reaction</data>
<data key="d9">chunk-bd828dcbe5a5b2436237977039978ec4</data>
<data key="d10">unknown_source</data>
<data key="d11">1752193132</data>
</edge>
<edge source="Water" target="Hydrogen">
<data key="d6">10.0</data>
<data key="d7">Hydrogen combusts with oxygen to produce water, a key reaction in chemistry.</data>
<data key="d8">chemical synthesis,combustion</data>
<data key="d9">chunk-bd828dcbe5a5b2436237977039978ec4</data>
<data key="d10">unknown_source</data>
<data key="d11">1752193132</data>
</edge>
<edge source="硝酸铁" target="氧化铁">
<data key="d6">9.0</data>
<data key="d7">氧化铁与硝酸反应生成硝酸铁。</data>
<data key="d8">复分解反应,盐类生成</data>
<data key="d9">chunk-bd828dcbe5a5b2436237977039978ec4</data>
<data key="d10">unknown_source</data>
<data key="d11">1752193132</data>
</edge>
<edge source="二氧化氮" target="硝酸">
<data key="d6">9.0</data>
<data key="d7">硝酸在光照条件下分解产生二氧化氮气体。</data>
<data key="d8">化学分解,气体生成</data>
<data key="d9">chunk-bd828dcbe5a5b2436237977039978ec4</data>
<data key="d10">unknown_source</data>
<data key="d11">1752193132</data>
</edge>
<edge source="硝酸" target="氧气">
<data key="d6">8.0</data>
<data key="d7">硝酸分解反应会释放氧气。</data>
<data key="d8">气体产物,氧化还原</data>
<data key="d9">chunk-bd828dcbe5a5b2436237977039978ec4</data>
<data key="d10">unknown_source</data>
<data key="d11">1752193132</data>
</edge>
<edge source="硝酸" target="水">
<data key="d6">7.0</data>
<data key="d7">硝酸分解最终会生成水。</data>
<data key="d8">产物生成,化学反应</data>
<data key="d9">chunk-bd828dcbe5a5b2436237977039978ec4</data>
<data key="d10">unknown_source</data>
<data key="d11">1752193132</data>
</edge>
<edge source="硝酸" target="光照分解">
<data key="d6">8.0</data>
<data key="d7">光照分解是硝酸发生化学反应的条件。</data>
<data key="d8">化学变化,反应条件</data>
<data key="d9">chunk-bd828dcbe5a5b2436237977039978ec4</data>
<data key="d10">unknown_source</data>
<data key="d11">1752193132</data>
</edge>
<edge source="水" target="氢气">
<data key="d6">10.0</data>
<data key="d7">氢气与氧气燃烧生成水。</data>
<data key="d8">氧化还原,燃烧反应</data>
<data key="d9">chunk-bd828dcbe5a5b2436237977039978ec4</data>
<data key="d10">unknown_source</data>
<data key="d11">1752193132</data>
</edge>
<edge source="氧化铁" target="氢气">
<data key="d6">8.0</data>
<data key="d7">氧化铁与硝酸反应过程中会产生氢气。</data>
<data key="d8">气体生成,置换反应</data>
<data key="d9">chunk-bd828dcbe5a5b2436237977039978ec4</data>
<data key="d10">unknown_source</data>
<data key="d11">1752193132</data>
</edge>
<edge source="氧化铁" target="加热反应">
<data key="d6">7.0</data>
<data key="d7">加热是氧化铁与硝酸反应的必要条件。</data>
<data key="d8">反应条件,能量输入</data>
<data key="d9">chunk-bd828dcbe5a5b2436237977039978ec4</data>
<data key="d10">unknown_source</data>
<data key="d11">1752193132</data>
</edge>
</graph>
</graphml>

@ -1,12 +1,12 @@
{
"doc-bd828dcbe5a5b2436237977039978ec4": {
"doc-38dc4759f21281aec253bbbfd5249836": {
"status": "processed",
"chunks_count": 1,
"content": "硝酸光照分解的方程式\n$$4HNO_{3}overset{overset{}{{Delta}}}{=}4NO_{2} uparrow + O_{2} uparrow + 2HO_{2}$$\n氧化铁与硝酸的加热反应方程式\n$$FeO + 4HNO_{3}overset{overset{}{{Delta}}}{=}Fe(NO_{3})_{3} + 2H_{2} uparrow + NO_{2} uparrow$$\n氢气与氧气燃烧的现象如下图所示\n$$2H_{2} + O_{2}overset{overset{}{text{燃烧}}}{=}2H_{2}O$$\n![](./Images/cc34652eb4d840fca308ba8563a41d3b/media/image1.png)",
"content": "硝酸光照分解的方程式\n$$4HNO_{3}overset{overset{}{{Delta}}}{=}4NO_{2} uparrow + O_{2} uparrow + 2HO_{2}$$\n氧化铁与硝酸的加热反应方程式\n$$FeO + 4HNO_{3}overset{overset{}{{Delta}}}{=}Fe(NO_{3})_{3} + 2H_{2} uparrow + NO_{2} uparrow$$\n氢气与氧气燃烧的现象如下图所示\n$$2H_{2} + O_{2}overset{overset{}{text{燃烧}}}{=}2H_{2}O$$\n![](./Images/4826f1dfc6ce4ba5a294167a016b736f/media/image1.png)",
"content_summary": "硝酸光照分解的方程式\n$$4HNO_{3}overset{overset{}{{Delta}}}{=}4NO_{2} uparrow + O_{2} uparrow + 2HO_{2}$$\n氧化铁与硝酸的加热反应方程式\n$$FeO + 4HNO_{3}overset{overset{}{{Delta}}}{=}Fe(NO_{3})_{3} + 2H_{2} uparrow + NO_{2} uparrow$$\n氢气与氧气燃烧的现象如下图所示\n$$2H_{2} + O_{2}overset{ov...",
"content_length": 344,
"created_at": "2025-07-11T00:17:59.549803+00:00",
"updated_at": "2025-07-11T00:18:54.052706+00:00",
"created_at": "2025-07-11T00:25:57.391796+00:00",
"updated_at": "2025-07-11T00:26:52.778188+00:00",
"file_path": "unknown_source"
}
}

@ -1,5 +1,5 @@
{
"doc-bd828dcbe5a5b2436237977039978ec4": {
"content": "硝酸光照分解的方程式\n$$4HNO_{3}overset{overset{}{{Delta}}}{=}4NO_{2} uparrow + O_{2} uparrow + 2HO_{2}$$\n氧化铁与硝酸的加热反应方程式\n$$FeO + 4HNO_{3}overset{overset{}{{Delta}}}{=}Fe(NO_{3})_{3} + 2H_{2} uparrow + NO_{2} uparrow$$\n氢气与氧气燃烧的现象如下图所示\n$$2H_{2} + O_{2}overset{overset{}{text{燃烧}}}{=}2H_{2}O$$\n![](./Images/cc34652eb4d840fca308ba8563a41d3b/media/image1.png)"
"doc-38dc4759f21281aec253bbbfd5249836": {
"content": "硝酸光照分解的方程式\n$$4HNO_{3}overset{overset{}{{Delta}}}{=}4NO_{2} uparrow + O_{2} uparrow + 2HO_{2}$$\n氧化铁与硝酸的加热反应方程式\n$$FeO + 4HNO_{3}overset{overset{}{{Delta}}}{=}Fe(NO_{3})_{3} + 2H_{2} uparrow + NO_{2} uparrow$$\n氢气与氧气燃烧的现象如下图所示\n$$2H_{2} + O_{2}overset{overset{}{text{燃烧}}}{=}2H_{2}O$$\n![](./Images/4826f1dfc6ce4ba5a294167a016b736f/media/image1.png)"
}
}

File diff suppressed because one or more lines are too long

@ -1,9 +1,9 @@
{
"chunk-bd828dcbe5a5b2436237977039978ec4": {
"tokens": 197,
"content": "硝酸光照分解的方程式\n$$4HNO_{3}overset{overset{}{{Delta}}}{=}4NO_{2} uparrow + O_{2} uparrow + 2HO_{2}$$\n氧化铁与硝酸的加热反应方程式\n$$FeO + 4HNO_{3}overset{overset{}{{Delta}}}{=}Fe(NO_{3})_{3} + 2H_{2} uparrow + NO_{2} uparrow$$\n氢气与氧气燃烧的现象如下图所示\n$$2H_{2} + O_{2}overset{overset{}{text{燃烧}}}{=}2H_{2}O$$\n![](./Images/cc34652eb4d840fca308ba8563a41d3b/media/image1.png)",
"chunk-38dc4759f21281aec253bbbfd5249836": {
"tokens": 198,
"content": "硝酸光照分解的方程式\n$$4HNO_{3}overset{overset{}{{Delta}}}{=}4NO_{2} uparrow + O_{2} uparrow + 2HO_{2}$$\n氧化铁与硝酸的加热反应方程式\n$$FeO + 4HNO_{3}overset{overset{}{{Delta}}}{=}Fe(NO_{3})_{3} + 2H_{2} uparrow + NO_{2} uparrow$$\n氢气与氧气燃烧的现象如下图所示\n$$2H_{2} + O_{2}overset{overset{}{text{燃烧}}}{=}2H_{2}O$$\n![](./Images/4826f1dfc6ce4ba5a294167a016b736f/media/image1.png)",
"chunk_order_index": 0,
"full_doc_id": "doc-bd828dcbe5a5b2436237977039978ec4",
"full_doc_id": "doc-38dc4759f21281aec253bbbfd5249836",
"file_path": "unknown_source"
}
}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

@ -97,10 +97,13 @@ async def embedding_func(texts: list[str]) -> np.ndarray:
)
async def initialize_rag(working_dir):
async def initialize_rag(working_dir, graph_storage=None):
if graph_storage is None:
graph_storage = 'NetworkXStorage'
rag = LightRAG(
working_dir=working_dir,
llm_model_func=llm_model_func,
graph_storage=graph_storage,
embedding_func=EmbeddingFunc(
embedding_dim=EMBED_DIM,
max_token_size=EMBED_MAX_TOKEN_SIZE,
@ -139,4 +142,4 @@ def create_embedding_func():
api_key=EMBED_API_KEY,
base_url=EMBED_BASE_URL,
),
)
)

Binary file not shown.

After

Width:  |  Height:  |  Size: 195 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 195 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 195 KiB

@ -4,4 +4,4 @@ $$4HNO_{3}\overset{\overset{}{{\Delta}}}{=}4NO_{2} \uparrow + O_{2} \uparrow + 2
$$FeO + 4HNO_{3}\overset{\overset{}{{\Delta}}}{=}Fe(NO_{3})_{3} + 2H_{2} \uparrow + NO_{2} \uparrow$$
氢气与氧气燃烧的现象如下图所示:
$$2H_{2} + O_{2}\overset{\overset{}{\text{燃烧}}}{=}2H_{2}O$$
![](./Images/cc34652eb4d840fca308ba8563a41d3b/media/image1.png)
![](./Images/4826f1dfc6ce4ba5a294167a016b736f/media/image1.png)

Loading…
Cancel
Save