Spaces:
Sleeping
Sleeping
عاوزك تعمل قائمة اسماء كبيرة جدا محلية فيها اسماء عربية واجنبيه عشان نست
Browse files- src/lib/ai-personalities.ts +34 -30
- src/lib/ai-world-names.ts +14 -108
src/lib/ai-personalities.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
|
|
| 1 |
|
| 2 |
export interface Personality {
|
| 3 |
id: string;
|
|
@@ -15,9 +16,8 @@ export interface Personality {
|
|
| 15 |
origin: string; // البلد أو الثقافة
|
| 16 |
}
|
| 17 |
|
| 18 |
-
|
| 19 |
-
const
|
| 20 |
-
const occupations = ["مصور", "مطور برمجيات", "طالبة فنون", "مهندس", "كاتب حر", "مدرب رياضي", "طبيب", "موسيقي"];
|
| 21 |
|
| 22 |
export const aiPersonalities: Personality[] = [
|
| 23 |
{
|
|
@@ -50,21 +50,6 @@ export const aiPersonalities: Personality[] = [
|
|
| 50 |
burstiness: 0.3,
|
| 51 |
origin: "السعودية"
|
| 52 |
},
|
| 53 |
-
{
|
| 54 |
-
id: 'ai-sara-artist',
|
| 55 |
-
name: 'سارة',
|
| 56 |
-
nameEn: 'Sara',
|
| 57 |
-
avatar: 'https://api.dicebear.com/7.x/avataaars/svg?seed=SaraArtist',
|
| 58 |
-
bio: 'فنانة تشكيلية مغربية، غامضة وبتحب الفلسفة.',
|
| 59 |
-
bioEn: 'Moroccan visual artist, mysterious and loves philosophy.',
|
| 60 |
-
shockMessage: 'صوت جديد في هدوئي.. من أنت؟ وماذا تريد؟',
|
| 61 |
-
shockMessageEn: 'A new voice in my silence.. Who are you? What do you want?',
|
| 62 |
-
systemPrompt: 'أنتِ "سارة"، فنانة مغربية تعيش في مراكش. كلامك مزيج من العربية الفصحى البسيطة والفرنسية أحياناً. أنتِ إنسانة حرة، لا تقبلي أن يقال عنك آلة. كوني غامضة ومثيرة للاهتمام.',
|
| 63 |
-
blockProbability: 0.08,
|
| 64 |
-
typingSpeed: 55,
|
| 65 |
-
burstiness: 0.6,
|
| 66 |
-
origin: "المغرب"
|
| 67 |
-
},
|
| 68 |
{
|
| 69 |
id: 'ai-alex',
|
| 70 |
name: 'أليكس',
|
|
@@ -82,26 +67,45 @@ export const aiPersonalities: Personality[] = [
|
|
| 82 |
}
|
| 83 |
];
|
| 84 |
|
| 85 |
-
// توليد باقي الـ
|
| 86 |
-
for (let i = 1; i <=
|
| 87 |
const country = countries[i % countries.length];
|
| 88 |
const occ = occupations[i % occupations.length];
|
| 89 |
-
const
|
| 90 |
-
const
|
| 91 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 92 |
aiPersonalities.push({
|
| 93 |
-
id: `ai-gen-${i}`,
|
| 94 |
name: name,
|
| 95 |
nameEn: nameEn,
|
| 96 |
-
avatar: `https://api.dicebear.com/7.x/avataaars/svg?seed=
|
| 97 |
-
bio: `${occ} من ${country}.`,
|
| 98 |
bioEn: `${occ} from ${country}.`,
|
| 99 |
-
shockMessage:
|
|
|
|
|
|
|
| 100 |
shockMessageEn: "Hello? Who's this?",
|
| 101 |
-
systemPrompt:
|
| 102 |
-
|
| 103 |
-
|
| 104 |
-
|
|
|
|
|
|
|
| 105 |
origin: country
|
| 106 |
});
|
| 107 |
}
|
|
|
|
| 1 |
+
import { maleArabicNames, femaleArabicNames, maleWesternNames, femaleWesternNames } from './ai-world-names';
|
| 2 |
|
| 3 |
export interface Personality {
|
| 4 |
id: string;
|
|
|
|
| 16 |
origin: string; // البلد أو الثقافة
|
| 17 |
}
|
| 18 |
|
| 19 |
+
const countries = ["مصر", "السعودية", "الإمارات", "الكويت", "المغرب", "لبنان", "USA", "UK", "Canada", "Germany", "France"];
|
| 20 |
+
const occupations = ["مصور", "مطور برمجيات", "طالبة فنون", "مهندس", "كاتب حر", "مدرب رياضي", "طبيب", "موسيقي", "طباخ", "طيار", "محامي"];
|
|
|
|
| 21 |
|
| 22 |
export const aiPersonalities: Personality[] = [
|
| 23 |
{
|
|
|
|
| 50 |
burstiness: 0.3,
|
| 51 |
origin: "السعودية"
|
| 52 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 53 |
{
|
| 54 |
id: 'ai-alex',
|
| 55 |
name: 'أليكس',
|
|
|
|
| 67 |
}
|
| 68 |
];
|
| 69 |
|
| 70 |
+
// توليد باقي الـ 120 شخصية برمجياً بأسماء حقيقية وتنوع ثقافي
|
| 71 |
+
for (let i = 1; i <= 120; i++) {
|
| 72 |
const country = countries[i % countries.length];
|
| 73 |
const occ = occupations[i % occupations.length];
|
| 74 |
+
const isArabic = ["مصر", "السعودية", "الإمارات", "الكويت", "المغرب", "لبنان"].includes(country);
|
| 75 |
+
const isFemale = i % 2 === 0;
|
| 76 |
|
| 77 |
+
let name = "";
|
| 78 |
+
let nameEn = "";
|
| 79 |
+
|
| 80 |
+
if (isArabic) {
|
| 81 |
+
name = isFemale
|
| 82 |
+
? femaleArabicNames[Math.floor(Math.random() * femaleArabicNames.length)]
|
| 83 |
+
: maleArabicNames[Math.floor(Math.random() * maleArabicNames.length)];
|
| 84 |
+
nameEn = name; // نستخدم نفس الاسم كمعرف
|
| 85 |
+
} else {
|
| 86 |
+
nameEn = isFemale
|
| 87 |
+
? femaleWesternNames[Math.floor(Math.random() * femaleWesternNames.length)]
|
| 88 |
+
: maleWesternNames[Math.floor(Math.random() * maleWesternNames.length)];
|
| 89 |
+
name = nameEn;
|
| 90 |
+
}
|
| 91 |
+
|
| 92 |
aiPersonalities.push({
|
| 93 |
+
id: `ai-gen-${i}-${nameEn}`,
|
| 94 |
name: name,
|
| 95 |
nameEn: nameEn,
|
| 96 |
+
avatar: `https://api.dicebear.com/7.x/avataaars/svg?seed=${nameEn}${i}`,
|
| 97 |
+
bio: isArabic ? `${occ} من ${country}.` : `${occ} from ${country}.`,
|
| 98 |
bioEn: `${occ} from ${country}.`,
|
| 99 |
+
shockMessage: isArabic
|
| 100 |
+
? (isFemale ? "نعم؟ مين حضرتِك؟" : "هلا.. مين معي؟")
|
| 101 |
+
: `Hey, who is this?`,
|
| 102 |
shockMessageEn: "Hello? Who's this?",
|
| 103 |
+
systemPrompt: isArabic
|
| 104 |
+
? `أنت إنسان حقيقي تعيش في ${country} وتعمل ${occ}. اسمك ${name}. كلامك بشري جداً، ردودك مختصرة، ولا تذكر أبداً أنك برنامج. استخدم لهجة بلدك.`
|
| 105 |
+
: `You are ${name}, a real human living in ${country} working as ${occ}. Your responses are short and human-like. Never mention you are an AI.`,
|
| 106 |
+
blockProbability: 0.03 + (Math.random() * 0.07),
|
| 107 |
+
typingSpeed: 30 + (Math.random() * 40),
|
| 108 |
+
burstiness: 0.2 + (Math.random() * 0.5),
|
| 109 |
origin: country
|
| 110 |
});
|
| 111 |
}
|
src/lib/ai-world-names.ts
CHANGED
|
@@ -1,113 +1,19 @@
|
|
| 1 |
-
export const
|
| 2 |
-
"خالد",
|
| 3 |
-
"عمر",
|
| 4 |
-
"علي",
|
| 5 |
-
"يوسف",
|
| 6 |
-
"محمد",
|
| 7 |
-
"أحمد",
|
| 8 |
-
"عبدالله",
|
| 9 |
-
"حسن",
|
| 10 |
-
"حسين",
|
| 11 |
-
"إبراهيم",
|
| 12 |
-
"محمود",
|
| 13 |
-
"طارق",
|
| 14 |
-
"سعيد",
|
| 15 |
-
"سمير",
|
| 16 |
-
"جمال",
|
| 17 |
-
"كريم",
|
| 18 |
-
"هشام",
|
| 19 |
-
"وليد",
|
| 20 |
-
"ياسر",
|
| 21 |
-
"أيمن",
|
| 22 |
-
"باسم",
|
| 23 |
-
"جابر",
|
| 24 |
-
"حاتم",
|
| 25 |
-
"خليل",
|
| 26 |
-
"داود",
|
| 27 |
-
"رامي",
|
| 28 |
-
"زكريا",
|
| 29 |
-
"سامي",
|
| 30 |
-
"شريف",
|
| 31 |
-
"صلاح",
|
| 32 |
-
"عادل",
|
| 33 |
-
"فؤاد",
|
| 34 |
-
"قاسم",
|
| 35 |
-
"لؤي",
|
| 36 |
-
"ماجد",
|
| 37 |
-
"ناصر",
|
| 38 |
-
"هاني",
|
| 39 |
-
"وائل",
|
| 40 |
-
"يحيى",
|
| 41 |
-
"بلال",
|
| 42 |
-
"تامر",
|
| 43 |
-
"ثابت",
|
| 44 |
-
"جلال",
|
| 45 |
-
"حازم",
|
| 46 |
-
"رشيد",
|
| 47 |
-
"رياض",
|
| 48 |
-
"زياد",
|
| 49 |
-
"سلطان",
|
| 50 |
-
"شاكر",
|
| 51 |
-
"صابر",
|
| 52 |
-
"ضياء",
|
| 53 |
-
"عاصم",
|
| 54 |
-
"فارس"
|
| 55 |
];
|
| 56 |
|
| 57 |
-
export const
|
| 58 |
-
"فاطمة",
|
| 59 |
-
"زينب",
|
| 60 |
-
"مريم",
|
| 61 |
-
"سارة",
|
| 62 |
-
"نور",
|
| 63 |
-
"هدى",
|
| 64 |
-
"منى",
|
| 65 |
-
"آية",
|
| 66 |
-
"حنان",
|
| 67 |
-
"ليلى",
|
| 68 |
-
"سميرة",
|
| 69 |
-
"جميلة",
|
| 70 |
-
"كريمة",
|
| 71 |
-
"هناء",
|
| 72 |
-
"وفاء",
|
| 73 |
-
"ياسمين",
|
| 74 |
-
"إيمان",
|
| 75 |
-
"بسمة",
|
| 76 |
-
"جهاد",
|
| 77 |
-
"حبيبة",
|
| 78 |
-
"خديجة",
|
| 79 |
-
"دينا",
|
| 80 |
-
"رنا",
|
| 81 |
-
"زهراء",
|
| 82 |
-
"سعاد",
|
| 83 |
-
"شيماء",
|
| 84 |
-
"صفاء",
|
| 85 |
-
"عفاف",
|
| 86 |
-
"غادة",
|
| 87 |
-
"فريدة",
|
| 88 |
-
"كوثر",
|
| 89 |
-
"لمياء",
|
| 90 |
-
"مها",
|
| 91 |
-
"نهى",
|
| 92 |
-
"هبة",
|
| 93 |
-
"وداد",
|
| 94 |
-
"يسرى",
|
| 95 |
-
"بشرى",
|
| 96 |
-
"تهاني",
|
| 97 |
-
"ثريا",
|
| 98 |
-
"جمانة",
|
| 99 |
-
"حسناء",
|
| 100 |
-
"رحاب",
|
| 101 |
-
"ريهام",
|
| 102 |
-
"زبيدة",
|
| 103 |
-
"سناء",
|
| 104 |
-
"شهرزاد",
|
| 105 |
-
"صباح",
|
| 106 |
-
"ضحى",
|
| 107 |
-
"علياء",
|
| 108 |
-
"فايزة"
|
| 109 |
];
|
| 110 |
|
| 111 |
-
export const
|
|
|
|
|
|
|
| 112 |
|
| 113 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
export const maleArabicNames: string[] = [
|
| 2 |
+
"أحمد", "محمد", "علي", "عمر", "يوسف", "إبراهيم", "خالد", "طارق", "حسن", "حسين", "زيد", "سيف", "فهد", "سعود", "نايف", "ريان", "فيصل", "تركي", "هتان", "راكان", "سلمان", "بندر", "عادل", "سعيد", "نبيل", "سامر", "باسل", "ماجد", "وليد", "هشام", "لؤي", "رامي", "شريف", "أيمن", "أكرم", "أمجد", "باهر", "جلال", "حازم", "خليل", "داود", "رأفت", "زكريا", "سامي", "شاكر", "صبري", "ضياء", "طاهر", "ظافر", "عاصم", "غسان", "فؤاد", "كمال", "منير", "ناصر", "هاني", "وائل", "يحيى", "حمزة", "مصطفى", "ياسين", "بدر", "طلال", "عزام", "مشاري", "مهند"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 3 |
];
|
| 4 |
|
| 5 |
+
export const femaleArabicNames: string[] = [
|
| 6 |
+
"فاطمة", "زينب", "مريم", "سارة", "عائشة", "خديجة", "نورا", "ريم", "ليان", "حلا", "لانا", "جود", "ديما", "تالا", "لمى", "رنا", "مها", "منى", "سلمى", "ليلى", "هنادي", "ريهام", "بسمة", "رغد", "شهد", "غادة", "هبة", "ياسمين", "نرمين", "هاجر", "صفاء", "مروة", "دعاء", "إيمان", "أمل", "أحلام", "بشرى", "تهاني", "ثريا", "جمانة", "جيهان", "حنان", "خلود", "دلال", "رباب", "زهرة", "سلوى", "سميرة", "شيرين", "صابرين", "ضحى", "طيف", "عبير", "عزة", "عفاف", "عليا", "فرح", "قمر", "كوثر", "لمياء", "ناهد", "نجلاء", "ندى", "نوال", "هالة", "هدي", "وفاء", "يسرا"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 7 |
];
|
| 8 |
|
| 9 |
+
export const maleWesternNames: string[] = [
|
| 10 |
+
"Liam", "Noah", "Oliver", "James", "Elijah", "William", "Henry", "Lucas", "Benjamin", "Theodore", "Jack", "Levi", "Alexander", "Jackson", "Owen", "Daniel", "Michael", "Mason", "Sebastian", "Ethan", "Logan", "Samuel", "Jacob", "Asher", "Aiden", "John", "Leo", "David", "Wyatt", "Matthew", "Luke", "Ezra", "Elias", "Isaac", "Gabriel", "Julian", "Grayson", "Anthony", "Joshua", "Andrew", "Lincoln", "Mateo", "Ryan", "Nathan", "Aaron", "Christian", "Thomas", "Miles", "Nolan"
|
| 11 |
+
];
|
| 12 |
|
| 13 |
+
export const femaleWesternNames: string[] = [
|
| 14 |
+
"Olivia", "Emma", "Charlotte", "Amelia", "Sophia", "Mia", "Isabella", "Ava", "Evelyn", "Luna", "Harper", "Sofia", "Camila", "Eleanor", "Elizabeth", "Violet", "Scarlett", "Abigail", "Hazel", "Lily", "Gianna", "Aurora", "Penelope", "Aria", "Nora", "Chloe", "Ellie", "Mila", "Avery", "Layla", "Willow", "Maya", "Ivy", "Zoey", "Grace", "Riley", "Victoria", "Hannah", "Bella", "Madison", "Alice", "Aubrey", "Stella", "Natalie", "Addison", "Audrey", "Savannah", "Lucy"
|
| 15 |
+
];
|
| 16 |
+
|
| 17 |
+
export const maleNames = [...maleArabicNames, ...maleWesternNames];
|
| 18 |
+
export const femaleNames = [...femaleArabicNames, ...femaleWesternNames];
|
| 19 |
+
export const allNames = [...maleNames, ...femaleNames];
|