Aisyah AI هو روبوت برقية قوي تم تصميمه مع عمال CloudFlare يجمع بين قدرات AI المتعددة. يمكنه تصفح الويب ، وتعيين تذكيرات ، والتحدث ، والتنبؤ بالطقس ، وتحليل الصور ، وفهم الرسائل الصوتية. يحافظ الروبوت على السياق في المحادثات من خلال Redis ، مما يجعله مثاليًا لكل من الدردشات الخاصة والتفاعلات الجماعية.
؟ قدرات الذكاء الاصطناعي المتقدمة
الأدوات الذكية
☁ الهندسة المعمارية الحديثة
؟ تكامل API
لقد اخترنا دعم نماذج Openai بشكل حصري (وخاصة GPT-3.5-TURBO و GPT-4O-MINI) لعدة أسباب:
ملاحظة: نحن نفهم الاهتمام بالنماذج والمقدمين البديلين (مثل OpenRouter ، الأنثروبور ، إلخ). ومع ذلك ، للحفاظ على بساطة الكود وضمان سلوك روبوت ثابت ، قررنا التركيز على عروض Openai. إذا كنت بحاجة إلى استخدام نماذج مختلفة ، فستحتاج إلى تغطية المشروع وتعديل تكوينات النموذج وفقًا لذلك.
/start
- ابدأ التفاعل مع الروبوت/settings
- تكوين إعدادات الروبوت (نموذج LLM ، شخصية ، صوت ، إلخ)/help
- احصل على مساعدة حول الأوامر المتاحةملاحظة : هذا مشروع شخصي مصمم لأغراض التعلم والتجريب.
تم تنظيم المشروع في عدة خدمات microservices:
aisyah-ai-telegraph
: أوركستور رئيسي يتولى تفاعلات التلقيةaisyah-ai-agent
: Core AI Agent الذي يعالج الطلباتaisyah-ai-explorer
: إمكانية تصفح الويبaisyah-ai-reminder
: إدارة التذكيرaisyah-ai-sonata
: خدمة نص إلى كلامaisyah-ai-storm
: التنبؤ بالطقسaisyah-ai-vision
: تحليل الصورaisyah-ai-whisper
: خدمة الكلام إلى النص استنساخ المستودع:
git clone https://github.com/husniadil/aisyah-ai.git
cd aisyah-ai
تثبيت التبعيات:
yarn install
إعداد CloudFlare: أولاً ، احصل على رمز CloudFlare API:
export CLOUDFLARE_API_TOKEN=your_api_token_here
echo ' export CLOUDFLARE_API_TOKEN=your_api_token_here ' >> ~ /.zshrc
ملاحظة: لا تستخدم wrangler login
لأنه يتعارض مع طريقة مصادقة الرمز المميز API.
تكوين ملفات البيئة:
# Copy Cloudflare configuration files
cp packages/aisyah-ai-agent/wrangler.toml.example packages/aisyah-ai-agent/wrangler.toml
cp packages/aisyah-ai-explorer/wrangler.toml.example packages/aisyah-ai-explorer/wrangler.toml
cp packages/aisyah-ai-reminder/wrangler.toml.example packages/aisyah-ai-reminder/wrangler.toml
cp packages/aisyah-ai-sonata/wrangler.toml.example packages/aisyah-ai-sonata/wrangler.toml
cp packages/aisyah-ai-storm/wrangler.toml.example packages/aisyah-ai-storm/wrangler.toml
cp packages/aisyah-ai-telegraph/wrangler.toml.example packages/aisyah-ai-telegraph/wrangler.toml
cp packages/aisyah-ai-vision/wrangler.toml.example packages/aisyah-ai-vision/wrangler.toml
cp packages/aisyah-ai-whisper/wrangler.toml.example packages/aisyah-ai-whisper/wrangler.toml
# Copy environment variables
cp packages/aisyah-ai-agent/.dev.vars.example packages/aisyah-ai-agent/.dev.vars
cp packages/aisyah-ai-explorer/.dev.vars.example packages/aisyah-ai-explorer/.dev.vars
cp packages/aisyah-ai-reminder/.dev.vars.example packages/aisyah-ai-reminder/.dev.vars
cp packages/aisyah-ai-sonata/.dev.vars.example packages/aisyah-ai-sonata/.dev.vars
cp packages/aisyah-ai-storm/.dev.vars.example packages/aisyah-ai-storm/.dev.vars
cp packages/aisyah-ai-telegraph/.dev.vars.example packages/aisyah-ai-telegraph/.dev.vars
cp packages/aisyah-ai-vision/.dev.vars.example packages/aisyah-ai-vision/.dev.vars
cp packages/aisyah-ai-whisper/.dev.vars.example packages/aisyah-ai-whisper/.dev.vars
تكوين إعدادات الحزمة الخاصة:
قم بإنشاء مساحات أسماء KV المطلوبة وقم بتدوين معرفاتها:
# For settings storage
yarn w aisyah-ai-agent wrangler kv:namespace create SETTINGS
# For chat history
yarn w aisyah-ai-telegraph wrangler kv:namespace create CHAT_HISTORY
# For reminders
yarn w aisyah-ai-reminder wrangler kv:namespace create REMINDERS
# In packages/aisyah-ai-telegraph/.dev.vars
CLOUDFLARE_SUBDOMAIN=your_subdomain
TELEGRAM_BOT_TOKEN=your_telegram_bot_token
UPSTASH_REDIS_REST_URL=your_redis_rest_url
UPSTASH_REDIS_REST_TOKEN=your_redis_rest_token
# In packages/aisyah-ai-agent/.dev.vars
OPENAI_API_KEY=your_openai_api_key
LANGCHAIN_API_KEY=your_langchain_api_key
CLOUDFLARE_SUBDOMAIN=your_subdomain
AGENT_PERSONA_AISYAH_DEFAULT=your_system_prompt_for_persona_default
AGENT_PERSONA_AISYAH_JAWIR=your_system_prompt_for_persona_jawir
AGENT_PERSONA_PERSONAL_ASSISTANT=your_system_prompt_for_persona_personal_assistant
# In packages/aisyah-ai-vision/.dev.vars
OPENAI_API_KEY=your_openai_api_key
# In packages/aisyah-ai-whisper/.dev.vars
OPENAI_API_KEY=your_openai_api_key
# In packages/aisyah-ai-sonata/.dev.vars
OPENAI_API_KEY=your_openai_api_key
# Get from https://supabase.io
SUPABASE_URL=your_supabase_project_url
SUPABASE_KEY=your_supabase_storage_key
# Get from https://elevenlabs.io
ELEVENLABS_API_KEY=your_elevenlabs_api_key
# In packages/aisyah-ai-storm/.dev.vars
OPEN_WEATHER_MAP_API_KEY=your_openweathermap_api_key
# In packages/aisyah-ai-explorer/.dev.vars
# Get from https://programmablesearchengine.google.com/
GOOGLE_SEARCH_API_KEY=your_google_api_key
GOOGLE_SEARCH_ENGINE_ID=your_search_engine_id
# In packages/aisyah-ai-reminder/.dev.vars
REMINDERS_APP_ID=your_reminders_app_id
REMINDERS_API_KEY=your_reminders_api_key
قم بتحديث wrangler.toml
من كل حزمة مع معرفات مساحة اسم KV المقابلة من الخطوة السابقة:
# In packages/aisyah-ai-telegraph/wrangler.toml
kv_namespaces = [
{ binding = " CHAT_HISTORY " , id = " your_chat_history_namespace_id " }
]
# In packages/aisyah-ai-agent/wrangler.toml
kv_namespaces = [
{ binding = " SETTINGS " , id = " your_settings_namespace_id " }
]
# In packages/aisyah-ai-reminder/wrangler.toml
kv_namespaces = [
{ binding = " REMINDERS " , id = " your_reminders_namespace_id " }
]
نشر العمال:
yarn deploy
قم بإعداد روبوت Telegram:
yarn w
: تشغيل الأوامر الخاصة بمساحة العملyarn deploy
: نشر جميع العمالyarn types
: إنشاء أنواع typescriptyarn format
: رمز التنسيق باستخدام Biomepackages
wrangler.toml
aisyah-ai-agent
قم بإعداد مثيل redis:
تكوين redis في بيئتك:
# Add to packages/aisyah-ai-telegraph/.dev.vars
UPSTASH_REDIS_REST_URL=your_redis_rest_url
UPSTASH_REDIS_REST_TOKEN=your_redis_rest_token
تأكد من الحصول على مفاتيح API وتكوينها:
أضفها إلى ملفات .dev.vars
في كل حزمة.
فشل نشر العمال
wrangler.toml
فريدة من نوعهاالروبوت لا يستجيب
ميزات لا تعمل
تمكين وضع التصحيح عن طريق الإعداد:
# Add to .dev.vars
DEBUG_MODE=true
سيوفر هذا سجلات أكثر تفصيلاً في وحدة التحكم في العمال.
إذا واجهت مشاكل:
تم ترخيص هذا المشروع بموجب ترخيص معهد ماساتشوستس للتكنولوجيا - راجع ملف الترخيص للحصول على التفاصيل.