AB
AiBoss
project

AstrBot - オープンソースのマルチプラットフォーム対応チャットボットおよび開発フレームワーク

AstrBotは、さまざまな大規模言語モデル(OpenAI GPT、Google Gemini、Llamaなど)と複数のメッセージングプラットフォーム(QQ、Telegram、WeChatなど)をサポートするマルチプラットフォームのチャットボットおよび開発フレームワークです。AstrBotは…

AstrBotとは何ですか?

AstrBotは、OpenAI GPT、Google Gemini、Llamaなどの様々な大規模言語モデルと、QQ、Telegram、WeChatなどの複数のメッセージングプラットフォームをサポートする、マルチプラットフォーム対応のチャットボットおよび開発フレームワークです。AstrBotは、複数ターン対話、音声認識、Web検索機能を備え、コード実行機能とビジュアル管理パネルにより、容易な設定と拡張が可能です。モジュール設計に基づき、プラグイン開発をサポートし、Docker、Windows、Replitなどの様々な環境にワンクリックでデプロイできます。

AstrBotの主な機能

  • 多言語モデルのサポートOpenAI GPT、Google Gemini、Llama、DeepSeek、ChatGLMなどの様々な大規模言語モデルをサポートしており、OllamaやLLMTunerに基づいたローカルにデプロイされた大規模モデルへのアクセスもサポートしています。
  • マルチプラットフォームアクセスQQ(OneBot)、QQ Channel、WeChat(Gewechat、Enterprise WeChat)、Telegramなどのメッセージングプラットフォームに対応しています。DingTalk、Lark、Discordなどへの対応は今後追加予定です。
  • エージェント機能コード実行機能、自然言語によるToDoリスト、Web検索などの機能をネイティブにサポートしており、Difyプラットフォームに接続することで、スマートアシスタントやナレッジベースへのアクセスが可能になります。
  • プラグイン拡張機能高度に最適化されたプラグインメカニズムを提供し、開発者がプラグインに基づいて機能を拡張できるように支援し、開発のハードルを下げます。
  • ビジュアルマネジメント設定変更、プラグイン管理、ログ表示などの機能をサポートするビジュアルパネルを提供します。また、WebChatを統合しており、ユーザーはパネルから直接チャットボットとやり取りできます。
  • マルチモーダルな相互作用画像認識と音声認識(Whisper)に対応しており、複数ターンの対話機能やパーソナリティの文脈化機能も備えています。
  • 高い安定性とモジュール性イベントバスとパイプラインのアーキテクチャ設計に基づいており、モジュール性が高く、疎結合で、拡張と保守が容易です。

AstrBotの技術原理

  • 非同期通信アーキテクチャ非同期プログラミングモデルに基づいており、複数のプラットフォーム間でのメッセージ間のやり取りを効率的に処理することで、システム応答速度と並行処理能力を向上させます。
  • イベント駆動型メカニズムイベントバス設計に基づき、メッセージの受信、処理、送信が分離されているため、各モジュールが独立して動作でき、システムの柔軟性と拡張性が向上します。
  • 組立ライン処理メッセージ処理はパイプラインモデルを採用しており、メッセージの解析、前処理、モデル呼び出し、後処理などのステップを順次実行することで、機能拡張と保守を容易にしています。
  • プラグインシステムプラグイン機構に基づき、開発者はロボットの機能を容易に拡張できます。プラグインはメインプログラムの動作に影響を与えることなく、独立して開発および展開できます。
  • 多言語モデルへのアクセス複数の大規模言語モデルへのアクセスをサポートし、標準化されたインターフェースに基づいて異なるモデルと通信し、柔軟なモデル切り替えと拡張を実現します。

AstrBotのプロジェクトアドレス

AstrBotの応用事例

  • エンタープライズ顧客サポートWeChatやQQなどのプラットフォームに展開され、インテリジェントな顧客サービスロボットとして機能し、顧客からの問い合わせに迅速に対応し、よくある質問に回答し、24時間365日途切れることのないサービスを提供することで、顧客満足度と業務効率を向上させます。
  • パーソナルライフアシスタントWeChatやTelegramなどのプラットフォームでは、パーソナルライフアシスタントとして機能し、ユーザーがToDoリストを管理したり、スケジュールをリマインダーで通知したり、情報を検索したりするのを支援するとともに、音声認識機能を使ってより便利なやり取りを実現している。
  • 教育および個別指導ツール教育現場においては、学生が質問に答えるのを助けたり、学習教材を提供したり、言語練習を行ったり、コード実行ツールを使ってプログラミング学習を支援したりすることで、学習を促進する。
  • コミュニティ管理と交流QQチャンネルやDiscordなどのコミュニティプラットフォームでは、管理者がコミュニティを管理し、よくある質問に自動的に回答し、アクティビティを企画し、プラグイン機能を使用して投票やチェックインなどのインタラクティブな機能を実装することで、コミュニティ活動を強化するのに役立ちます。
  • 開発者ツールの統合開発者はこれを開発ツールの一部として利用することで、コードスニペットの共有、APIデバッグ、タスクの自動実行といった機能を実現し、開発効率を向上させることができます。