Aisyah AI é um poderoso bot de telegrama construído com trabalhadores de CloudFlare que combina várias capacidades de IA. Ele pode navegar na web, definir lembretes, falar, prever clima, analisar imagens e entender mensagens de voz. O bot mantém o contexto nas conversas através do Redis, tornando -o perfeito para bate -papos privados e interações em grupo.
? Recursos avançados de IA
Ferramentas inteligentes
☁️ Arquitetura moderna
? Integrações da API
Optamos por apoiar exclusivamente os modelos OpenAI (particularmente GPT-3.5-Turbo e GPT-4o-Mini) por vários motivos:
NOTA: Entendemos o interesse em modelos e fornecedores alternativos (como o OpenRouter, Antrópico, etc.). No entanto, para manter a simplicidade do código e garantir um comportamento de bot consistente, decidimos nos concentrar nas ofertas do OpenAI. Se você precisar usar modelos diferentes, você precisará gastar o projeto e modificar as configurações do modelo de acordo.
/start
- BEGIN Interação com o Bot/settings
- Configurar configurações de bot (modelo LLM, Persona, Voice, etc.)/help
- obtenha ajuda sobre os comandos disponíveisNota : Este é um projeto pessoal projetado para fins de aprendizado e experimentação.
O projeto está organizado em vários microsserviços:
aisyah-ai-telegraph
: Orquestrador principal que lida com interações do telegramaaisyah-ai-agent
: Core AI Agent que processa solicitaçõesaisyah-ai-explorer
: capacidade de navegação na webaisyah-ai-reminder
: Gerenciamento de lembreteaisyah-ai-sonata
: serviço de texto em falaaisyah-ai-storm
: Previsão do tempoaisyah-ai-vision
: Análise de imagemaisyah-ai-whisper
: Serviço de fala para texto Clone o repositório:
git clone https://github.com/husniadil/aisyah-ai.git
cd aisyah-ai
Instale dependências:
yarn install
Configurar CloudFlare: Primeiro, obtenha seu token da API CloudFlare:
export CLOUDFLARE_API_TOKEN=your_api_token_here
echo ' export CLOUDFLARE_API_TOKEN=your_api_token_here ' >> ~ /.zshrc
Nota: Não use wrangler login
, pois ele entra em conflito com o método de autenticação do token da API.
Configure arquivos de ambiente:
# 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
Configurar configurações específicas do pacote:
Crie os namespaces KV necessários e anote seus IDs:
# 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
Atualize o wrangler.toml
de cada pacote com os IDs de namespace KV correspondentes da etapa anterior:
# 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 " }
]
Implantar os trabalhadores:
yarn deploy
Configure seu bot de telegrama:
yarn w
: Execute comandos específicos da área de trabalhoyarn deploy
: implante todos os trabalhadoresyarn types
: gerar tipos de texto datilografadoyarn format
: código de formato usando o biomapackages
wrangler.toml
aisyah-ai-agent
Configure uma instância Redis:
Configure redis em seu ambiente:
# Add to packages/aisyah-ai-telegraph/.dev.vars
UPSTASH_REDIS_REST_URL=your_redis_rest_url
UPSTASH_REDIS_REST_TOKEN=your_redis_rest_token
Certifique -se de obter e configurar essas chaves da API:
Adicione -os aos respectivos arquivos .dev.vars
em cada pacote.
A implantação do trabalhador falha
wrangler.toml
são únicosBot não responder
Recursos não funcionando
Ativar modo de depuração configurando:
# Add to .dev.vars
DEBUG_MODE=true
Isso fornecerá logs mais detalhados no console de trabalhadores.
Se você encontrar problemas:
Este projeto está licenciado sob a licença do MIT - consulte o arquivo de licença para obter detalhes.