From d1969515d386a948051a68604a55a229011ee613 Mon Sep 17 00:00:00 2001 From: yangdx Date: Sat, 25 Jan 2025 16:29:18 +0800 Subject: [PATCH 1/4] Add conversation history to naive_query prompt --- lightrag/operate.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/lightrag/operate.py b/lightrag/operate.py index 75bb2c25..74ffa462 100644 --- a/lightrag/operate.py +++ b/lightrag/operate.py @@ -1534,9 +1534,16 @@ async def naive_query( if query_param.only_need_context: return section + # Process conversation history + history_context = "" + if query_param.conversation_history: + history_context = get_conversation_turns( + query_param.conversation_history, query_param.history_turns + ) + sys_prompt_temp = PROMPTS["naive_rag_response"] sys_prompt = sys_prompt_temp.format( - content_data=section, response_type=query_param.response_type + content_data=section, response_type=query_param.response_type, history=history_context ) if query_param.only_need_prompt: From 66dcc551ef3d390ec272a6896b85618f8fac5ec7 Mon Sep 17 00:00:00 2001 From: yangdx Date: Sat, 25 Jan 2025 16:29:59 +0800 Subject: [PATCH 2/4] Fix LLM binding variable name in create_app function Corrected variable name from llm_binding_host Updated conditional checks for LLM bindings --- lightrag/api/lightrag_server.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lightrag/api/lightrag_server.py b/lightrag/api/lightrag_server.py index 87a72a98..11c333ec 100644 --- a/lightrag/api/lightrag_server.py +++ b/lightrag/api/lightrag_server.py @@ -719,14 +719,14 @@ async def lifespan(app: FastAPI): # Create working directory if it doesn't exist Path(args.working_dir).mkdir(parents=True, exist_ok=True) - if args.llm_binding_host == "lollms" or args.embedding_binding == "lollms": + if args.llm_binding == "lollms" or args.embedding_binding == "lollms": from lightrag.llm.lollms import lollms_model_complete, lollms_embed - if args.llm_binding_host == "ollama" or args.embedding_binding == "ollama": + if args.llm_binding == "ollama" or args.embedding_binding == "ollama": from lightrag.llm.ollama import ollama_model_complete, ollama_embed - if args.llm_binding_host == "openai" or args.embedding_binding == "openai": + if args.llm_binding == "openai" or args.embedding_binding == "openai": from lightrag.llm.openai import openai_complete_if_cache, openai_embed if ( - args.llm_binding_host == "azure_openai" + args.llm_binding == "azure_openai" or args.embedding_binding == "azure_openai" ): from lightrag.llm.azure_openai import ( From cf2f83377c4b5a55167d39dab8cd83637b8b0b63 Mon Sep 17 00:00:00 2001 From: yangdx Date: Sat, 25 Jan 2025 16:57:47 +0800 Subject: [PATCH 3/4] fix linting --- lightrag/api/lightrag_server.py | 5 +---- lightrag/operate.py | 4 +++- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/lightrag/api/lightrag_server.py b/lightrag/api/lightrag_server.py index 11c333ec..533be818 100644 --- a/lightrag/api/lightrag_server.py +++ b/lightrag/api/lightrag_server.py @@ -725,10 +725,7 @@ async def lifespan(app: FastAPI): from lightrag.llm.ollama import ollama_model_complete, ollama_embed if args.llm_binding == "openai" or args.embedding_binding == "openai": from lightrag.llm.openai import openai_complete_if_cache, openai_embed - if ( - args.llm_binding == "azure_openai" - or args.embedding_binding == "azure_openai" - ): + if args.llm_binding == "azure_openai" or args.embedding_binding == "azure_openai": from lightrag.llm.azure_openai import ( azure_openai_complete_if_cache, azure_openai_embed, diff --git a/lightrag/operate.py b/lightrag/operate.py index 74ffa462..154b810e 100644 --- a/lightrag/operate.py +++ b/lightrag/operate.py @@ -1543,7 +1543,9 @@ async def naive_query( sys_prompt_temp = PROMPTS["naive_rag_response"] sys_prompt = sys_prompt_temp.format( - content_data=section, response_type=query_param.response_type, history=history_context + content_data=section, + response_type=query_param.response_type, + history=history_context, ) if query_param.only_need_prompt: From 06673b6fb27da0a208c48c0442fd6c2e70ea3240 Mon Sep 17 00:00:00 2001 From: yangdx Date: Sat, 25 Jan 2025 20:11:52 +0800 Subject: [PATCH 4/4] Add logging for high and low-level keywords --- lightrag/operate.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lightrag/operate.py b/lightrag/operate.py index 154b810e..af66eee6 100644 --- a/lightrag/operate.py +++ b/lightrag/operate.py @@ -589,6 +589,9 @@ async def kg_query( query, query_param, global_config, hashing_kv ) + logger.info(f"High-level keywords: {hl_keywords}") + logger.info(f"Low-level keywords: {ll_keywords}") + # Handle empty keywords if hl_keywords == [] and ll_keywords == []: logger.warning("low_level_keywords and high_level_keywords is empty")