From b30fcdd82164cb23d558eac6d38b0a1cb341f9a2 Mon Sep 17 00:00:00 2001 From: HuangHai <10402852@qq.com> Date: Fri, 11 Jul 2025 08:29:54 +0800 Subject: [PATCH] 'commit' --- .../{T1_TrainNeo4j.py => T3_TrainNeo4j.py} | 0 dsLightRag/T4_QueryNeo4j.py | 44 +++++++++++++++++++ .../Topic/Chemistry/kv_store_doc_status.json | 12 +++++ 3 files changed, 56 insertions(+) rename dsLightRag/{T1_TrainNeo4j.py => T3_TrainNeo4j.py} (100%) create mode 100644 dsLightRag/T4_QueryNeo4j.py create mode 100644 dsLightRag/Topic/Chemistry/kv_store_doc_status.json diff --git a/dsLightRag/T1_TrainNeo4j.py b/dsLightRag/T3_TrainNeo4j.py similarity index 100% rename from dsLightRag/T1_TrainNeo4j.py rename to dsLightRag/T3_TrainNeo4j.py diff --git a/dsLightRag/T4_QueryNeo4j.py b/dsLightRag/T4_QueryNeo4j.py new file mode 100644 index 00000000..be89e0c8 --- /dev/null +++ b/dsLightRag/T4_QueryNeo4j.py @@ -0,0 +1,44 @@ +import asyncio +import inspect +from Util.LightRagUtil import configure_logging, initialize_rag, print_stream +from lightrag import QueryParam + +# 化学 +data = [ + # {"NAME": "Chemistry", "Q": "硝酸光照分解的化学反应方程式是什么", "ChineseName": "化学"}, + {"NAME": "Chemistry", "Q": "氢气与氧气燃烧的现象", "ChineseName": "化学"}, + {"NAME": "Math", "Q": "氧化铁与硝酸的化学反应方程式是什么", "ChineseName": "数学"}, + {"NAME": "Chinese", "Q": "氧化铁与硝酸的化学反应方程式是什么", "ChineseName": "语文"}] + +# 准备查询的科目 +KEMU = "Chemistry" + +# 查找索引号 +idx = [i for i, d in enumerate(data) if d["NAME"] == KEMU][0] + + +async def main(): + try: + user_prompt = "\n 1、资料中提供化学反应方程式的,一定要严格按提供的Latex公式输出,绝对不允许对Latex公式进行修改 !" + user_prompt = user_prompt + "\n 2、如果资料中提供了图片的,一定要严格按照原文提供图片输出,不允许省略或不输出!" + user_prompt = user_prompt + "\n 3、资料中提到的知识内容,需要判断是否与本次问题相关,不相关的绝对不要输出!" + rag = await initialize_rag('Topic/' + data[idx]["NAME"]) + resp = await rag.aquery( + data[idx]["Q"], + param=QueryParam(mode="hybrid", stream=True, user_prompt=user_prompt), + # hybrid naive + ) + if inspect.isasyncgen(resp): + await print_stream(resp) + else: + print(resp) + except Exception as e: + print(f"An error occurred: {e}") + finally: + if rag: + await rag.finalize_storages() + + +if __name__ == "__main__": + configure_logging() + asyncio.run(main()) diff --git a/dsLightRag/Topic/Chemistry/kv_store_doc_status.json b/dsLightRag/Topic/Chemistry/kv_store_doc_status.json new file mode 100644 index 00000000..505ac9a0 --- /dev/null +++ b/dsLightRag/Topic/Chemistry/kv_store_doc_status.json @@ -0,0 +1,12 @@ +{ + "doc-7367de1960fc3eb00672757c23990f62": { + "status": "processing", + "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/5009542d74a24d00b5ae62f5cdc0f048/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:29:04.956110+00:00", + "updated_at": "2025-07-11T00:29:04.959142+00:00", + "file_path": "unknown_source" + } +} \ No newline at end of file