CF-ai-TGbot:Cloudflare AI Gateway連携の高機能Telegramボット

AI/ML

概要

CF-ai-TGbotはNode.jsで開発されたTelegram用のAIチャットボットで、Cloudflare AI Gatewayを利用して複数の大規模言語モデル(LLM)と連携します。グループチャット内での対話履歴を保持し、自然な連続会話を実現。モデルの切替もコマンド一つで可能なため、用途やトーンに合わせて最適なAIを選択可能です。また、AIの応答はMarkdown形式からTelegram対応のHTMLへ変換され、美しいフォーマットで表示されます。Cloudflareを経由することでAPIキーの秘匿やリクエストのログ収集、キャッシュ管理も行い、拡張性と安全性を兼ね備えています。

GitHub

リポジトリの統計情報

  • スター数: 20
  • フォーク数: 3
  • ウォッチャー数: 20
  • コミット数: 12
  • ファイル数: 5
  • メインの言語: JavaScript

主な特徴

  • Cloudflare AI Gateway経由で複数の大規模言語モデルと連携
  • 会話の文脈を記憶し、連続した自然な対話を実現
  • /setmodelコマンドで簡単にAIモデルを動的切替可能
  • Markdown形式のAI応答をTelegram対応のHTMLに変換し見やすく表示

技術的なポイント

CF-ai-TGbotはNode.js環境で動作し、Telegram Bot APIを駆使してユーザーとのインタラクションを実現しています。特徴的なのはCloudflare AI Gatewayの活用です。これにより、すべてのAIリクエストはCloudflareを経由して送信されます。Cloudflare側でログの収集やリクエストのキャッシュを行えるため、API利用の効率化とセキュリティ強化が可能です。また、APIキーはCloudflareに集約されるため、リポジトリやクライアント側に直接キーを持つ必要がなく、安全性が高まっています。

会話の文脈管理はTelegramグループのチャット履歴から状態を保持する形で実装されており、過去の発言を踏まえた連続的な質問応答が可能となっています。記憶の長さは調整可能で、言語モデルの制限を超えない範囲で快適な会話体験を提供します。

さらに、ユーザーは/setmodelコマンドでLlama 3やMistralなど複数の事前設定されたAIモデルを簡単に切り替えられます。これにより、用途に応じて高性能なモデルを選択したり、軽量モデルで高速応答を得たりと柔軟な運用が実現します。

AIが生成した応答はMarkdown形式で返ってくることが多いですが、本ボットはこれをTelegramがサポートするHTML形式に自動変換します。コードブロックや強調表示、リストなどが正しく表示されるため、ユーザーは読みやすいメッセージを受け取れます。これにより、開発者や技術者の利用に適した環境を提供しています。

構成ファイルはシンプルで.envに環境変数を設定し、bot.jsがメインの処理を担当。依存関係はpackage.jsonにまとめられており、Node.jsの標準的な開発フローに沿っています。全体として、拡張性・保守性の高い設計がなされている点も注目です。

プロジェクトの構成

主要なファイルとディレクトリ:

  • .env: APIキーや設定値などの環境変数を管理
  • LICENSE: 使用許諾情報
  • README.md: プロジェクト概要と利用方法の説明
  • bot.js: Telegramボットのメインロジック
  • package.json: 依存パッケージやスクリプトの管理

まとめ

Cloudflare AI Gatewayを活用した柔軟かつ高性能なTelegram AIチャットボット。

リポジトリ情報: