Aisyah AI - это мощный бот Telegram, построенный с работниками CloudFlare, который сочетает в себе множество возможностей ИИ. Он может просмотреть Интернет, устанавливать напоминания, говорить, предсказать погоду, анализировать изображения и понимать голосовые сообщения. Бот поддерживает контекст в разговорах через Redis, что делает его идеальным как для частных чатов, так и для групповых взаимодействий.
? Усовершенствованные возможности ИИ
Умные инструменты
☁ Современная архитектура
? API интеграции
Мы решили исключительно поддерживать модели OpenAI (особенно GPT-3,5-Turbo и GPT-4O-Mini) по нескольким причинам:
Примечание: мы понимаем интерес к альтернативным моделям и поставщикам (например, OpenRouter, Anpropic и т. Д.). Однако, чтобы поддерживать простоту кода и обеспечить последовательное поведение бота, мы решили сосредоточиться на предложениях Openai. Если вам нужно использовать разные модели, вам нужно будет сформулировать проект и соответствующим образом изменить конфигурации модели.
/start
- начать взаимодействие с ботом/settings
- настроить настройки бота (модель LLM, личность, голос и т. Д.)/help
- Получите помощь о доступных командахПримечание : это личный проект, предназначенный для целей обучения и экспериментов.
Проект организован в несколько микросервисов:
aisyah-ai-telegraph
: основной оркестратор, который обрабатывает взаимодействие телеграммыaisyah-ai-agent
: Core 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: Во -первых, получите свой токен API CloudFlare:
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
.
# 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
: генерировать типыyarn format
: код формата с использованием биомаpackages
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 - для получения подробной информации см. Файл лицензии.