Skip to main content
この機能は ayaka-notes/ayakaleaf-pro によって提供され、v6.3.0 から利用できます。問題が発生した場合は、ぜひフィードバックをお寄せください。

AI アシスタントと LaTeX エラーアシスタント

Ayakaleaf Pro は、2 つの方法で AI 機能をエディターに組み込みます。
  • AI アシスタントは、プロジェクトのドキュメントと現在の選択範囲をコンテキストとして使用し、質問に回答したり、レビュー用の編集案を提示したりします。
  • エラーアシスタントは、LaTeX のコンパイルエラーを選択すると、それに的を絞った修正案を提示します。

Toolkit の設定

Toolkit デプロイの config/variables.env に以下を追加し、例の URL、キー、モデルをプロバイダーの値に置き換えてください。
実際の API キーはデプロイ環境のファイルに保存し、バージョン管理には含めないでください。上記の値はプレースホルダーであり、有効な認証情報ではありません。
AI による提案の品質は、選択したモデルによって異なります。すでに Codex または ChatGPT のサブスクリプションをお持ちの場合は、CLIProxyAPI の OpenAI 互換エンドポイント経由で接続できます。
AI_BASE_URL は OpenAI 互換 API のベース URL で、必要に応じてプロバイダーのバージョンプレフィックスを含めます。/chat/completions は内部で付加されるため、末尾に追加しないでください。ゲートウェイとモデルは、ストリーミング形式のチャット補完と関数ツールをサポートしている必要があります。どちらの機能もドキュメントのコンテキストをこのゲートウェイに送信します。画像対応モデルを使用している場合、チャットではアップロードされた画像も送信されることがあります。 Toolkit は config/variables.env をアプリケーションコンテナに渡します。ここに示した変数名をそのまま使用し、OVERLEAF_ プレフィックスは付けないでください。これらの変数を変更した後は、Toolkit ディレクトリからアプリケーションコンテナを再作成します。

ゲートウェイの設定

画像のアップロードを利用するには、画像入力を受け付け、チャットで使用されるツールをサポートするモデルを AI_IMAGE_MODEL に設定します。履歴に画像の添付を含むチャットリクエストは、その会話の後続メッセージも含めてすべてこのモデルを使用します。この設定がない場合、画像を含むリクエストには通常のチャットモデルが使用されるため、そのモデル自体が画像をサポートしている必要があります。LaTeX エラー提案は引き続き AI_MODEL を使用します。 たとえば、画像モデルと週単位の AI 使用量の上限を有効にするには次のようにします。

ユーザーアクセスと同意

インスタンスでの利用可否とユーザーの権限は別々に管理されます。インスタンスでの利用可否は AI_ENABLED とゲートウェイの設定によって制御されます。さらに、サインインしたユーザーは既存のアカウントチェックにも合格する必要があります。
  • aiFeatures.enabled が false であってはなりません。この既存のデータベースフィールドは、チャットと LaTeX エラー提案の両方を制御します。
  • ユーザーの有効な features.aiUsageQuota が設定された無制限ティア(デフォルトは unlimited)と一致しているか、既存のレガシー権限 features.aiErrorAssistant が有効になっている必要があります。有効な機能には、該当するアカウント機能のオーバーライドも含まれます。
チェックボックスを有効にするだけでは、ユーザーのプランは変更されません。aiUsageQuota フィールドは権限ティアであり、数値によるトークン許容量ではありません。AI_TOKEN_QUOTA は許可されたすべてのユーザーに等しく適用される別の上限です。現在のモジュールでは、アカウントごとに個別の数値上限を設定することはできません。 管理者のユーザー一覧でユーザーを選択し、Update account info → AI features を開きます。Enable AI features は、アカウントの変更を保存したときに aiFeatures.enabled を更新します。サーバーは、すでに開いているエディターからのリクエストを含め、新しい AI リクエストごとに現在の権限をチェックします。権限を変更した後は、エディターを再読み込みして表示されるコントロールを更新してください。

使用量とリセット

管理画面の AI features タブには、現在の期間の Usage、Limit、Reset ボタンが 1 行に表示されます。使用量はタブを開いたときに読み込まれ、継続的には更新されません。チャットやエラー提案が完了した後に最新の数値を確認するには、タブを開き直してください。リセットは即座に反映され、そのユーザーの現在の期間のカウンターのみがクリアされ、表示中の使用量が再読み込みされます。アカウントフォームの他の項目を保存する必要はありません。
チャットとエラー提案の使用量は 1 つの Redis カウンターを共有しており、リクエストの完了後にモデルプロバイダーが報告する合計トークン数に基づいて更新されます。これには、モデルの各ステップにおける入力トークンと出力トークンが含まれます。入力には会話履歴、ドキュメントのコンテキスト、ツールの結果が含まれることがあるため、フォローアップのメッセージでは、新しいメッセージ単体よりも多くのトークンを消費する場合があります。上限が Unlimited の場合でも使用量は記録されます。トークン合計が報告されないリクエストはカウンターに加算されません。過去に記録されなかった使用量をモジュールが再構築することはできません。 上限のチェックはストリーミングの前に行われます。1 つのリクエスト、または複数の同時リクエストによって、後続のリクエストがブロックされる前に残りの許容量を超えることがあります。これは厳密なプロバイダーの支出上限ではなく、使用量の許容枠です。上限の照会に失敗した場合、リクエストは許可され、その失敗がログに記録されます。 どちらの機能も AI_TOKEN_QUOTA を使用します。エラー提案にはリクエスト回数に基づく個別の上限はありません。カウンターをリセットしても、権限、同意、設定された上限、プロバイダー側の請求記録は変更されません。カウンターは UTC の期間キーを使用し、40 日後に失効します。Redis のデータを保持しておけば、アプリケーションを再起動しても現在の使用量は維持されます。

任意の検索サービス

Web 検索には Tavily 互換の API を使用します。検索 API キーが設定されている場合に利用できます。これらの設定は AI ゲートウェイとは独立しています。 例:
ドキュメント検索は、設定された GitBook MCP エンドポイントの searchDocumentation ツールを呼び出し、JSON または SSE のレスポンスを受け付けます。これはドキュメント検索用の MCP クライアントです。これらのモジュールは、プロジェクトファイルを MCP サーバーとして公開したり、汎用の MCP サーバーレジストリを提供したりするものではありません。 検索クエリは設定された検索サービスに送信されます。その後、検索結果が AI ゲートウェイへのリクエストに含まれることがあります。チャットの Tools メニューでは、ユーザーが自分のリクエストに対して Web と Documentation を有効または無効にできます。モデルがツールを利用するには、サーバー側でもそのツールが設定されている必要があります。
最終更新日 2026年10月9日