AI (人工知能): サーバー

について

Agent DVRは、DeepStack AI、CodeProject AI、PlateRecognizer.com、Claude、Gemini、OpenAI(ChatGPT)などのAIサーバーや、Ollama、vLLM、LM StudioなどのローカルLLMと完全に統合されており、スマートアラートフィルタリング、オブジェクト認識、シーン認識、インテリジェントイベント制御を追加します。

DeepStackおよびCodeProject AIに加えて、同じAPIをサポートする他のAIサーバーも使用できます:

オブジェクト認識とコンピュータビジョン
クラウドAIサービス
ローカルAIサーバー(LLMs)
注意: クラウドAIサービスはAPIキーを必要とし、使用コストが発生する場合があります。ローカルAIサーバーは自分のハードウェア上で動作し、データをプライベートに保ちますが、より多くのシステムリソースを必要とします。

AIの設定

AI Server List

AIサーバーを設定するには、Agent DVRメインUIの左上にあるアイコンをクリックします。次に、設定をクリックして、構成の下にあるAIサーバーをドロップダウンメニューから選択し、構成をクリックします。

Agent DVRは、オブジェクト認識、顔認識、ALPR(自動ナンバープレート認識)、およびスーパーリゾリューション(強化)などのさまざまなAI機能にCodeProject.AIを統合しています。PlateRecognizer.comもALPRプロバイダーとしてサポートされています。CodeProject.AIはオープンソースで無料であり、ほとんどのプラットフォームと互換性があります。

まず、プラットフォーム用のAIサーバーをインストールし、構成ボタンをクリックして追加します。

必要に応じて、Agentに複数のAIサーバーを追加できます。Agent内のカメラは、各機能に異なるAIサーバーを使用するように構成するか、すべてのタスクに1つのAIサーバーを使用することができます。

警告: AI処理はリソースを多く消費します。コンピューターがそれを実行するのに十分なパワーを持っていることを確認してください。
サーバーの構成
  • 名前: サーバーに名前を付けます、例: Cat Catcher。
  • AIサーバーのURL: AIサーバーのURLを入力します、例: http://localhost:32168/
  • APIキー: 設定されている場合はキーを入力します(オプション)。
  • タイムアウト: サーバー要求のタイムアウト(秒単位)。
  • 再試行遅延: このサーバーへの失敗したリクエストを再試行する前の時間(秒単位)。

設定を保存するには、OKをクリックします。

OpenAIを使用する

ビデオフィードで何が起こっているかについての質問に答えるためにOpenAI("Chat GPT")を設定するには、サーバー設定 - AIサーバー に移動し、「Ask AI」の下で「Open AI」を選択します。

  • URL: サービスのURLを入力します。デフォルトは「https://api.openai.com/v1/chat/completions」です。
  • OpenAI APIキー: OpenAIに登録した後、APIキー ページ に移動し、新しいシークレットキーを生成します。このキーを指定されたフィールドにコピー&ペーストします。
  • モデル: 使用するモデルを指定します。デフォルトは gpt-4o です。OpenAIは後日これを削除または変更する可能性があります。
  • 最大トークン数: リクエストごとの最大トークン使用量を設定します。問題が発生した場合は、トークン使用に関連している可能性があるため、/logs.html のログを確認してください。

OpenAIが構成されると、カメラフィードで何が起こっているかについて一般的な質問に答えるための使用方法については、Ask AI を参照してください。

Using Claude

ビデオフィードで何が起こっているかについての質問に答えるためにClaude AIを設定するには、サーバー設定 - AIサーバー に移動し、「Ask AI」の下で「Claude」を選択します。

  • URL: サービスへのURLを入力します。デフォルトは「https://api.anthropic.com/v1/messages」です。
  • Claude APIキー: Claudeにサインアップした後、APIキーのページにアクセスし、新しいシークレットキーを作成します。このキーをフィールドにコピー&ペーストします。
  • バージョン: 使用するバージョンを指定します。デフォルトは 2023-06-01 これはAnthropicによっていつか削除または変更される可能性があります。
  • モデル: 使用するモデルを指定します。執筆時点のデフォルトは claude-3-sonnet-20240229 です。
  • 最大トークン数: これはリクエストごとの最大トークン消費を制御します。問題がある場合は、トークン消費に関連している可能性があるため、/logs.htmlでログを確認してください。

Claudeが構成されたら、カメラフィードで一般的なシナリオを認識する方法については、Ask AIを参照してください。

ジェミニを使用する

ビデオフィードで何が起こっているかについての質問に答えるためにGeminiを設定するには、サーバー設定 - AIサーバー に移動し、「Ask AI」の下で「Gemini」を選択します。

  • URL: サービスへのURLを入力します。デフォルトは "https://generativelanguage.googleapis.com" です。
  • Gemini APIキー: Geminiにサインアップした後、APIキー ページ にアクセスし、新しいシークレットキーを作成します。このキーをフィールドにコピーして貼り付けます。
  • バージョン: 使用するバージョンを指定します。デフォルトは v1beta です。これは後でGoogleによって削除または変更される可能性があります。
  • モデル: 使用するモデルを指定します。執筆時点のデフォルトは gemini-1.5-flash です。
  • 最大トークン数: リクエストごとの最大トークン消費を制御します。問題がある場合は、トークン消費に関連している可能性があるため、/logs.html のログを確認してください。

Geminiが構成されたら、カメラフィードで一般的なシナリオを認識する方法については、Ask AI を参照してください。

他のLLMサーバーの使用

v6.5.3.0+ からは、Ollama、vLLM、LM Studio のような独自のローカル LLM サーバーを使用して、Agent DVR がカメラからキャプチャした画像を Alert イベントで説明し、ビデオストリームで何が起こっているかについての質問に答えることができます。詳細は AI DescribeAsk AI を参照してください。

ローカル AI サーバーを構成するには、サーバー設定 - AI サーバー に移動し、使用したい LLM の横にある構成ボタンをクリックします(Ollama、vLLM、または LM Studio)。

  • URL: LLM サーバーが実行されているエンドポイントを指定します。デフォルトの URL は次のとおりです:
    • Ollama: http://localhost:11434/api/chat
    • vLLM: http://localhost:8000/v1/chat/completions
    • LM Studio: http://localhost:1234/v1/chat/completions
  • API キー: LLM サーバーが認証を必要とする場合は、ここに API キーを入力します。ほとんどのローカルサーバーは、特に構成されていない限り、これを必要としません。
  • モデル: 画像分析に使用するビジョン対応モデルを選択します。このモデルは、すでに LLM サーバーにダウンロードしてロードしておく必要があります。人気のある選択肢には次のものがあります:
    • LLaVA モデル(汎用ビジョン)
    • Qwen2-VL(高性能)
    • Llama 3.2 Vision(Meta の最新)
  • 温度: 応答の創造性と正確性を制御します(0.0-1.0)。低い値(0.3-0.4)は、より事実に基づいた一貫した説明を生成します。高い値(0.6-0.8)は、より多様で創造的な応答を生成します。推奨:セキュリティカメラ分析には 0.4。
  • 最大トークン: AI の応答における単語/トークンの最大数。高い値はより詳細な説明を可能にしますが、生成に時間がかかります。推奨:詳細な画像分析には 300-500、簡潔な説明には 150-250。
  • top_p: 語彙選択を制限することによって応答の多様性を制御します(0.0-1.0)。低い値はより一般的な単語を使用し、高い値はより多様な語彙を許可します。推奨:正確性と自然言語の良いバランスのために 0.9。
  • top_k: モデルが次に最も可能性の高い K 個の単語から選択することを制限します。低い値(20-40)はより焦点を絞った応答を生成し、高い値(80-100)はより多様性を許可します。推奨:信頼性のある画像説明には 50。
注意: 選択した LLM サーバーを別途インストールおよび構成する必要があります。Agent DVR を構成する前に、ビジョン対応モデルをダウンロードしていることを確認してください。セキュリティカメラでの最良の結果を得るためには、少なくとも 7B パラメータを持つモデルを使用し、システムに十分な VRAM(推奨 5GB以上)があることを確認してください。

PlateRecognizer.comを使用する

Agent DVRでLPR(ANPRまたはナンバープレート認識)を設定するには、サーバー設定 - AI設定に移動し、Plate Recognizerの詳細を入力します。無料トライアルにはPlate Recognizerでサインアップしてください。クレジットカードは必要ありません。

  • URL: サービスへのURLを入力します。デフォルトは「https://api.platerecognizer.com/v1/plate-reader/」ですが、独自のサーバーを使用する場合は自分自身でホストしてください。
  • Token: Plate Recognizerにサインアップした後、アカウントページにアクセスし、APIトークンをコピーします。
  • Regions: デフォルトの場合は空白のままにしておくか、地域のCSVリストを入力します。
  • Config: 必要に応じてドキュメントから追加の設定値を入力します。

AIモジュールの管理

AIモジュール

AIサーバーリスト(上記参照)では、AIサーバーの設定、テスト、編集、削除のオプションがあります。[configure]ボタンをクリックして、選択したサーバーにインストールされているモジュールを表示します。

Agent DVRは、サーバーから現在のモジュールリストを取得し、各モジュールのインストール、アンインストール、設定、テストのためのユーザーインターフェースを提供します。Agent DVRは、すべてのデフォルトのCodeProject.UIモジュールに対応していますが、そのうちの一部のみを利用しています。

オブジェクト認識モジュールのオプションは、1つだけインストールすることをお勧めします。各モジュールの説明を確認して、システムに最適なものを選択してください。

Agent DVRでALPR(自動ナンバープレート認識)、スーパーレゾリューション、または顔認識を利用するには、このページから各モジュールをインストールする必要があります。通常、これらのモジュールにはデフォルトの設定が適していますが、各モジュールの下にある[configure]アイコンをクリックして設定することもできます。