設定
ChatWalaʻau は .env ファイルで設定します。chatwalaau init でテンプレートを生成
し、値を編集して再起動します。
必須設定
ChatWalaʻau には少なくとも 1 つのチャットプロバイダー(Azure OpenAI、 Anthropic (Claude)、OpenAI、Microsoft Foundry、またはその組み合わせ)が 必要です。利用できるものを設定してください。開始に必要なのは 1 つだけです。設定した 全プロバイダーのモデルは同じセレクターに表示され、ターンごとに切り替えられます。
チャットモデルは モデルオファリングカタログ(model_offerings.jsonc)で
のみ設定します。レガシーのプロバイダ別モデル変数(AZURE_OPENAI_MODELS,
ANTHROPIC_MODELS, OPENAI_MODELS, FOUNDRY_MODELS, MODEL_MAX_CONTEXT_TOKENS,
ANTHROPIC_HOSTING、およびプロバイダ別のチャット endpoint/key 変数)は
削除されました。chatwalaau init(最初の モデル設定ウィザード)、
chatwalaau models add、またはアプリ内の Model Settings 画面で設定してください。
プロバイダーの認証情報を .env に設定します(画像・RAG・音声と共有):
AZURE_OPENAI_ENDPOINT=https://<your-resource>.openai.azure.com/
AZURE_OPENAI_API_KEY=<your-key> # または Entra ID で認証(「認証」節を参照)
# 必要に応じて ANTHROPIC_API_KEY / OPENAI_API_KEY -- カタログから NAME で参照
次に model_offerings.jsonc に chat offering を最低 1 つ記述します。各 offering は
provider(azure-openai / anthropic / openai / foundry)、model_ref(実際のモデル /
デプロイ名)、任意の endpoint / base_url / hosting / context_window、および
api_key_env(キーを保持する環境変数の NAME)を自己記述します。1 つのエンドポイントで
複数のモデルファミリーを提供でき、direct と Foundry ホストの Claude は offering ごとの
hosting で併用できます:
{
"offerings": [
{ "id": "gpt-5.5", "provider": "azure-openai", "model_ref": "gpt-5.5",
"endpoint": "${AZURE_OPENAI_ENDPOINT}", "default": true, "context_window": 1050000 },
{ "id": "claude", "provider": "anthropic", "hosting": "direct",
"model_ref": "claude-sonnet-4-5-20250929", "api_key_env": "ANTHROPIC_API_KEY" },
{ "id": "gpt-5.1", "provider": "openai", "model_ref": "gpt-5.1", "api_key_env": "OPENAI_API_KEY" },
{ "id": "deepseek", "provider": "foundry", "model_ref": "deepseek-v4-pro",
"endpoint": "https://<resource>.services.ai.azure.com/api/projects/<project>" }
]
}
azure-openai の offering は endpoint/api_key_env を省略すると、共有の
AZURE_OPENAI_ENDPOINT + Azure 認証レーンにフォールバックします。カタログが無い
非 demo デプロイは起動時に警告を出してそのまま起動し(Model Settings 画面で
修正可能)、チャットは利用できず、実行しようとした時点で案内メッセージを返します。
このファイルは手で編集する必要はありません。最初のモデルは chatwalaau init の任意
ステップ(--no-model でスキップ)として、あるいは任意のタイミングで
chatwalaau models add で設定でき、以降はチャットサイドバーのモデル設定画面から
管理できます -- 保存はホットリロードで即座に適用され、再起動は不要です。
マルチモデル切り替え、モデルオファリングカタログ、Anthropic の foundry ホスティング、OpenAI / Microsoft Foundry プロバイダー、メッセージ単位オプションは モデルと推論 を参照。
認証
各プロバイダーへの認証方法を選べます。API キーは(提供されるプロバイダーでは) 最も簡単で、Azure CLI もテナントも不要です。Microsoft Entra ID レーンは Azure OpenAI、Foundry 上の Anthropic、そして Microsoft Foundry(Entra 専用)で利用できます。
Azure OpenAI
バックエンドは Azure OpenAI の資格情報を 4 つのレーンで解決し、2 つの変数で 選択します。動作環境に合うものを選んでください。
| レーン | 使う場面 | .env 設定 |
|---|---|---|
| api-key | 初回 / PoC / CI / コンテナ、テナント跨ぎ | AZURE_OPENAI_API_KEY=<key> |
| cli(既定) | az login 可能なローカル開発(Entra ID) | AZURE_CREDENTIAL_MODE=cli(未設定可) |
| managed-identity | Azure App Service / Container Apps / AKS / Functions / VM(Entra ID) | AZURE_CREDENTIAL_MODE=managed-identity |
| default | 1 つのイメージを複数環境で(Entra ID 自動判別) | AZURE_CREDENTIAL_MODE=default |
優先順位: AZURE_OPENAI_API_KEY は常に AZURE_CREDENTIAL_MODE より優先されます。
つまり API キーを設定すれば az login は不要です。プロセスごとに、最初の資格情報解決
時にアクティブなレーンが INFO ログ 1 行で示されます(キー値は決してログ出力されません)。
managed-identity では、コンピュートにマネージド ID を割り当て、Azure OpenAI
リソースに Cognitive Services OpenAI User ロールを付与します。ユーザー割り当て ID
では AZURE_CLIENT_ID も必要です。フェデレーション ID を使う AKS ワークロードは
AZURE_CREDENTIAL_MODE=default を使うと SDK の WorkloadIdentityCredential が自動
選択されます。chatwalaau CLI は、アクティブなレーンが cli 以外のとき
az account show の事前チェックを省略します。
Anthropic (Claude)
Anthropic には 2 つのホスティング(ANTHROPIC_HOSTING=direct(既定)または
foundry)があり、それぞれ認証が異なります:
| ホスティング | 認証 | .env |
|---|---|---|
| direct(Anthropic 公開 API) | API キー | ANTHROPIC_API_KEY=sk-ant-... |
| foundry(Azure AI Foundry 上の Anthropic) | API キー | ANTHROPIC_FOUNDRY_API_KEY=<key> |
| foundry | Microsoft Entra ID | ANTHROPIC_FOUNDRY_API_KEY を空にし、AZURE_CREDENTIAL_MODE + AZURE_TENANT_ID を再利用 |
Foundry のエンドポイント変数と注意点は モデルと推論 -> Anthropic プロバイダー を参照。
OpenAI(direct)
OpenAI 公開 API の認証は API キーのみです -- Entra ID レーンはありません。
| 認証 | .env |
|---|---|
| API キー | OPENAI_API_KEY=sk-...(OpenAI 互換ゲートウェイ用に任意の OPENAI_BASE_URL) |
詳細は モデルと推論 -> OpenAI プロバイダー を参照。
Microsoft Foundry
Foundry プロジェクトエンドポイントの認証は Entra ID のみです -- API キーレーンは
ありません。このプロバイダーは Azure OpenAI の Entra レーン
(AZURE_CREDENTIAL_MODE + AZURE_TENANT_ID)を再利用します。
AZURE_OPENAI_API_KEY は適用されません。
| 認証 | .env |
|---|---|
| Microsoft Entra ID | FOUNDRY_PROJECT_ENDPOINT=https://<resource>.services.ai.azure.com/api/projects/<project>。AZURE_CREDENTIAL_MODE + AZURE_TENANT_ID を再利用 |
サイン インする ID にプロジェクトの Foundry データプレーンロール(例: Azure AI User)を付与してください。詳細は モデルと推論 -> Microsoft Foundry プロバイダー を参照。
.env の構成
テンプレートは設定を機能ごとにまとめています。ほとんどの機能は オプトインで既定 オフのため、必須の Azure 設定だけでサーバは動作します。各機能ページに使用する変数 が記載されており、本ページはその入口です(全変数表ではありません)。
リリース間で .env を最新に保つ
新しいリリースは多くの場合、既定オフの新設定で価値を追加するため、pip install -U
後もサーバは動き続けます。しかし、どの設定が増えたかは自分の .env からは分からず、
古いキーも溜まります。2 つのオフラインコマンドが、インストール済みリリース同梱の
テンプレートに対して .env を突き合わせます:
chatwalaau env diff # 生成時以降に追加 / 削除された設定
chatwalaau env diff --json # 機械可読
chatwalaau env sync # 突き合わせのプレビュー(ドライラン)
chatwalaau env sync --write # タイムスタンプ付きバックアップ後に適用
- 値はそのまま保持 -- 更新されるのはレイアウトとキーごとのコメントのみ。
- 何も削除しない -- テンプレートにないキーは
Unmanaged keysセクションへ移動。 --writeの前に必ず タイムスタンプ付きバックアップ(.env.<UTC>.bak)を作成。
起動時、追加された新キーが .env に不足していると 1 行ログで通知します。