Center banner text dynamically

This commit is contained in:
yangdx 2025-07-07 17:28:59 +08:00
parent f86ae6df0a
commit f417118e27
3 changed files with 36 additions and 24 deletions

View file

@ -824,7 +824,7 @@ rag = LightRAG(
create INDEX CONCURRENTLY entity_idx_node_id ON dickens."Entity" (ag_catalog.agtype_access_operator(properties, '"node_id"'::agtype)); create INDEX CONCURRENTLY entity_idx_node_id ON dickens."Entity" (ag_catalog.agtype_access_operator(properties, '"node_id"'::agtype));
CREATE INDEX CONCURRENTLY entity_node_id_gin_idx ON dickens."Entity" using gin(properties); CREATE INDEX CONCURRENTLY entity_node_id_gin_idx ON dickens."Entity" using gin(properties);
ALTER TABLE dickens."DIRECTED" CLUSTER ON directed_sid_idx; ALTER TABLE dickens."DIRECTED" CLUSTER ON directed_sid_idx;
-- 如有必要可以删除 -- 如有必要可以删除
drop INDEX entity_p_idx; drop INDEX entity_p_idx;
drop INDEX vertex_p_idx; drop INDEX vertex_p_idx;
@ -1170,17 +1170,17 @@ LightRAG 现已与 [RAG-Anything](https://github.com/HKUDS/RAG-Anything) 实现
from lightrag.llm.openai import openai_complete_if_cache, openai_embed from lightrag.llm.openai import openai_complete_if_cache, openai_embed
from lightrag.utils import EmbeddingFunc from lightrag.utils import EmbeddingFunc
import os import os
async def load_existing_lightrag(): async def load_existing_lightrag():
# 首先,创建或加载现有的 LightRAG 实例 # 首先,创建或加载现有的 LightRAG 实例
lightrag_working_dir = "./existing_lightrag_storage" lightrag_working_dir = "./existing_lightrag_storage"
# 检查是否存在之前的 LightRAG 实例 # 检查是否存在之前的 LightRAG 实例
if os.path.exists(lightrag_working_dir) and os.listdir(lightrag_working_dir): if os.path.exists(lightrag_working_dir) and os.listdir(lightrag_working_dir):
print("✅ Found existing LightRAG instance, loading...") print("✅ Found existing LightRAG instance, loading...")
else: else:
print("❌ No existing LightRAG instance found, will create new one") print("❌ No existing LightRAG instance found, will create new one")
# 使用您的配置创建/加载 LightRAG 实例 # 使用您的配置创建/加载 LightRAG 实例
lightrag_instance = LightRAG( lightrag_instance = LightRAG(
working_dir=lightrag_working_dir, working_dir=lightrag_working_dir,
@ -1203,10 +1203,10 @@ LightRAG 现已与 [RAG-Anything](https://github.com/HKUDS/RAG-Anything) 实现
), ),
) )
) )
# 初始化存储(如果有现有数据,这将加载现有数据) # 初始化存储(如果有现有数据,这将加载现有数据)
await lightrag_instance.initialize_storages() await lightrag_instance.initialize_storages()
# 现在使用现有的 LightRAG 实例初始化 RAGAnything # 现在使用现有的 LightRAG 实例初始化 RAGAnything
rag = RAGAnything( rag = RAGAnything(
lightrag=lightrag_instance, # 传递现有的 LightRAG 实例 lightrag=lightrag_instance, # 传递现有的 LightRAG 实例
@ -1235,20 +1235,20 @@ LightRAG 现已与 [RAG-Anything](https://github.com/HKUDS/RAG-Anything) 实现
) )
# 注意working_dir、llm_model_func、embedding_func 等都从 lightrag_instance 继承 # 注意working_dir、llm_model_func、embedding_func 等都从 lightrag_instance 继承
) )
# 查询现有的知识库 # 查询现有的知识库
result = await rag.query_with_multimodal( result = await rag.query_with_multimodal(
"What data has been processed in this LightRAG instance?", "What data has been processed in this LightRAG instance?",
mode="hybrid" mode="hybrid"
) )
print("Query result:", result) print("Query result:", result)
# 向现有的 LightRAG 实例添加新的多模态文档 # 向现有的 LightRAG 实例添加新的多模态文档
await rag.process_document_complete( await rag.process_document_complete(
file_path="path/to/new/multimodal_document.pdf", file_path="path/to/new/multimodal_document.pdf",
output_dir="./output" output_dir="./output"
) )
if __name__ == "__main__": if __name__ == "__main__":
asyncio.run(load_existing_lightrag()) asyncio.run(load_existing_lightrag())
``` ```

View file

@ -796,7 +796,7 @@ For production level scenarios you will most likely want to leverage an enterpri
create INDEX CONCURRENTLY entity_idx_node_id ON dickens."Entity" (ag_catalog.agtype_access_operator(properties, '"node_id"'::agtype)); create INDEX CONCURRENTLY entity_idx_node_id ON dickens."Entity" (ag_catalog.agtype_access_operator(properties, '"node_id"'::agtype));
CREATE INDEX CONCURRENTLY entity_node_id_gin_idx ON dickens."Entity" using gin(properties); CREATE INDEX CONCURRENTLY entity_node_id_gin_idx ON dickens."Entity" using gin(properties);
ALTER TABLE dickens."DIRECTED" CLUSTER ON directed_sid_idx; ALTER TABLE dickens."DIRECTED" CLUSTER ON directed_sid_idx;
-- drop if necessary -- drop if necessary
drop INDEX entity_p_idx; drop INDEX entity_p_idx;
drop INDEX vertex_p_idx; drop INDEX vertex_p_idx;
@ -1184,17 +1184,17 @@ LightRAG now seamlessly integrates with [RAG-Anything](https://github.com/HKUDS/
from lightrag.llm.openai import openai_complete_if_cache, openai_embed from lightrag.llm.openai import openai_complete_if_cache, openai_embed
from lightrag.utils import EmbeddingFunc from lightrag.utils import EmbeddingFunc
import os import os
async def load_existing_lightrag(): async def load_existing_lightrag():
# First, create or load an existing LightRAG instance # First, create or load an existing LightRAG instance
lightrag_working_dir = "./existing_lightrag_storage" lightrag_working_dir = "./existing_lightrag_storage"
# Check if previous LightRAG instance exists # Check if previous LightRAG instance exists
if os.path.exists(lightrag_working_dir) and os.listdir(lightrag_working_dir): if os.path.exists(lightrag_working_dir) and os.listdir(lightrag_working_dir):
print("✅ Found existing LightRAG instance, loading...") print("✅ Found existing LightRAG instance, loading...")
else: else:
print("❌ No existing LightRAG instance found, will create new one") print("❌ No existing LightRAG instance found, will create new one")
# Create/Load LightRAG instance with your configurations # Create/Load LightRAG instance with your configurations
lightrag_instance = LightRAG( lightrag_instance = LightRAG(
working_dir=lightrag_working_dir, working_dir=lightrag_working_dir,
@ -1217,10 +1217,10 @@ LightRAG now seamlessly integrates with [RAG-Anything](https://github.com/HKUDS/
), ),
) )
) )
# Initialize storage (this will load existing data if available) # Initialize storage (this will load existing data if available)
await lightrag_instance.initialize_storages() await lightrag_instance.initialize_storages()
# Now initialize RAGAnything with the existing LightRAG instance # Now initialize RAGAnything with the existing LightRAG instance
rag = RAGAnything( rag = RAGAnything(
lightrag=lightrag_instance, # Pass the existing LightRAG instance lightrag=lightrag_instance, # Pass the existing LightRAG instance
@ -1249,20 +1249,20 @@ LightRAG now seamlessly integrates with [RAG-Anything](https://github.com/HKUDS/
) )
# Note: working_dir, llm_model_func, embedding_func, etc. are inherited from lightrag_instance # Note: working_dir, llm_model_func, embedding_func, etc. are inherited from lightrag_instance
) )
# Query the existing knowledge base # Query the existing knowledge base
result = await rag.query_with_multimodal( result = await rag.query_with_multimodal(
"What data has been processed in this LightRAG instance?", "What data has been processed in this LightRAG instance?",
mode="hybrid" mode="hybrid"
) )
print("Query result:", result) print("Query result:", result)
# Add new multimodal documents to the existing LightRAG instance # Add new multimodal documents to the existing LightRAG instance
await rag.process_document_complete( await rag.process_document_complete(
file_path="path/to/new/multimodal_document.pdf", file_path="path/to/new/multimodal_document.pdf",
output_dir="./output" output_dir="./output"
) )
if __name__ == "__main__": if __name__ == "__main__":
asyncio.run(load_existing_lightrag()) asyncio.run(load_existing_lightrag())
``` ```

View file

@ -175,12 +175,24 @@ def display_splash_screen(args: argparse.Namespace) -> None:
args: Parsed command line arguments args: Parsed command line arguments
""" """
# Banner # Banner
ASCIIColors.cyan(f""" # Banner
top_border = "╔══════════════════════════════════════════════════════════════╗"
🚀 LightRAG Server v{core_version}/{api_version} bottom_border = "╚══════════════════════════════════════════════════════════════╝"
Fast, Lightweight RAG Server Implementation width = len(top_border) - 4 # width inside the borders
""") line1_text = f"LightRAG Server v{core_version}/{api_version}"
line2_text = "Fast, Lightweight RAG Server Implementation"
line1 = f"{line1_text.center(width)}"
line2 = f"{line2_text.center(width)}"
banner = f"""
{top_border}
{line1}
{line2}
{bottom_border}
"""
ASCIIColors.cyan(banner)
# Server Configuration # Server Configuration
ASCIIColors.magenta("\n📡 Server Configuration:") ASCIIColors.magenta("\n📡 Server Configuration:")