增加代码知识库;修复文档处理内容;增加API设置
This commit is contained in:
97
RAG-TEST-TOOLS/config.py
Normal file
97
RAG-TEST-TOOLS/config.py
Normal file
@@ -0,0 +1,97 @@
|
||||
# config.py
|
||||
import os
|
||||
import sys
|
||||
from pathlib import Path
|
||||
import json
|
||||
|
||||
def get_app_base_path():
|
||||
"""
|
||||
获取应用程序基础路径,兼容开发和打包环境
|
||||
"""
|
||||
if getattr(sys, 'frozen', False):
|
||||
# 如果是打包后的exe文件
|
||||
if hasattr(sys, '_MEIPASS'):
|
||||
# 临时解压目录(包含打包的资源文件)
|
||||
return Path(sys._MEIPASS)
|
||||
else:
|
||||
# exe文件所在目录
|
||||
return Path(sys.executable).parent
|
||||
else:
|
||||
# 开发环境:当前脚本所在目录
|
||||
return Path(__file__).parent
|
||||
|
||||
# 获取基础路径
|
||||
BASE_PATH = get_app_base_path()
|
||||
|
||||
# API 配置 - 硬编码
|
||||
QWEN_API_URL = os.getenv(
|
||||
"QWEN_API_URL",
|
||||
os.getenv("DASH_SCOPE_API_BASE", "https://dashscope.aliyuncs.com/compatible-mode/v1"),
|
||||
)
|
||||
QWEN_API_KEY = (
|
||||
os.getenv("DASHSCOPE_API_KEY")
|
||||
or os.getenv("DASH_SCOPE_API_KEY")
|
||||
or os.getenv("QWEN_API_KEY")
|
||||
or ""
|
||||
)
|
||||
QWEN_CHAT_MODEL = os.getenv("QWEN_CHAT_MODEL", "qwen-max")
|
||||
QWEN_EMBEDDING_MODEL = os.getenv("QWEN_EMBEDDING_MODEL", "text-embedding-v4")
|
||||
|
||||
# 项目路径配置 - 硬编码
|
||||
PROJECT_ROOT = BASE_PATH
|
||||
Default_PROJECT_ROOT = BASE_PATH / "PrjAttCtrlMng"
|
||||
|
||||
# 数据文件路径配置 - 硬编码
|
||||
VECTOR_DB_PATH = ""
|
||||
Default_VECTOR_DB_PATH = str(BASE_PATH / "satellite_rag.faiss")
|
||||
METADATA_PATH = ""
|
||||
Default_METADATA_PATH = str(BASE_PATH / "satellite_rag_metadata.json")
|
||||
GRAPH_DATA_PATH = ""
|
||||
Default_GRAPH_DATA_PATH = str(BASE_PATH / "code_knowledge_graph.json")
|
||||
|
||||
# 代码处理配置 - 硬编码
|
||||
MAX_CODE_LENGTH = 800
|
||||
CPP_EXTENSIONS = {'.c', '.cpp', '.h', '.hpp', '.tcc'}
|
||||
IGNORE_DIRS = {'build', 'cmake-build', '.git', 'vendor', 'lib', 'external', 'Debug'}
|
||||
|
||||
# 功能检索配置 - 硬编码
|
||||
KNOWLEDGE_GRAPH_PATH = ""
|
||||
Default_KNOWLEDGE_GRAPH_PATH = str(BASE_PATH / "project_code_knowledge_graph.json")
|
||||
TOP_K = 8
|
||||
MAX_HOPS = 3
|
||||
MIN_SIMILARITY_THRESHOLD = 0.6
|
||||
|
||||
# 辅助函数,用于实际使用时的动态路径获取
|
||||
def get_vector_db_path():
|
||||
"""获取向量数据库实际路径"""
|
||||
return VECTOR_DB_PATH or Default_VECTOR_DB_PATH
|
||||
|
||||
def get_metadata_path():
|
||||
"""获取元数据文件实际路径"""
|
||||
return METADATA_PATH or Default_METADATA_PATH
|
||||
|
||||
def get_graph_data_path():
|
||||
"""获取图谱数据实际路径"""
|
||||
return GRAPH_DATA_PATH or Default_GRAPH_DATA_PATH
|
||||
|
||||
def get_knowledge_graph_path():
|
||||
"""获取知识图谱数据实际路径"""
|
||||
return KNOWLEDGE_GRAPH_PATH or Default_KNOWLEDGE_GRAPH_PATH
|
||||
|
||||
# 导出路径信息,便于调试
|
||||
def print_path_info():
|
||||
"""打印路径信息,用于调试"""
|
||||
print("=== 配置文件路径信息 ===")
|
||||
print(f"BASE_PATH: {BASE_PATH}")
|
||||
print(f"PROJECT_ROOT: {PROJECT_ROOT}")
|
||||
print(f"Default_PROJECT_ROOT: {Default_PROJECT_ROOT}")
|
||||
print(f"Default_VECTOR_DB_PATH: {Default_VECTOR_DB_PATH}")
|
||||
print(f"Default_METADATA_PATH: {Default_METADATA_PATH}")
|
||||
print(f"Default_GRAPH_DATA_PATH: {Default_GRAPH_DATA_PATH}")
|
||||
print(f"Default_KNOWLEDGE_GRAPH_PATH: {Default_KNOWLEDGE_GRAPH_PATH}")
|
||||
print(f"是否打包环境: {getattr(sys, 'frozen', False)}")
|
||||
print("=======================")
|
||||
|
||||
# 如果直接运行此文件,打印路径信息
|
||||
if __name__ == "__main__":
|
||||
print_path_info()
|
||||
Reference in New Issue
Block a user