init: RAG 知识库服务初始提交

- 后端 API(Flask + Gunicorn)
- RAG 引擎(混合检索 + 云端 Reranker + 引用溯源)
- 文档解析(MinerU + 多格式支持)
- Docker 生产部署配置
- 排除前端项目、敏感配置、模型文件
This commit is contained in:
lacerate551
2026-06-04 17:35:27 +08:00
commit 100d1a06eb
158 changed files with 64534 additions and 0 deletions

54
main.py Normal file
View File

@@ -0,0 +1,54 @@
"""
RAG API 服务 - 统一启动入口
使用方式:
python main.py # 启动服务(默认端口 5001
python main.py --port 8080 # 指定端口
python main.py --host 127.0.0.1 # 仅本机访问
等效于旧入口: python rag_api_server.py
"""
import sys
import os
import argparse
import warnings
# 抑制第三方库的已知警告
warnings.filterwarnings("ignore", message="pkg_resources is deprecated")
warnings.filterwarnings("ignore", category=FutureWarning, module="core.agentic")
# 确保项目根目录在 Python 路径中
PROJECT_ROOT = os.path.dirname(os.path.abspath(__file__))
if PROJECT_ROOT not in sys.path:
sys.path.insert(0, PROJECT_ROOT)
def main():
parser = argparse.ArgumentParser(description='RAG API 服务')
parser.add_argument('--host', default='0.0.0.0', help='监听地址(默认 0.0.0.0')
parser.add_argument('--port', type=int, default=5001, help='监听端口(默认 5001')
parser.add_argument('--debug', action='store_true', default=True, help='调试模式')
parser.add_argument('--no-debug', action='store_true', help='关闭调试模式')
args = parser.parse_args()
debug = args.debug and not args.no_debug
# 通过工厂函数创建应用
from api import create_app
app = create_app()
print(f"\n🚀 RAG API 服务启动: http://{args.host}:{args.port}")
print(f" 调试模式: {'开启' if debug else '关闭'}")
app.run(
host=args.host,
port=args.port,
debug=debug,
threaded=True,
use_reloader=False
)
if __name__ == '__main__':
main()