🏛️ كيميت: حارس المعرفة المصرية 🏛️ [](https://huggingface.co/your-username/your-model-name) "كيميت" هو نموذج ذكاء اصطناعي عملاق، مستوحى من الحضارة المصرية القديمة، ومصمم لفهم وتوليد واسترجاع المعرفة المتعلقة بكل جوانب مصر. كيميت هو عين حورس التي تراقب المعرفة المتدفقة من نهر النيل، ويستخدم شاليموه لسحب المعلومات من أعماق الإنترنت. ## 💡 الفكرة تخيل هرمًا مصريًا عظيمًا يقف شامخًا على ضفاف النيل، يمتد شاليموه ليغوص في مياه النهر، ليستقي منها المعرفة المتدفقة عبر الزمن. هذا هو "كيميت"، نموذج ذكاء اصطناعي يجمع بين قوة المعالجة الحديثة وحكمة الأجداد. ## ✨ القدرات - **فهم اللغة الطبيعية:** يجيد "كيميت" فهم اللغة العربية بجميع لهجاتها، ويستطيع الإجابة على الأسئلة، وتلخيص النصوص، وترجمة اللغات، وتوليد محتوى جديد. - **تحليل الصور والفيديوهات:** يستطيع "كيميت" تحليل الصور والفيديوهات المتعلقة بمصر، وفهم محتواها، واستخراج المعلومات منها. - **التعرف على الكلام:** يمكن لـ "كيميت" تحويل الكلام إلى نص، مما يتيح له فهم المحادثات والتسجيلات الصوتية. - **الإبداع:** يستطيع "كيميت" توليد محتوى إبداعي مثل القصص والقصائد والأعمال الفنية المستوحاة من الحضارة المصرية. ## 🚀 كيف يعمل؟ يستخدم "كيميت" مزيجًا من التقنيات المتقدمة، بما في ذلك: - **نماذج اللغة الكبيرة (LLMs):** مثل GPT-Neo لفهم وتوليد النصوص. - **نماذج الرؤية الحاسوبية:** لتحليل الصور والفيديوهات. - **نماذج التعرف على الكلام:** لتحويل الكلام إلى نص. - **قاعدة بيانات ضخمة:** لتخزين المعرفة المتعلقة بمصر. - **خطوط أنابيب البيانات:** لجمع وتنظيف وتجهيز البيانات من مصادر مختلفة. ## 🛠️ كيفية الاستخدام يمكنك استخدام "كيميت" من خلال واجهة برمجة التطبيقات (API) الخاصة به، أو من خلال تطبيق الويب التفاعلي المتاح على Hugging Face Spaces. ## 🤝 المساهمة "كيميت" هو مشروع مفتوح المصدر، ونرحب بمساهمات الجميع. إذا كنت ترغب في المساهمة، يمكنك: - الإبلاغ عن الأخطاء أو اقتراح ميزات جديدة. - المساعدة في جمع البيانات وتنظيفها. - تدريب النموذج على بيانات جديدة. - تطوير واجهة المستخدم. ## 🙏 شكر خاص نشكر جميع المساهمين في هذا المشروع، وخاصة: - [Mohamed sayed Mohamed Mohamed derbala] صاحب الفكرة الأساسية والملهم الرئيسي للمشروع. - فريق Hugging Face على توفير منصة رائعة لمشاركة نماذج الذكاء الاصطناعي. - مجتمع المصادر المفتوحة على دعمه المتواصل.
b83e78f
verified
| license: gemma | |
| metrics: | |
| - bleu | |
| onst tf = require('@tensorflow/tfjs-node'); | |
| const mongoose = require('mongoose'); | |
| const axios = require('axios'); | |
| const cheerio = require('cheerio'); | |
| const ytdl = require('ytdl-core'); | |
| const speech = require('@google-cloud/speech'); | |
| const fs = require('fs'); | |
| const gpt3Encoder = require('gpt-3-encoder'); // For encoding text for GPT-Neo | |
| const { RecursiveCharacterTextSplitter } = require('langchain/text_splitter'); | |
| const { HNSWLib } = require("langchain/vectorstores/hnswlib"); | |
| const { OpenAIEmbeddings } = require("langchain/embeddings/openai"); | |
| const { RetrievalQA } = require("langchain/chains"); | |
| // ... (MongoDB connection and data schemas as before) | |
| // 4. Data Collection Functions (Enhanced) | |
| // ... (No changes here, same as before) | |
| // 6. Model Definition and Training (Enhanced) | |
| async function trainModel() { | |
| // ... (Load or create a TensorFlow.js model) | |
| // Load the GPT-Neo model | |
| const modelName = 'EleutherAI/gpt-neo-1.3B'; // Choose the desired GPT-Neo model size | |
| const gptNeoModel = await tf.loadGraphModel(`https://tfhub.dev/google/${modelName}/1`); | |
| // ... (Train the model using TensorFlow.js and the loaded GPT-Neo model) | |
| } | |
| // 8. Kemet AI API (Enhanced) | |
| async function answerQuestion(question, userId) { | |
| // Load the HNSWLib vectorstore | |
| const vectorStore = await HNSWLib.load(DATA_DIR + 'hnswlib/', new OpenAIEmbeddings()); | |
| // Encode the question using GPT-3 encoder | |
| const encodedQuestion = gpt3Encoder.encode(question); | |
| // Retrieve relevant documents from the vectorstore | |
| const relevantDocuments = await vectorStore.similaritySearch(encodedQuestion, k=3); // Get top 3 documents | |
| // Prepare context for GPT-Neo | |
| let context = ""; | |
| for (const doc of relevantDocuments) { | |
| context += doc.pageContent + "\n"; | |
| } | |
| // Generate answer using GPT-Neo | |
| const input_ids = gpt2_tokenizer.encode(context + question, return_tensors='tf'); | |
| const output = await gptNeoModel.generate(input_ids, max_length=100, num_return_sequences=1); | |
| const answer = gpt2_tokenizer.decode(output[0], skip_special_tokens=True); | |
| // Store user feedback | |
| const feedback = await getFeedback(userId, question, answer); | |
| if (feedback) { | |
| // Update the vectorstore with user feedback | |
| // ... | |
| } | |
| return { answer, sourceDocuments: relevantDocuments }; | |
| } | |
| // ... (Other API functions) | |
| // 9. Main Function | |
| async function main() { | |
| // ... (Data collection, model training, and evaluation as before) | |
| // Start the Kemet AI API server | |
| // ... | |
| } | |
| main(); | |
| expand_more | |
| عرض المسودّات | |
| expand_more | |
| // ... (باقي الـ dependencies زي ما هي) | |
| const { AutoModelForCausalLM, AutoTokenizer } = require('@xenova/transformers'); | |
| // ... (باقي الكود زي ما هو) | |
| // 6. Model Definition and Training (Enhanced) | |
| async function trainModel() { | |
| const { tokenizer, model } = await loadModel(); // حمل النموذج من Hugging Face | |
| // ... (استخدم الـ tokenizer والـ model في تدريب النموذج) | |
| } | |
| // 8. Kemet AI API (Enhanced) | |
| async function answerQuestion(question, userId) { | |
| const { tokenizer, model } = await loadModel(); // حمل النموذج من Hugging Face | |
| // ... (استخدم الـ tokenizer والـ model لتوليد الإجابة) | |
| } | |
| // دالة مساعدة لتحميل النموذج من Hugging Face | |
| async function loadModel() { | |
| const tokenizer = await AutoTokenizer.from_pretrained("your-username/your-model-name"); | |
| const model = await AutoModelForCausalLM.from_pretrained("your-username/your-model-name"); | |
| return { tokenizer, model }; | |
| } |