Skip to main content

李贺锦囊 - 零幻觉文献综述智能体

Project description

李贺锦囊 - 零幻觉文献综述智能体

基于"单篇精读→积累材料→统一整合"的工作流程,帮助研究者高效完成文献综述。

功能特性

  • 多源文献导入:支持 Zotero 文献库、PDF 文件、DOI 检索
  • 智能精读卡片:基于 LLM 的单篇文献深度阅读,生成结构化笔记
  • 文献归类整合:自动分析文献间关系,构建知识图谱
  • 综述自动撰写:基于精读卡片和归类结果,生成完整文献综述
  • 多模态支持:可选启用图片理解,分析 PDF 中的图表内容
  • 元数据补全:联网补全期刊信息、作者信息、引用格式

安装

pip install jinnang

快速开始

1. 初始化配置

jinnang init --text-key <DEEPSEEK_API_KEY> --vision-key <MINIMAX_API_KEY>

2. 创建项目

jinnang new my-research --field "我的研究领域"

3. 导入文献

# 从 Zotero 导入
jinnang add my-research --zotero <COLLECTION_ID>

# 从 PDF 文件导入
jinnang add my-research --pdf /path/to/paper.pdf

# 从 DOI 导入
jinnang add my-research --doi 10.1234/example.2024

4. 生成精读卡片

jinnang card my-research

5. 归类整合

jinnang classify my-research

6. 生成综述

jinnang compose my-research

一键全流程

jinnang run my-research

命令参考

命令 功能 示例
init 配置 API Key jinnang init --text-key sk-xxx
new 创建项目 jinnang new my-project -f "领域"
add 添加文献 jinnang add my-project --zotero ID
list 查看文献列表 jinnang list my-project
card 生成精读卡片 jinnang card my-project
classify 归类整合 jinnang classify my-project
compose 生成综述 jinnang compose my-project
view 查看结果 jinnang view my-project --card paper-000
run 一键全流程 jinnang run my-project
version 查看版本 jinnang version

配置说明

配置文件位于 ~/.jinnang/config.json

{
  "models": {
    "text": {
      "provider": "deepseek",
      "api_key": "",
      "model": "deepseek-chat",
      "base_url": "https://api.deepseek.com/v1",
      "enabled": true
    },
    "vision": {
      "provider": "minimax",
      "api_key": "",
      "model": "minimax-3",
      "base_url": "https://api.minimax.chat/v1",
      "enabled": false
    }
  },
  "projects_dir": "~/jinnang-projects",
  "zotero_data_dir": null
}

环境变量支持:

  • JINNANG_TEXT_API_KEY:文本模型 API Key
  • JINNANG_TEXT_PROVIDER:文本模型提供商
  • JINNANG_TEXT_MODEL:文本模型名称
  • JINNANG_VISION_API_KEY:多模态模型 API Key
  • JINNANG_VISION_PROVIDER:多模态模型提供商
  • JINNANG_VISION_MODEL:多模态模型名称

项目结构

jinnang-projects/my-research/
├── cards/           # 文献精读卡片
├── classify/        # 归类整合结果
├── downloads/       # PDF 原文
├── images/          # 提取的图片
├── output/          # 最终综述
├── sources/         # PDF 转 Markdown 文本
└── project.json     # 项目配置

技术栈

  • Python 3.8+
  • Typer - CLI 框架
  • Rich - 终端美化
  • DeepSeek - 文本生成
  • MiniMax - 图片理解
  • MarkItDown - PDF 转 Markdown

License

MIT License

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

lihe_jinnang-1.0.0.tar.gz (27.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

lihe_jinnang-1.0.0-py3-none-any.whl (36.0 kB view details)

Uploaded Python 3

File details

Details for the file lihe_jinnang-1.0.0.tar.gz.

File metadata

  • Download URL: lihe_jinnang-1.0.0.tar.gz
  • Upload date:
  • Size: 27.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.0rc1

File hashes

Hashes for lihe_jinnang-1.0.0.tar.gz
Algorithm Hash digest
SHA256 33e452a5e000ab56775699b695e94a4f8ea190bf6f4752b13bc3f25dd0efe128
MD5 3e1e0b3319e4b93dbde49a746ceb4ba0
BLAKE2b-256 5c7296e3610e782154c9e1d8d2b45d1febdb18b6da61eeb1a664af35da6123c9

See more details on using hashes here.

File details

Details for the file lihe_jinnang-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: lihe_jinnang-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 36.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.0rc1

File hashes

Hashes for lihe_jinnang-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 9b0ff7234b41ec94faafdca75af8abfe8de6893ab27618145e1565365a703abe
MD5 e2a551feae981ac1a0728e4468e38e31
BLAKE2b-256 ccbaa9efcbb001e1671f51d1f0a3f4642eab8ddab3fd20c0ff812cae2dd198a6

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page