README
🚀 Criterion - 伊斯兰知识助手
Criterion 是一款由人工智能驱动的伊斯兰知识助手,为全球的求知者提供真实可靠的伊斯兰指导。它基于《古兰经》和可靠的圣训构建,并且永久免费,旨在为全人类提供神圣的指引。
🚀 快速开始
前提条件
- Node.js 18 及以上版本和 pnpm
- PostgreSQL 数据库(推荐 Neon)
- API 密钥:
- XAI API 密钥(用于 Grok LLM)
- Google AI Studio API 密钥(用于嵌入)
安装步骤
- 克隆仓库
git clone <repo-url>
cd criterion
- 安装依赖
pnpm install
- 设置环境变量
创建一个
.env.local文件:
# 数据库
POSTGRES_URL=postgresql://...
# AI API
XAI_API_KEY=xai-...
GOOGLE_GENERATIVE_AI_API_KEY=...
# 认证(可选)
AUTH_SECRET=...
- 启用 pgvector 扩展
pnpm db:enable-pgvector
- 运行数据库迁移
pnpm db:migrate
- 导入《古兰经》数据(为 6236 节经文生成嵌入)
pnpm ingest:quran
这将需要 10 - 15 分钟才能完成。 7. 测试《古兰经》搜索
pnpm test:quran
- 启动开发服务器
pnpm dev
应用程序现在应该在 localhost:3000 上运行。
可用命令
开发
pnpm dev # 启动开发服务器
pnpm build # 为生产环境构建
pnpm start # 启动生产服务器
数据库
pnpm db:generate # 生成 Drizzle 模式
pnpm db:migrate # 运行迁移
pnpm db:studio # 打开 Drizzle Studio(图形界面)
数据导入与测试
# 《古兰经》
pnpm clear:quran # 清除所有《古兰经》数据
pnpm ingest:quran # 导入《古兰经》经文并生成嵌入
pnpm ingest:quran:slovak # 导入斯洛伐克语翻译
pnpm test:quran # 测试《古兰经》搜索功能
# 圣训
pnpm clear:hadith # 清除所有圣训数据
pnpm ingest:hadith # 导入圣训并生成嵌入
✨ 主要特性
核心功能
✅ 语义《古兰经》搜索 — 以自然语言提问,获取相关经文
✅ 语义圣训搜索 — 搜索可靠圣训,并可按等级和集合进行筛选
✅ 上下文理解 — 搜索结果包含上下文,便于理解
✅ 准确引用 — 每个回复都引用真实来源并提供超链接
✅ 多语言阅读 — 支持英语(快速)和斯洛伐克语(可扩展到 10 多种语言)
✅ 可分享的 URL — 如 /quran/search?q=patience、/hadith/search?q=charity 和 /quran/2/255 等,并带有元数据
✅ 实时流式传输 — 逐令牌生成渐进式响应
✅ 基于工具的 RAG — 大语言模型自主决定何时从《古兰经》/圣训中检索信息
技术优势
- 🎯 语义搜索 — 自然语言查询可从 6236 节《古兰经》经文和 21641 条圣训叙述中返回相关内容
- 📖 上下文检索 — 搜索结果包含前后各 2 节经文/叙述,提供完整上下文
- 🌐 多语言支持 — 支持英语(快速)和斯洛伐克语(可扩展到 10 多种语言)
- 🔗 准确引用 — 所有回复均包含带有超链接的来源参考(Quran.com、Sunnah.com)
- ⚡ 快速响应 — 查询响应时间小于 150 毫秒
关键差异化特点
使命导向
- ✨ 永久免费 — 无付费墙、无广告、无盈利目的,只为真主而建
- 📚 聚焦基础 — 避免教派争论,专注于普遍接受的伊斯兰教义
- 🛡️ 信任优先 — 采用等级过滤的可靠圣训(默认使用可靠圣训),仅使用经过验证的来源
- 🤝 面向求知者 — 专为好奇的心灵、新穆斯林和知识学习者设计
- 🕌 传教士风格 — 提供富有同情心、知识渊博且谦逊的指导
技术卓越
- 🎯 语义搜索 — 自然语言查询可从 6236 节《古兰经》经文和 21641 条圣训叙述中返回相关内容
- 📖 上下文检索 — 搜索结果包含前后各 2 节经文/叙述,提供完整上下文
- 🌐 多语言支持 — 支持英语(快速)和斯洛伐克语(可扩展到 10 多种语言)
- 🔗 准确引用 — 所有回复均包含带有超链接的来源参考(Quran.com、Sunnah.com)
- ⚡ 快速响应 — 查询响应时间小于 150 毫秒
📦 安装指南
前提条件
- Node.js 18 及以上版本和 pnpm
- PostgreSQL 数据库(推荐 Neon)
- API 密钥:
- XAI API 密钥(用于 Grok LLM)
- Google AI Studio API 密钥(用于嵌入)
安装步骤
- 克隆仓库
git clone <repo-url>
cd criterion
- 安装依赖
pnpm install
- 设置环境变量
创建一个
.env.local文件:
# 数据库
POSTGRES_URL=postgresql://...
# AI API
XAI_API_KEY=xai-...
GOOGLE_GENERATIVE_AI_API_KEY=...
# 认证(可选)
AUTH_SECRET=...
- 启用 pgvector 扩展
pnpm db:enable-pgvector
- 运行数据库迁移
pnpm db:migrate
- 导入《古兰经》数据(为 6236 节经文生成嵌入)
pnpm ingest:quran
这将需要 10 - 15 分钟才能完成。 7. 测试《古兰经》搜索
pnpm test:quran
- 启动开发服务器
pnpm dev
应用程序现在应该在 localhost:3000 上运行。
💻 使用示例
基础用法
以下是一个简单的《古兰经》搜索示例:
pnpm test:quran
高级用法
你可以使用 MCP 服务器进行搜索,以下是一个快速设置示例:
{
"mcpServers": {
"criterion": {
"url": "https://criterion.life/api/mcp"
}
}
}
可用工具:
search_quran— 搜索 6236 节《古兰经》经文search_hadith— 搜索 21641 条来自 6 个集合的可靠圣训get_verse— 根据引用检索特定经文(例如,"2:255")
📚 详细文档
了解 Criterion
- MISSION.md — 我们的愿景、价值观和深层目标。建议先阅读此文档,以了解我们构建 Criterion 的原因。
- CRITERION_DETAILED.md — 全面的技术文档,包括架构、实现历史和性能指标。
- CRITERION.md — 快速参考指南,涵盖设置和关键概念。
关键文档说明
| 文档名称 | 用途 | | ---- | ---- | | MISSION.md | 愿景、价值观、支柱和长期目标 | | CRITERION_DETAILED.md | 技术架构、数据库模式、组件和最佳实践 | | CRITERION.md | 快速开始、命令和核心概念 | | README.md | 入门指南、功能和项目概述 |
🔧 技术细节
RAG 管道
用户问题
↓
XAI Grok 4 大语言模型(决定使用哪些工具)
↓
工具选择:
- queryQuran → 6236 节经文(聊天时取前 7 节,搜索时取前 20 节)
- queryHadith → 21641 条来自 6 个集合的圣训(聊天时取前 3 条,搜索时取前 15 条,可按等级过滤)
↓
向量搜索(768 维 Gemini 嵌入)
↓
上下文增强(前 3 条结果包含前后各 2 节经文/叙述)
↓
大语言模型生成带引用的响应
↓
实时流式传输给用户(服务器发送事件)
数据
- 6236 节《古兰经》经文 来自所有 114 章
- 阿拉伯语文本(Tanzil 古兰经)
- 英语翻译(主版本)
- 斯洛伐克语翻译(可扩展)
- 768 维嵌入(Gemini text-embedding-004)
- 21641 条圣训叙述 来自 6 个主要集合(Kutub al-Sittah 子集)
- 布哈里圣训集(7558 条)
- 穆斯林圣训集(2920 条)
- 提尔密济圣训集(3951 条)
- 艾布·达乌德圣训集(5274 条)
- 纳瓦维 40 圣训(42 条)
- 利雅得圣训集(1896 条)
- 等级过滤(可靠、良好、薄弱)
- 768 维嵌入
性能
- 《古兰经》搜索:<150 毫秒(英语),<200 毫秒(翻译)
- 圣训搜索:<150 毫秒
- 向量搜索:由 HNSW 索引提供支持
- 流式传输:实时逐令牌传输
📄 许可证
- 《古兰经》文本:知识共享署名 3.0 许可协议(Tanzil.net)
- 圣训数据:来自经过验证的伊斯兰来源,并进行了适当的引用
- 代码:详情请参阅 LICENSE 文件
“你应凭智慧和善言而劝人遵循主道,你应当以最优美的态度与人辩论。” — 《古兰经》16:125
愿真主接受这项工作,并使其成为各地求知者的指引。阿敏。
微信扫一扫