Aisyah AI เป็นบอทโทรเลขที่ทรงพลังที่สร้างขึ้นกับคนงาน CloudFlare ที่รวมความสามารถของ AI หลายอย่าง มันสามารถเรียกดูเว็บตั้งค่าการแจ้งเตือนพูดทำนายสภาพอากาศวิเคราะห์ภาพและเข้าใจข้อความเสียง บอทรักษาบริบทในการสนทนาผ่าน Redis ทำให้สมบูรณ์แบบสำหรับการแชทส่วนตัวและการโต้ตอบกลุ่ม
- ความสามารถ AI ขั้นสูง
เครื่องมืออัจฉริยะ
☁สถาปัตยกรรมสมัยใหม่
- การรวม API
เราเลือกที่จะสนับสนุนโมเดล OpenAI โดยเฉพาะ (โดยเฉพาะ GPT-3.5-turbo และ GPT-4O-MINI) ด้วยเหตุผลหลายประการ:
หมายเหตุ: เราเข้าใจถึงความสนใจในแบบจำลองทางเลือกและผู้ให้บริการ (เช่น OpenRouter, มานุษยวิทยา ฯลฯ ) อย่างไรก็ตามเพื่อรักษาความเรียบง่ายของรหัสและให้แน่ใจว่าพฤติกรรมของ BOT ที่สอดคล้องกันเราได้ตัดสินใจที่จะมุ่งเน้นไปที่ข้อเสนอของ OpenAI หากคุณต้องการใช้โมเดลที่แตกต่างกันคุณจะต้องแยกโครงการและแก้ไขการกำหนดค่าโมเดลตามนั้น
/start
- เริ่มการโต้ตอบกับบอท/settings
- กำหนดค่าการตั้งค่าบอท (รุ่น LLM, persona, เสียง ฯลฯ )/help
- รับความช่วยเหลือเกี่ยวกับคำสั่งที่มีอยู่หมายเหตุ : นี่เป็นโครงการส่วนบุคคลที่ออกแบบมาเพื่อการเรียนรู้และการทดลอง
โครงการถูกจัดระเบียบเป็นไมโครไซต์หลายแห่ง:
aisyah-ai-telegraph
: นักออร์เคสตร้าหลักที่จัดการการโต้ตอบทางโทรเลขaisyah-ai-agent
: ตัวแทนหลัก AI ที่ดำเนินการตามคำขอ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
ตั้งค่า Bot 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
สิ่งนี้จะให้บันทึกรายละเอียดเพิ่มเติมในคอนโซลคนงาน
หากคุณพบปัญหา:
โครงการนี้ได้รับใบอนุญาตภายใต้ใบอนุญาต MIT - ดูไฟล์ใบอนุญาตสำหรับรายละเอียด