ブログに戻る

ツールと連携ガイド

AnythingLLM を CheapTokens に接続する: Generic OpenAI の設定

AnythingLLM の Generic OpenAI プロバイダーを CheapTokens に向けます: Base URL、キー、完全なモデル ID、さらに入力すべきコンテキストウィンドウと Max Tokens。

投稿者: CheapTokens Team公開日 読了時間 6 分

Generic OpenAI プロバイダーを通じて CheapTokens に接続された AnythingLLM
このページの内容
  1. プロバイダー設定を入力する
  2. 2つの制限が重要な理由
  3. AnythingLLM の外で接続を確認する
  4. ドキュメントへの質問にかかるコスト
  5. うまくいかない場合

AnythingLLM は Generic OpenAI プロバイダーを使って CheapTokens に接続できます。Base URL に https://api.cheaptokens.dev/v1 を設定し、API キーを貼り付け、完全なモデル ID を入力してから、モデルの実際のコンテキストウィンドウと Max Tokens を入力します。最後の2つは見落とされがちですが、長いドキュメントが収まるかどうか、回答が途中で切れるかどうかを決めます。

AnythingLLM 自身のドキュメント(Generic OpenAI ページ、2026年11月7日確認、v1.19.0 のバナー付き)では、このプロバイダーを OpenAI 互換の任意の LLM プロバイダーを使う方法として説明しています。また、開発者向けであるとも警告しています。設定を間違えると奇妙な動作になり、モデル ID はエンドポイントが提供するものと完全に一致している必要があります。では、正確に進めましょう。

プロバイダー設定を入力する#

AnythingLLM の LLM 設定を開き、プロバイダーとして Generic OpenAI を選択します。次に5つのフィールドを順に入力します。ラベルはバージョンによって多少異なる場合があるので、意味で判断してください。

ステップバイステップ

5つのフィールド、順番に

Base URL

完全なエンドポイントではなく、API ルートを入力します: https://api.cheaptokens.dev/v1。ドキュメントの例では /v1 で終わるルートを使っており、AnythingLLM が /chat/completions を自分で追加します。完全なパスを貼り付けると、リクエストは間違ったアドレスに送られます。

API キー

CheapTokens のキーを貼り付けます。まだ持っていない場合は、先にダッシュボードで作成してください。パスワードのように扱い、スクリーンショットや共有ワークスペースのメモに載せないでください。

チャットモデル名

完全な ID を使用します。たとえば deepseek-ai/DeepSeek-V4-Flash-0731 や zai-org/GLM-5.3-Flash です。価格表に表示される短い名前は API では受け付けられません。どの ID を持っているかわからない場合は、GET /v1/models でモデルを一覧表示してください。

モデルのコンテキストウィンドウ

AnythingLLM が質問、取得したドキュメントチャンク、チャット履歴からプロンプトを構築するときに使う予算です。モデルの実際のウィンドウを入力します。DeepSeek-V4-Flash なら 380000、GLM-5.3-Flash なら 390000 です。

Max Tokens

1つの回答の長さの上限です。AnythingLLM のデフォルトは 1024 です。DeepSeek-V4-Flash なら 32768、GLM-5.3-Flash なら 8192 を入力します。

AnythingLLM の Base URL: 完全なエンドポイントパスは間違いで、API ルートが正しい
/v1 で終わる API ルートを貼り付けてください。AnythingLLM が /chat/completions を自分で追加します

保存し、ワークスペースを開いて質問してください。埋め込み(ドキュメントを検索可能なチャンクに変換する部分)は AnythingLLM の別設定なので、上記のプロバイダーは回答を書くモデルだけを変更します。

2つの制限が重要な理由#

60ページの契約書をワークスペースに入れて、終了条項の要約を依頼する場面を想像してください。デフォルトのままでは2つの問題が起きます。入力したコンテキストウィンドウがモデルの実際のウィンドウよりはるかに小さい可能性があり、AnythingLLM が送信内容を切り詰めます。また Max Tokens が 1024 のままなので、長い要約は文の途中で止まります。

解決策は、モデルについての真実を AnythingLLM に伝えることです:

モデル (id) コンテキストウィンドウ 回答あたりの出力
DeepSeek-V4-Flash (deepseek-ai/DeepSeek-V4-Flash-0731) 380K 最大 32,768 トークン
GLM-5.3-Flash (zai-org/GLM-5.3-Flash) 390K 最大 8,192 トークン

習慣にしておきたいこと: Max Tokens は上限であり、目標ではありません。短い質問には短い回答が返り、支払うのはモデルが実際に書いたトークン分だけです。制限に達したときに何が起きるかを理解したい場合は、AI の回答が文の途中で止まる理由で finish_reason と max_tokens を説明しており、コンテキストウィンドウとは何かでは入力側を扱っています。

AnythingLLM のドキュメントでは、Max Tokens を 0 に設定すると出力制限がリクエストから除外されるとも書かれています。明示的な数値のほうが推論しやすいので、私は数値を入力します。

AnythingLLM の外で接続を確認する#

チャットウィンドウにエラーが表示される場合、問題がキーとモデル ID にあるのか、AnythingLLM 内部にあるのかを知ると役立ちます。API に直接1つのリクエストを送ってください:

bash
curl https://api.cheaptokens.dev/v1/chat/completions \
  -H "Authorization: Bearer $CHEAPTOKENS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model": "deepseek-ai/DeepSeek-V4-Flash-0731", "messages": [{"role": "user", "content": "Say hi in five words."}], "max_tokens": 50}'

API は OpenAI Chat Completions 互換なので、正常な応答ではテキストが choices[0].message.content に、finish_reason に、そしてそのリクエストのトークン数を含む usage ブロックに入っています。これらが得られれば、キー、Base URL、モデル ID は問題なく、AnythingLLM で見えるものは上記の設定に起因します。エンドポイントの詳細は CheapTokens ドキュメントにあります。

ドキュメントへの質問にかかるコスト#

ドキュメントチャットは入力が重くなります。すべての質問が取得したチャンクを運ぶからです。約600トークンのチャンクを6つ取得し、質問と少しの履歴を加えて、入力トークンが約4,000、回答が400トークンになるとします。DeepSeek-V4-Flash では、そのような質問1回のコストは $0.0001 です。以下は同じワークロードを200問でモデル別に比較したもので、OpenRouter の列を並べています:

モデル リクエストあたり 200 リクエスト OpenRouter、200 リクエスト
GLM-5.3-Flash $0.000096 $0.0192 $0.0334
DeepSeek-V4-Flash $0.0001 $0.02 $0.0672
MiniMax-M2.7 $0.00026 $0.052 $0.624

リクエストあたり 4,000 入力トークンと 400 出力トークン。100万トークンあたりの価格は現行のもので、当社の料金体系に合わせて変動します。OpenRouter 列は同じワークロードの参考価格を示しています。

入力と出力を合計すると、このワークロードでは DeepSeek-V4-Flash が OpenRouter より安くなります。自分の数値についてはスライダーを動かしてください。必要なのは質問あたりのトークン数と1日あたりの質問数だけです。

コスト計算機

ドキュメントへの質問1日分

リクエストあたりの入力トークン数: 4,000 · リクエストあたりの出力トークン数: 400 · 1日あたりのリクエスト数: 50

モデル1日あたり1か月あたり
GLM-5.3-Flash$0.0048$0.144
DeepSeek-V4-Flash$0.005$0.15
MiniMax-M2.7$0.013$0.39

送信するチャンクの数が最大のレバーです。RAG の質問にかかるコストではそれに応じて請求がどう動くかを示しており、現在の料金は料金ページにあります。

うまくいかない場合#

ほとんどの失敗は4つのうちのどれかです。症状を原因と照合してください:

ペアを合わせる

各症状を原因と照合する

  • プロバイダーがリクエストを拒否し、max_tokens について文句を言うGENERIC_OPEN_AI_MODEL_MAX_TOKEN_KEY を max_completion_tokens に設定して AnythingLLM を再起動する
  • 401 UnauthorizedAPI キーが欠落している、入力ミス、またはスペース付きで貼り付けられている
  • 404 または「model not found」モデル ID が短い名前で、モデル一覧の完全な ID ではない
  • 回答が文の途中で止まるMax Tokens がまだデフォルトの 1024 のまま

GENERIC_OPEN_AI_MODEL_MAX_TOKEN_KEY オプションは AnythingLLM のドキュメントに由来します。リクエスト内で制限を運ぶフィールド名を変更します。401 と 404 の詳細については、API 401 または 404: 間違ったキー、ベース URL、モデル IDを参照してください。

別のチャットクライアントを使っていますか?手順は Open WebUI、LibreChat、Cherry Studioとほぼ同じです。OpenAI 互換のベース URL 1つ、キー1つ、完全なモデル ID 1つです。