一个基于RAG(检索增强生成)技术的古典音乐知识问答系统,集成了通义千问LLM、向量检索和Streamlit界面。
# 激活conda环境(基于minimind环境扩展,需补充langchain)
conda activate minimind在项目根目录创建 .env 文件:
DASHSCOPE_API_KEY="sk-xxxxxxxxx"
streamlit run app.py├── app.py # Streamlit主界面
├── rag_engine.py # RAG引擎核心逻辑
├── web_crawler.py # 维基百科数据爬虫
├── crawled_data/ # 爬取的古典音乐数据
│ ├── 01_作曲家/
│ ├── 02_入门曲目/
│ ├── 03_乐器/
│ ├── 04_音乐术语/
│ ├── 05_音乐时期/
│ └── 06_文化机构/
├── rag_storage/ # RAG知识库存储
└── .env # API密钥配置
- LLM: 通义千问(DashScope API)
- 向量模型: text-embedding-v4
- 向量数据库: ChromaDB
- 编排框架: LangChain
- Web界面: Streamlit
- 数据源: 中文维基百科