用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/Moshe-ship/mkhlab --skill arabic-rag命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
正在显示 SKILL.md
基于 SOC 职业分类
| name | arabic-rag |
| description | بحث دلالي عربي — ابحث في القرآن والأحاديث والنصوص العربية بالمعنى مو بالكلمة باستخدام AraGemma embeddings |
| version | 1.0.0 |
| author | Mousa Abu Mazin |
| license | MIT |
| platforms | ["linux","macos"] |
| prerequisites | {"commands":["python3"],"env_vars":[]} |
| metadata | {"hermes":{"tags":["arabic","rag","semantic-search","quran","hadith","embeddings","nlp"]}} |
بحث بالمعنى في النصوص العربية باستخدام embeddings — أدق من البحث بالكلمة. استخدم عندما البحث النصي البسيط ما يكفي.
pip3 install sentence-transformers faiss-cpu
from sentence_transformers import SentenceTransformer
# AraGemma — أفضل embeddings عربية (300M params)
model = SentenceTransformer("Omartificial-Intelligence-Space/AraGemma-Embedding-300m")
# بديل أخف
# model = SentenceTransformer("silma-ai/silma-embedding-matryoshka-0.1")
import json
import numpy as np
import faiss
# 1. تحميل آيات القرآن
# يمكن تحميلها من: https://api.alquran.cloud/v1/quran/quran-uthmani
with open("quran_ayahs.json") as f:
ayahs = json.load(f)
texts = [a["text"] for a in ayahs]
# 2. توليد embeddings
embeddings = model.encode(texts, show_progress_bar=True)
# 3. بناء فهرس FAISS
dimension = embeddings.shape[1]
index = faiss.IndexFlatIP(dimension) # Inner Product for cosine similarity
faiss.normalize_L2(embeddings)
index.add(embeddings)
# 4. البحث
query = "الصبر على البلاء"
query_embedding = model.encode([query])
faiss.normalize_L2(query_embedding)
distances, indices = index.search(query_embedding, k=5)
for i, idx in enumerate(indices[0]):
print(f"{i+1}. [{ayahs[idx]['surah']}:{ayahs[idx]['ayah']}] {texts[idx][:100]}...")
print(f" التشابه: {distances[0][i]:.3f}")
# نفس الطريقة — حمّل أحاديث البخاري/مسلم وابنِ فهرس FAISS
# البيانات متاحة من: https://cdn.jsdelivr.net/gh/fawazahmed0/hadith-api@1/editions.json
# 1. حمّل المستندات
documents = ["doc1 text...", "doc2 text...", ...]
# 2. قسّم لقطع (chunks) — 512 token لكل قطعة
from sentence_transformers import SentenceTransformer
chunks = []
for doc in documents:
words = doc.split()
for i in range(0, len(words), 400): # overlap 100
chunk = " ".join(words[max(0, i-100):i+400])
chunks.append(chunk)
# 3. نفس خطوات البناء والبحث أعلاه