CourseGraph 使用大模型,利用多种 prompt 优化技术, 自动从教材、书籍中抽取知识点, 构成以课程-章节-知识点为主题的知识图谱。为增加每个知识点的信息, CourseGraph 可以为知识点链接相应的习题、扩展阅读材料等资源, 另外也可利用多模态大模型从 pptx、图片、视频中提取信息并与之相关联。
- 目前只实现了基本的知识图谱抽取和对 pptx 的解析,效果有待优化
- 对视频的解析还处于规划中
- 改进提示词工程,并尝试使用 Agent 完成相关工作
- 增加多种策略对比实验
- 基于图谱的问答 (KBQA 或 Graph-RAG)
首先申请阿里云百炼 API Key,然后选择使用本地安装或使用 Docker 安装:
uv sync
Linux 下还需安装 libreoffice 以完成文档转换,以 Debian 系为例:
sudo apt install libreoffice
提供 Neo4j 连接密码和待抽取的文件路径,然后执行:
uv run examples/get_knowledge_graph_pdf.py -p neo4j -f assets/deep-learning-from-scratch.pdf
docker-compose -f docker/docker-compose.yml up -d
uv run examples/get_knowledge_graph_pdf.py -f assets/deep-learning-from-scratch.pdf
可以在 docs
目录下查看文档, 也可以访问 在线文档 (由于项目功能仍处于快速开发中,故在线文档暂时还没有准备好)。
如果你希望自定义在线文档请依照以下步骤:
文档使用 vitepress 构建, 需安装 node.js 18 或以上版本,然后执行:
cd docs
npm i
npm run dev
使用浏览器打开 http://localhost:5173/ 即可进行预览。
欢迎提交 PR 或 Issues,也欢迎参与任何形式的贡献。
本项目基于 MIT 协议 开源。
如果觉得 CourseGraph 项目有助于你的工作,请点击 Repository 右侧的 Cite this repository
按钮进行引用。