كل الأنشطة
- الساعة الماضية
-
Mohamed Gamal88 اشترك بالأكاديمية
-
Ramy Samy اشترك بالأكاديمية
-
Ali Mohamed Elsayed اشترك بالأكاديمية
-
Shery Kamal اشترك بالأكاديمية
-
معتز السطي اشترك بالأكاديمية
- اليوم
-
استخدم تقنية Hybrid Search مع نموذج embedding متعدد اللغات، بمعنى يوجد نماذج Embedding عربية متقدمة فالنماذج الحديثة تفهم المرادفات تلقائيًا: from sentence_transformers import SentenceTransformer model = SentenceTransformer('sentence-transformers/paraphrase-multilingual-mpnet-base-v2') # أو model = SentenceTransformer('aubmindlab/bert-base-arabertv2') لديك أيضًا CAMeLBERT. وذلك لنتمكن من البحث الدلالي Semantic Search والذي يفهم المعنى بحيث يجد قطة و بسة و هرة. كذلك Keyword Search للبحث بالكلمات، والذي يعتمد على TF-IDF لمطابقة الكلمات النصية لتضمن دقة النتائج عند التطابق الحرفي. وابدأ بـ 0.7 للـ embedding و 0.3 للكلمات المفتاحية، وفي حال يوجد أكثر من 10,000 خدمة، استخدم FAISS للسرعة، وأعد حساب الـ embeddings عند إضافة خدمات جديدة.
-
يزيد بن شيحه بدأ بمتابعة مساعدة في معالجة النصوص الطبيعية
-
السلام عليكم لدي مشروع وهو بحث عن خدمة في موقع حكومي رسمي في البداية لدي API بالخدمات المقدمة من تصاريح او اي كان من الخدمات اتصلت ب API وبعدها سحبت كل بيانات الخدمات، المطلوب مني هو اني اكتب فالبحث اي كلمة ويبحث عنها فالموقع على سبيل المثال لو كتبت قطط سيأتي بالخدمات الخاصة بالقطط ولكن ماذا لو كتبت قطه او قطة او بسه او هره لن يأتي بنفس النتائج حليت مشكلة قطة او قطه او قطط او قطوه من خلال استخدام طبقت Lemmatization على الكلمة والبيانات وبعدها Embedding للبيانات والكلمة المراد البحث عنه ولكن لم اجد حل ل كلمة هره او بسه او هرة جربت اني ارسل الكلمة لنموذج llama 3.1 وطلب منه اعطائي مرادفات الكلمة وبعدها تطبيق الخطوات السابقة على كل المرادفات ولكن للاسف لم ينجح llama ب كتابة المرادفات هل يوجد حل آخر ممكن اجربه؟
- 1 جواب
-
- 1
-
-
نجود المالكي اشترك بالأكاديمية
-
Noor Ahmed7 اشترك بالأكاديمية
-
يجب تثبيت bun أولاً من خلال تنفيذ الأمر التالي في منفذ الأوامر powershell powershell -c "irm bun.sh/install.ps1|iex" ثم أغلق منفذ الأوامر ومحرر الأكواد vscode، وأعد تشغيلهم وتنفيذ التالي للتحقق من التثبيت: bun --version من المفترض أن يظهر لك إصدار bun في حال لم يظهر، إذن يجب إضافة bun لمتغيرات البيئة من خلال تنفيذ التالي في منفذ الأوامر powershell [System.Environment]::SetEnvironmentVariable( "Path", [System.Environment]::GetEnvironmentVariable("Path", "User") + ";$env:USERPROFILE\.bun\bin", [System.EnvironmentVariableTarget]::User ) ثم أغلق منفذ الأوامر ومحرر الأكواد vscode، وأعد تشغيلهم وتنفيذ التالي للتحقق من التثبيت: bun --version
-
أرفق مجلد المشروع بشكل مضغوط لتفقده
-
محمد عبد الراضي3 اشترك بالأكاديمية
-
لزالت نفس مشكلة اخي مصطفي ممكن تحل مشكلة لي عن طريق anydisk
-
Ahmed Sherif9 اشترك بالأكاديمية
-
قمت بتجربة تسجيل مستخدم وتم الأمر بشكل سليم: لا تحاول فتح روابط التي تستقبل طلبات POST في المتصفح، فهي لن تعمل لأن المتصفح يرسل طلب get عند التوجه للرابط في شريط العنوان.
-
يجب ألا تدع نافذة الفاتورة تُدمر عند إغلاقها، بل قم بإخفائها فقط، لتحتفظ النافذة ببياناتها وهي الأصناف الموجودة في الـ DataGridView، وفي المرة التالية التي تحتاجها، ستقوم بإظهارها مرة أخرى بدلاً من إنشائها من الصفر. في invoice.cs أو ما شابه لديك أنشئ الدالة التالية: private void invoice_FormClosing(object sender, FormClosingEventArgs e) { e.Cancel = true; this.Hide(); }
- 10 اجابة
-
- 1
-
-
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace sales { public partial class Form3 : Form { public Form3() { InitializeComponent(); } invoice ff ; private void textBox1_KeyDown(object sender, KeyEventArgs e) { if (e.KeyCode == Keys.Enter) { if (ff == null || ff.IsDisposed) { ff = new invoice(); } ff.dataGridView4.Rows.Add(label2.Text, textBox1.Text); if (!ff.Visible) { ff.Show(); } else { ff.BringToFront(); } } } private void textBox1_TextChanged(object sender, EventArgs e) { } } } اخي اختار صنف يضفيه ثم عند اضافة صنف جديد يظهر جديد ويختفي قديم يمكن ارسل لكي ip تدخل تحل مشكلة لي عن طريق anydisk
-
Aya Adam اشترك بالأكاديمية
-
عبدالباسط ابراهيم بدأ بمتابعة استفسار بخصوص دورة ال Ai
-
الدورة مرتبة من الأعلى إلى أسفل والترتيب تم وضعه بحيث يتم التدرج في المستويات ولذلك يمكنك المتابعة بالمسارات مثل بايثون ثم الذي يليه مسار تطبيقات عملية على النماذج النصية الكبيرة LLMs
-
منهج الدورة تم إعداده لدراسته بالترتيب، بحيث يتم التدرج في الشرح وشرح الأساسيات اللازمة في البداية لدراسة المسارات اللاحقة، وذلك ما قمت به بالفعل حيث درست لغة البرمجة اللازمة وهي بايثون. تنتقل بعدها للمسار التالي في الدورة وهو تطبيقات عملية على النماذج النصية الكبيرة LLMs، وهكذا أي تدرس الدورة بنفس الترتيب، وفي حال واجهت صعوبة تستطيع السؤال أسفل الدروس في التعليقات، وفي حال سؤال عام نضعه هنا في قسم أسئلة البرمجة كما فعلت. لكن للنصيحة، الأفضل التأني قليلاً عند دراسة اللغة البرمجية الأولى، لذا أنصحك بالتعمق في بايثون ودراسة المسار الأول من دورة بايثون فهو مجاني لك وبه تفصيل أكثر حول لغة بايثون ومشروع أيضًا، والمسارات الأولى من جميع الدورات الأخرى متاحة لك بشكل مجاني أيضًا.
-
عبدالعزيز المحرسي بدأ بمتابعة استفسار بخصوص دورة ال Ai
-
انا اشتركت ف الدوره وماني عارف ب ايش ابدا بعد البايثون ايش ترتيب الدوره
- 2 اجابة
-
- 2
-
-
تقصد الحل الأول؟ هل قمت بإغلاق الفورم ff من زر الإغلاق X، فالنظام سيقوم بتدميره Dispose، وفي المرة التالية عند إضافة صف إليه، البرنامج سيحاول الكتابة على ورقة تم رميها بالفعل، وسيظهر خطأ ObjectDisposedException. لذا عرف الفورم خارج الحدث، على مستوى الكلاس أي الفورم الرئيسي: public partial class MainForm : Form // اسم الفورم الرئيسي لديك { Form4 ff; public MainForm() { InitializeComponent(); } // باقي الكود هنا private void textBox1_KeyDown(object sender, KeyEventArgs e) { if (e.KeyCode == Keys.Enter) { if (ff == null || ff.IsDisposed) { ff = new Form4(); } ff.dataGridView4.Rows.Add(label2.Text, textBox1.Text); if (!ff.Visible) { ff.Show(); } else { ff.BringToFront(); } } } } عرفت المتغير ff على مستوى الكلاس ليحتفظ بقيمته ولا يتم تدميره مع كل ضغطة Enter. و if (ff == null || ff.IsDisposed) قبل أن نستخدم ff، نتأكد هل هو غير موجود null أو هل تم إغلاقه وتدميره IsDisposed إن كان كذلك، ننشئ نسخة جديدة منه، لنضمن أننا دائماً نتعامل مع فورم صالح للاستخدام. و if (!ff.Visible) لمنع فتح الفورم مرة أخرى في حال مفتوحبالفعل، وبدلاً من ذلك يجلبه للأمام باستخدام BringToFront().
-
هي ب نسبة ل رابط ريندر لكنه لا يعمل مع مشروعي https://www-movies-app.netlify.app/ هاد رابط مستودع https://github.com/ZenZN99/Movies-App import React, { useEffect, useState } from "react"; import "./register.css"; import toast from "react-hot-toast"; import { useNavigate } from "react-router-dom"; import AOS from "aos"; import "aos/dist/aos.css"; const Register = () => { const [form, setForm] = useState({ username: "", email: "", password: "", }); const [error, setError] = useState(""); const [loading, setLoading] = useState(false); const navigate = useNavigate(); const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => { setForm({ ...form, [e.target.name]: e.target.value }); }; const handleSubmit = async (e: React.FormEvent) => { e.preventDefault(); setLoading(true); setError(""); try { const res = await fetch("https://movies-app-2-19xd.onrender.com/api/auth/register", { method: "post", headers: { "Content-Type": "application/json", }, body: JSON.stringify(form), }); const data = await res.json(); if (!res.ok) { setError(data.error || "Something went wrong!"); } else { localStorage.setItem("token", data.token); localStorage.setItem("username", data.user.username); toast.success(`Welcome ${data.user.username}`); setForm({ username: "", email: "", password: "" }); navigate("/"); } } catch (error) { console.log(error); setError("Network error. Please try again later."); } finally { setLoading(false); } }; useEffect(() => { if (error) { const timer = setTimeout(() => { setError(""); }, 5000); return () => clearTimeout(timer); } }, [error]); useEffect(() => { const token = localStorage.getItem("token"); if (token) { navigate("/"); toast("You are logged in with action", {duration:3000}); return; } }, []); useEffect(() => { AOS.init({ duration: 2000 }); }, []); return ( <div className="register-container" data-aos="fade-up"> <div className="register-wrapper"> <div className="register-card"> <h1 className="register-title">Create Account</h1> <p className="register-subtitle">Join our community today</p> <form onSubmit={handleSubmit} className="register-form"> {error && <p className="error-message">{error}</p>} <input type="text" name="username" placeholder="Username" value={form.username} onChange={handleChange} required /> <input type="email" name="email" placeholder="Email Address" value={form.email} onChange={handleChange} required /> <input type="password" name="password" placeholder="Password" value={form.password} onChange={handleChange} required /> <button type="submit" className="register-btn"> {loading ? "Creating an account..." : "Register"} </button> </form> <p className="register-footer"> Already have an account? <a href="/login">Login</a> </p> </div> </div> </div> ); }; export default Register; import express from "express"; import dotenv from "dotenv"; import userRouter from "./routes/user.route"; import cors from "cors"; dotenv.config(); const app = express(); const port = process.env.PORT || 3000; app.use( cors({ origin: "https://www-movies-app.netlify.app", credentials: true, }) ); app.use(express.json()); app.use("/api/auth", userRouter); app.get("/", (req, res) => { res.send("Hello Bun!"); }); app.listen(port, () => { console.log(`Server is running on port ${port}`); });
-
أرسل صورة للرد الذي يظهر لك عند إرسال طلب Get إلى رابط الخادم على الاستضافة من المفترض أن تحصل على: Hello Bun!
-
log في ريندر مافيه اي مشاكل ورابط شغال لكن عند استخدامه في fetch لا يعمل وحتى مع app.use(cors());
-
ما قصدته هو إختبار الخادم الذي قمت برفعه على الاستضافة وليس الخادم المحلي، أي إرسال طلب لعنوان الخادم على الاستضافة وليس localhost في حال ظهرت مشكلة cors قم بتعديل الكود للسماح بجميع الطلبات من أي مصدر مؤقتًا لتفقد ما المشكلة: app.use(cors()); app.use(cors()) تضع رأس الاستجابة Access-Control-Allow-Origin: * لإخبار المتصفح أن أي موقع ويب مسموح له بالوصول إلى الخادم.
-
الخادم يعمل بشكل سليم ولا يوجد أي مشاكل فيه لكن عند رفعه على الريندر توقف الخادم مع اني كل خطوات التي نفذتها صحيحة
-
ستحتاج إلى بعض الوقت لاكتساب خبرة نشر المشاريع على الاستضافة، ستواجهك مثل تلك المشاكل في البداية وستتعلم منها. قبل أي شيء، هل الخادم يعمل بشكل سليم؟ قم بإختباره عن طريق postman بإرسال طلب إلى رابط الاستضافة، وفي حال لم يعمل تفقد رسائل الخطأ التي تظهر على الاستضافة من خلال لوحة التحكم
-
Zen Eddin Allaham بدأ بمتابعة ليش رفع على render معقد
-
اول شي رفعت اكواد على جيت هب وبعدين رفعت على ريندر وحصلت رابط واستخدمته في fetch وعدلت كورس app.use( cors({ origin: "https://www-movies-app.netlify.app", credentials: true, }) );ورجعت رفعت على ريندر واخدت رابط وستخدمه في fetch بدل من رابط ريندر قديم ورجعت رفعت مشروع رياكت https:www-movies-app.netlify.app بنفس رابط ولم يعمل خادم import express from "express"; import dotenv from "dotenv"; import userRouter from "./routes/user.route"; import cors from "cors"; dotenv.config(); const app = express(); const port = process.env.PORT || 3000; app.use( cors({ origin: "https://www-movies-app.netlify.app", credentials: true, }) ); app.use(express.json()); app.use("/api/auth", userRouter); app.get("/", (req, res) => { res.send("Hello Bun!"); }); app.listen(port, () => { console.log(`Server is running on port ${port}`); });
- 7 اجابة
-
- 1
-
-
مدة الإنقطاع كبيرة، ستحتاج إلى المراجعة من البداية وستكون سريعة في تلك المرة لأنك قمت بالدراسة من قبل، ثم يجب مباشرًة التطبيق على مشروع عملي لتثبيت ما تعلمته ولا مشكلة في إعادة المشروع الخاص بالمسار أو مشروع غيره. وفي حال الإنشغال مرة أخرى، حاول تخصيص ساعتين على الأقل للدراسة بشكل شبه يومي، تنظيم الوقت هو الأهم أثناء الدراسة الجامعية. ولا تقم بدراسة الدورة من البداية في كل مرة تنقطع بها، مثلاً أنهيت نصفها، هنا تستطيع إعادة تنفيذ مشروع عملي قمت به بالدورة وإعادة مراجعة النقاط التي لا تتذكرها جيدًا.
- 6 اجابة
-
- 1
-
