Microsoft が提供するモデルの 1 つではなく、独自の言語モデルを使用する場合は、Edge RAG デプロイ用に OpenAI API 互換エンドポイントを設定する必要があります。 エンドポイントを作成するには、この記事に含まれている次のいずれかの方法を選択します。
エンドポイントを作成したら、 Edge RAG の拡張機能をデプロイ するときにエンドポイントを使用し、独自の言語モデルを追加することを選択します。
Von Bedeutung
Azure Arc により有効化された Edge RAG は、現在プレビュー段階です。 ベータ版、プレビュー版、または一般提供としてまだリリースされていない Azure の機能に適用される法律条項については、「Microsoft Azure プレビューの追加使用条件」を参照してください。
Azure AI Foundry
Edge RAG で独自のモデルを使用するには、Azure AI Foundry を使用して言語モデルをデプロイし、エンドポイントを作成します。
Azure AI Foundry に移動し、Azure アカウントでサインインします。
新しい Azure AI Foundry リソースを作成するか、既存のリソースに移動します。
Azure AI Foundry リソースで、[ モデルとエンドポイント] を選択します。
[モデルの展開]>[基本モデルの展開] の順に選択します。
gpt-4oなどの一覧からチャット完了モデルを選択します。確認 を選択します。
シナリオに応じて、次のフィールドを編集します。
フィールド 説明 デプロイ名 デプロイメント名を選択してください。 既定値は、選択したモデルの名前です。 展開の種類 デプロイの種類を選択します。 既定値は グローバル標準です。 [ 選択したリソースにデプロイ] を選択します。
展開が完了し [状態] が [成功]になるまで待機します。
デプロイされたモデルを選択して、エンドポイントと API キーを取得します。 たとえば、エンドポイントは次の URL のようになります。
https://<Azure AI Foundry Resource Name>.openai.azure.com/openai/deployments/<Model Deployment Name>/chat/completions?api-version=<API Version>
詳細については、次の記事を参照してください。
KAITO
Azure Kubernetes 上で Kubernetes AI Toolchain Operator (KAITO) を使用して AI モデルをデプロイする方法については、「 Kubernetes AI ツールチェーン オペレーターを使用して Azure Arc で有効になっている AKS に AI モデルをデプロイする」を参照してください。
ファウンドリー・ローカル
Foundry Local を使用して AI モデルをデプロイするには、 GitHub - microsoft/Foundry-Local を参照してください。
Ollama
Ollama は、Kubernetes クラスターで言語モデル エンドポイントとして設定できます。 CPU または GPU を使用します。
GPU で Ollama を使用している場合は、GPU ノードで次の 2 つを設定する必要があります。
moc-gpunodeを GPU ノードの名前に置き換えます。kubectl taint nodes <moc-gpunode> ollamasku=ollamagpu:NoSchedule –overwrite kubectl label node <moc-gpunode> hardware=ollamagpu`モデルに GPU と CPU のどちらを使用しているかに応じて、次のいずれかのスニペットを使用して yaml ファイルを作成します。
GPU YAML:
# ollama-deploy.yaml apiVersion: apps/v1 kind: Deployment metadata: name: ollama-deploy namespace: default spec: replicas: 1 selector: matchLabels: app: ollama-deploy template: metadata: labels: app: ollama-deploy spec: affinity: nodeAffinity: requiredDuringSchedulingIgnoredDuringExecution: nodeSelectorTerms: - matchExpressions: - key: hardware operator: In values: - ollamagpu containers: - name: ollama image: ollama/ollama args: ["serve"] ports: - containerPort: 11434 volumeMounts: - name: ollama-data mountPath: /root/.ollama resources: limits: nvidia.com/gpu: "1" volumes: - name: ollama-data emptyDir: {} tolerations: - effect: NoSchedule key: ollamasku operator: Equal value: ollamagpu --- apiVersion: v1 kind: Service metadata: name: ollama-llm namespace: default spec: selector: app: ollama-deploy ports: - port: 11434 targetPort: 11434 protocol: TCPCPU yaml:
# ollama-deploy.yaml apiVersion: apps/v1 kind: Deployment metadata: name: ollama-deploy namespace: default spec: replicas: 1 selector: matchLabels: app: ollama-deploy template: metadata: labels: app: ollama-deploy spec: containers: - name: ollama image: ollama/ollama args: ["serve"] ports: - containerPort: 11434 volumeMounts: - name: ollama-data mountPath: /root/.ollama volumes: - name: ollama-data emptyDir: {} --- apiVersion: v1 kind: Service metadata: name: ollama-llm namespace: default spec: selector: app: ollama-deploy ports: - port: 11434 targetPort: 11434 protocol: TCP
次の yaml スニペットを使用して、既定の名前空間に Ollama をデプロイします。 このスニペットは、既定の名前空間に Ollama デプロイとサービスを作成します。
kubectl apply -f ollama-deploy.yaml次のいずれかのコマンドを使用してモデルをダウンロードします。 サポートされている最新のモデルについては、 Ollama Search をご覧ください。
kubectl exec -n default -it deploy/ollama-deploy -- bash -c "ollama pull <model_name>"または、k9s を使用してポッドに接続し、ollama ポッド内で次のコマンドを実行します。
ollama pull <model_name>Edge RAG 拡張機能のデプロイを構成するときは、次のエンドポイント値を使用します。
http://ollama-llm.default.svc.cluster.local:11434/v1/chat/completions
Edge RAG 拡張機能をデプロイした後、別の名前空間からモデルにアクセスできることを確認します。 arc-rag 名前空間の推論フロー ポッドから次の curl コマンドを実行します。
curl http://ollama-llm.default.svc.cluster.local:11434/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "llama3:8b",
"messages": [
{ "role": "system", "content": "You are a helpful assistant." },
{ "role": "user", "content": "What is the capital of Japan?" }
]
}'