Downloads · 30 days
0
xxxiama11/forcompetition
forcompetition is a machine learning model from xxxiama11. Use it for the machine learning task on the model card, and read the license before you ship it in a product.
基于RAG(检索增强生成)架构的政务问答系统,采用模块化设计,代码结构清晰易维护。
Downloads · 30 days
0
Access
Public
Updated Nov 17, 2025
Repo size
31 GB
Likes
0
Public
Click a slice to open those files.
.safetensors30.7 GB · 99%
From the Hugging Face model README
基于RAG(检索增强生成)架构的政务问答系统,采用模块化设计,代码结构清晰易维护。
6/
├── config.py # 配置管理模块
├── document_loader.py # 文档加载模块
├── text_processor.py # 文本处理模块
├── retrieval_engine.py # 检索引擎模块
├── inference_engine.py # 推理引擎模块
├── pipeline.py # 处理流水线模块
├── main.py # 主入口文件
├── run.sh # 启动脚本
├── README.md # 说明文档(本文件)
├── models/ # 模型目录
│ ├── Qwen3-Embedding-0.6B/ # Embedding模型
│ └── llm/ # 政务LLM模型
├── data/ # 数据目录
│ ├── test.xlsx # 测试问题文件
│ └── rag_docs/ # RAG知识库文档
└── output/ # 输出目录(自动创建)
└── zhengwu_result.csv # 结果文件
程序入口,负责初始化和启动流水线。
准备模型和数据
6/models/Qwen3-Embedding-0.6B/6/models/zhenwu/6/data/test.xlsx6/data/rag_docs/启动vLLM服务
# 在6/目录下启动vLLM服务
cd /mnt/silver/lz/competitions/mars_提交结果/政务/6
# 启动政务模型服务
vllm serve models/zhenwu \
--port 8000 \
--tensor-parallel-size 2 \
--gpu-memory-utilization 0.95
pip install vllm openai pandas torch textract langchain-text-splitters tqdm
cd /mnt/silver/lz/competitions/mars_提交结果/政务/6
python main.py
程序会自动执行以下5个阶段:
data/rag_docs/)结果保存在:output/zhengwu_result.csv
格式:
ID,answer
ZW_001,答案内容1
ZW_002,答案内容2
...
models/Qwen3-Embedding-0.6Bmodels/zhenwudata/test.xlsxdata/rag_docsoutput/zhengwu_result.csv如需修改配置,编辑 config.py 中的 PathManager 和 ProcessingConfig 类。
| 方面 | 参考代码(2/daima/main.py) | 本版本(6/) |
|---|---|---|
| 文件组织 | 单文件 | 7个模块文件 |
| 编程范式 | 面向对象+单文件 | 模块化+面向对象 |
| 类命名 | 描述性(如DocumentProcessor) | 职责性(如DocumentLoader) |
| 配置方式 | dataclass | 类+单例模式 |
| 路径管理 | 配置类中混合 | 独立PathManager类 |
| 文档加载 | ThreadPoolExecutor直接使用 | 封装成DocumentLoader类 |
| 检索引擎 | DocumentRetrievalSystem | RetrievalEngine |
| 推理引擎 | LLMService+QAProcessor | InferenceEngine+Manager |
| 流程控制 | QASystem.run() | RAGPipeline多阶段 |
错误: [错误] XXX不存在: /path/to/file
解决:
错误: 连接LLM API失败
解决:
cd /mnt/silver/lz/competitions/mars_提交结果/政务/6
vllm serve models/zhenwu --port 8000 --tensor-parallel-size 2 --gpu-memory-utilization 0.95
错误: CUDA out of memory
解决:
class MyChunkingStrategy(ChunkingStrategy):
def split(self, text: str) -> List[str]:
# 实现自定义分块逻辑
pass
# 使用
strategy = MyChunkingStrategy()
chunker = DocumentChunker(strategy)
编辑 config.py 中的 ProcessingConfig.user_prompt_template
修改 config.py 中的 PathManager.embedding_model
本代码仅供学习和研究使用。