要約
Qwen3.5は、Alibabaが開発した、エキスパートの混合(MoE)アーキテクチャを持つ画期的な3970億パラメータのビジョン・言語モデルです。NVIDIA Developer Programに登録することで、NVIDIAのGPUアクセラレーションされたエンドポイントを通じて無料でアクセスできます。このガイドでは、APIキーの取得、最初のAPI呼び出し、そしてQwen3.5のマルチモーダル機能をアプリケーションに統合する方法を説明します。
はじめに
AlibabaのQwen3.5は、マルチモーダルAIにおける大きな飛躍を意味します。この3970億パラメータモデルは、エキスパートの混合(MoE)アーキテクチャとGated Delta Networksを組み合わせることで、アクティブなパラメータをわずか170億に抑えながら、強力な推論能力を実現しています。その結果、画像理解、ユーザーインターフェースの操作、複雑なマルチモーダルタスクの処理が可能になり、これらすべてが無料APIを通じてアクセスできます。
そして最も良い点は、NVIDIAのデベロッパープラットフォームを通じて、Qwen3.5を今すぐ無料で使い始められることです。AIエージェントの構築、視覚推論アプリケーションの開発、マルチモーダルAIの探求など、このガイドがすべてのステップをご案内します。
Qwen3.5 VLMとは?
Qwen3.5は、Qwen3.5シリーズにおけるAlibaba初のネイティブなビジョン・言語モデルで、自律エージェントの構築のために特別に設計されました。テキストのみのモデルから適応された以前のVLMとは異なり、Qwen3.5はマルチモーダル推論とUIナビゲーションのためにゼロから構築されました。

主な仕様
| 仕様 | 値 |
|---|---|
| 総パラメータ数 | 3970億 |
| アクティブパラメータ数 | 170億 |
| アクティベーション率 | 4.28% |
| エキスパート数 | 512エキスパート |
| トークンあたりのエキスパート数 | 11(10ルーティング + 1共有) |
| 入力コンテキスト | 256K(1Mまで拡張可能) |
| 対応言語 | 200以上 |
| アーキテクチャ | MoE + Gated Delta Networks |

Qwen3.5の特別な点
エキスパートの混合(MoE)アーキテクチャとは、与えられた入力に対してモデルのパラメータの一部のみがアクティブになることを意味します。これにより、3970億の全パラメータにわたる複雑な推論能力を維持しつつ、モデルの計算効率を高めます。
ネイティブなマルチモーダルエージェント機能は、Qwen3.5を他のVLMと区別します。
- ユーザーインターフェースを理解し、操作する
- モバイルおよびウェブインターフェースで視覚推論を実行する
- 複雑なコーディングタスクを処理する
- マルチモーダル理解を備えたチャットアプリケーションを強化する
理想的な使用例
- コーディングとウェブ開発: 視覚的コンテキストでコードを記述およびデバッグする
- 視覚推論: スクリーンショット、写真、UI要素を分析する
- チャットアプリケーション: マルチモーダル理解を備えた会話型AIを構築する
- 複雑な検索: 画像とテキストを同時に検索する
- UI自動化: インターフェースを自律的にナビゲートおよび操作する
NVIDIA Developer Program: 無料APIキーの取得
NVIDIAは、GPUアクセラレーションされたエンドポイントを通じてQwen3.5への無料アクセスを提供しています。開始方法は以下のとおりです。
ステップ1: NVIDIA Developer Programに参加する
- build.nvidia.comにアクセスする
- サインインまたはアカウント作成をクリックする
- NVIDIA Developer Programに登録する(無料)
- メールアドレスを確認する

ステップ2: APIキーを取得する
- ログイン後、アカウント設定に移動する
- API KeysまたはNVIDIA API Keyを見つける
- APIキーをコピーする(
nvapi-で始まる) - 安全に保管する(認証に必要です)

重要
ステップ3: アクセスをテストする
build.nvidia.com/qwen/qwen3.5-397b-a17bで、ブラウザから直接Qwen3.5をテストできます。これにより、コードを書く前にプロンプトを試したり、独自のデータでモデルを評価したりできます。

最初のQwen3.5 API呼び出し
それでは、Qwen3.5への最初のAPI呼び出しを行いましょう。このAPIはOpenAIのフォーマットと互換性があるため、既存のアプリケーションへの統合が容易です。
基本的なAPI呼び出し
import requests
# Configuration
invoke_url = "https://integrate.api.nvidia.com/v1/chat/completions"
api_key = "YOUR_NVIDIA_API_KEY" # Replace with your API key
headers = {
"Authorization": f"Bearer {api_key}",
"Accept": "application/json",
}
# Payload - simple text-only request
payload = {
"messages": [
{
"role": "user",
"content": "What are the key features of Qwen3.5 VLM?"
}
],
"model": "qwen/qwen3.5-397b-a17b",
"max_tokens": 1024,
"temperature": 0.7,
}
# Make the request
session = requests.Session()
response = session.post(invoke_url, headers=headers, json=payload)
response.raise_for_status()
# Print the response
result = response.json()
print(result['choices'][0]['message']['content'])
マルチモーダルリクエストの作成(画像あり)
Qwen3.5のビジョン機能を使用するには、リクエストに画像データを含めます。
import requests
import base64
# Function to encode image to base64
def encode_image(image_path):
with open(image_path, "rb") as image_file:
return base64.b64encode(image_file.read()).decode('utf-8')
# Encode your image
image_base64 = encode_image("screenshot.png")
invoke_url = "https://integrate.api.nvidia.com/v1/chat/completions"
api_key = "YOUR_NVIDIA_API_KEY"
headers = {
"Authorization": f"Bearer {api_key}",
"Accept": "application/json",
}
# Multimodal request with image
payload = {
"messages": [
{
"role": "user",
"content": [
{
"type": "image_url",
"image_url": {"url": f"data:image/png;base64,{image_base64}"}
},
{
"type": "text",
"text": "What do you see in this image? Describe the UI elements."
}
]
}
],
"model": "qwen/qwen3.5-397b-a17b",
"max_tokens": 1024,
}
response = requests.post(invoke_url, headers=headers, json=payload)
result = response.json()
print(result['choices'][0]['message']['content'])
PythonおよびJavaScriptのコード例
Python: 完全な統合例
import os
import requests
from requests.exceptions import RequestException
class QwenClient:
"""Python client for Qwen3.5 API"""
def __init__(self, api_key=None):
self.api_key = api_key or os.getenv("NVIDIA_API_KEY")
self.endpoint = "https://integrate.api.nvidia.com/v1/chat/completions"
self.model = "qwen/qwen3.5-397b-a17b"
def chat(self, message, system_prompt=None, **kwargs):
"""Send a chat message to Qwen3.5"""
headers = {
"Authorization": f"Bearer {self.api_key}",
"Content-Type": "application/json"
}
messages = []
if system_prompt:
messages.append({"role": "system", "content": system_prompt})
messages.append({"role": "user", "content": message})
payload = {
"messages": messages,
"model": self.model,
"max_tokens": kwargs.get("max_tokens", 2048),
"temperature": kwargs.get("temperature", 0.7),
"top_p": kwargs.get("top_p", 0.9),
}
# Enable thinking mode if requested
if kwargs.get("thinking", False):
payload["chat_template_kwargs"] = {"thinking": True}
try:
response = requests.post(
self.endpoint,
headers=headers,
json=payload,
timeout=kwargs.get("timeout", 60)
)
response.raise_for_status()
return response.json()
except RequestException as e:
return {"error": str(e)}
def chat_with_image(self, message, image_path, **kwargs):
"""Send a chat message with image to Qwen3.5"""
import base64
with open(image_path, "rb") as f:
image_base64 = base64.b64encode(f.read()).decode("utf-8")
headers = {
"Authorization": f"Bearer {self.api_key}",
"Content-Type": "application/json"
}
payload = {
"messages": [{
"role": "user",
"content": [
{"type": "image_url", "image_url": {"url": f"data:image/png;base64,{image_base64}"}},
{"type": "text", "text": message}
]
}],
"model": self.model,
"max_tokens": kwargs.get("max_tokens", 2048),
"temperature": kwargs.get("temperature", 0.7),
}
response = requests.post(self.endpoint, headers=headers, json=payload)
response.raise_for_for_status()
return response.json()
# Usage example
client = QwenClient(api_key="YOUR_NVIDIA_API_KEY")
# Text-only chat
result = client.chat("Explain Mixture of Experts architecture in simple terms")
print(result['choices'][0]['message']['content'])
# Multimodal chat
result = client.chat_with_image(
"What UI elements are in this screenshot?",
"screenshot.png"
)
print(result['choices'][0]['message']['content'])
JavaScript/Node.js: 完全な統合例
const axios = require('axios');
class QwenClient {
constructor(apiKey) {
this.apiKey = apiKey;
this.endpoint = 'https://integrate.api.nvidia.com/v1/chat/completions';
this.model = 'qwen/qwen3.5-397b-a17b';
}
async chat(message, options = {}) {
const { systemPrompt, temperature = 0.7, maxTokens = 2048, thinking = false } = options;
const messages = [];
if (systemPrompt) {
messages.push({ role: 'system', content: systemPrompt });
}
messages.push({ role: 'user', content: message });
const payload = {
messages,
model: this.model,
temperature,
max_tokens: maxTokens,
...(thinking && { chat_template_kwargs: { thinking: true } })
};
try {
const response = await axios.post(this.endpoint, payload, {
headers: {
'Authorization': `Bearer ${this.apiKey}`,
'Content-Type': 'application/json'
},
timeout: 60000
});
return response.data;
} catch (error) {
console.error('API Error:', error.response?.data || error.message);
throw error;
}
}
async chatWithImage(message, imageBase64, options = {}) {
const { temperature = 0.7, maxTokens = 2048 } = options;
const payload = {
messages: [{
role: 'user',
content: [
{ type: 'image_url', image_url: { url: `data:image/png;base64,${imageBase64}` } },
{ type: 'text', text: message }
]
}],
model: this.model,
temperature,
max_tokens: maxTokens
};
const response = await axios.post(this.endpoint, payload, {
headers: {
'Authorization': `Bearer ${this.apiKey}`,
'Content-Type': 'application/json'
}
});
return response.data;
}
}
// Usage
const client = new QwenClient(process.env.NVIDIA_API_KEY);
// Text chat
const result = await client.chat('What is the advantage of MoE architecture?');
console.log(result.choices[0].message.content);
// With thinking enabled
const deepResult = await client.chat('Explain how reasoning works in LLMs', {
thinking: true
});
console.log(deepResult.choices[0].message.content);
高度な機能: 思考モードとツール呼び出し
思考モード
Qwen3.5は、モデルがその推論プロセスを示すことができる高度な「思考モード」をサポートしています。これは、複雑な問題解決タスクに特に役立ちます。
payload = {
"messages": [{"role": "user", "content": "Solve this step by step: If a train travels 120km in 2 hours, what is its speed?"}],
"model": "qwen/qwen3.5-397b-a17b",
"chat_template_kwargs": {"thinking": True},
"max_tokens": 4096,
}
response = session.post(invoke_url, headers=headers, json=payload)
result = response.json()
print(result['choices'][0]['message']['content'])
ツール呼び出し
Qwen3.5は、OpenAI互換ツールを通じた関数呼び出しをサポートしています。これにより、実際のアクションを実行できるエージェントアプリケーションを構築できます。
import json
# Define tools for the model to use
tools = [
{
"type": "function",
"function": {
"name": "get_weather",
"description": "Get current weather for a location",
"parameters": {
"type": "object",
"properties": {
"location": {"type": "string", "description": "City name"}
},
"required": ["location"]
}
}
}
]
payload = {
"messages": [
{"role": "user", "content": "What's the weather like in Tokyo?"}
],
"model": "qwen/qwen3.5-397b-a17b",
"tools": tools,
"tool_choice": "auto"
}
response = session.post(invoke_url, headers=headers, json=payload)
result = response.json()
# Check if model wants to call a tool
if 'tool_calls' in result['choices'][0]['message']:
tool_call = result['choices'][0]['message']['tool_calls'][0]
print(f"Model wants to call: {tool_call['function']['name']}")
print(f"Arguments: {tool_call['function']['arguments']}")
レート制限と料金体系の理解
現在の無料枠 (NVIDIA Developer Program)
| 機能 | 制限 |
|---|---|
| APIアクセス | 登録で無料 |
| GPUアクセラレーションされたエンドポイント | 含まれる |
| ブラウザでのテスト | 無制限 |
| レート制限 | 開発者ダッシュボードを確認 |
これがあなたにとって意味すること
- クレジットカード不要: 無料のNVIDIA Developer Programに登録するだけ
- GPUアクセラレーション: リクエストはNVIDIA Blackwell GPUで実行される
- 本番環境対応: 本番ワークロードで使用されるものと同じエンドポイント
本番環境へのスケール
- NVIDIA NIM: コンテナ化されたモデルをどこにでもデプロイ(クラウド、オンプレミス、ハイブリッド)
- NeMo: 特定のドメイン向けにモデルをカスタマイズする
- エンタープライズサポート: 専用インフラストラクチャについてはNVIDIAにお問い合わせください
NVIDIA NIMによる本番環境デプロイメント
NVIDIA NIM (NVIDIA Inference Microservices)は、Qwen3.5を開発から本番環境へ移行するのを容易にします。

NIMとは?
NIMは、AI推論用に事前に構築され、最適化されたコンテナを提供します。各NIMマイクロサービスには以下が含まれます。
- パフォーマンスが最適化されたモデル
- 標準化されたAPI(OpenAI互換)
- デプロイメントの柔軟性(クラウド、オンプレミス、エッジ)
NIMでQwen3.5をデプロイする
# Pull the Qwen3.5 NIM container
docker pull nvcr.io/nim/qwen/qwen3.5-397b-a17b:latest
# Run the container
docker run --gpus all --rm -p 8000:8000 \
-e NVIDIA_API_KEY=$NVIDIA_API_KEY \
nvcr.io/nim/qwen/qwen3.5-397b-a17b:latest
これで、モデルはhttp://localhost:8000/v1/chat/completionsでローカルに実行されています。
NIMの利点
- あらゆる場所へのデプロイ: オンプレミス、クラウド、またはハイブリッドで実行可能
- 最適化されたパフォーマンス: NVIDIA GPU推論に最適化
- 一貫性のあるAPI: OpenAI互換インターフェース
- スケーラブル: 開発から本番環境へシームレスにスケール
NVIDIA NeMoによるカスタマイズ
ドメイン固有のアプリケーション向けに、NVIDIA NeMoを使用してQwen3.5をファインチューニングできます。
NeMoフレームワークの機能
- 高スループットなファインチューニング: PyTorchネイティブなトレーニング
- LoRAサポート: メモリ効率の高いカスタマイズ
- マルチノードトレーニング: SlurmおよびKubernetesサポート
- Hugging Face統合: 既存のチェックポイントでの直接トレーニング
例: 医療VQAのためのファインチューニング
NVIDIAは、医療分野のVisual Question Answeringのために、Qwen3.5を放射線医学データセットでファインチューニングするための技術チュートリアルを提供しています。これにより、ヘルスケアのような専門分野向けにモデルを適応させる方法が示されています。
結論
Qwen3.5は、NVIDIAのデベロッパープラットフォームを通じて、最先端のマルチモーダルAIモデルを無料で利用できる魅力的な機会を提供します。3970億パラメータのMoEアーキテクチャ、ネイティブなビジョン機能、および無料APIアクセスにより、以下の用途に最適です。
- マルチモーダルAIエージェントの構築
- 視覚推論アプリケーションの開発
- 視覚的コンテキストを持つコーディングアシスタントの作成
- UIナビゲーションタスクの自動化
開始方法は簡単です。NVIDIA Developer Programに登録し、APIキーを取得して、構築を開始するだけです。
Qwen3.5や他のAI APIと統合するアプリケーションを構築する場合、Apidogは必要なテストインフラストラクチャを提供します。Apidogの包括的なプラットフォームで、API統合のテスト、応答の検証、環境変数の管理、テストワークフローの自動化を行ってください。
よくある質問
Qwen3.5は本当に無料で使えますか?
はい、NVIDIAはDeveloper Programを通じてQwen3.5のGPUアクセラレーションされたエンドポイントへの無料アクセスを提供しています。クレジットカードは不要です。build.nvidia.comで登録するだけでAPIキーを取得できます。
Qwen3.5は他のVLMと何が違うのですか?
Qwen3.5は、テキストのみのモデルから適応されたものではなく、自律エージェントのために特別に構築されました。エキスパートの混合アーキテクチャ(総パラメータ数3970億、アクティブパラメータ数170億)は、計算効率を維持しつつ強力な推論を提供します。特にUIナビゲーションや視覚推論タスクに優れています。
Qwen3.5を商用プロジェクトで使用できますか?
NVIDIAのプラットフォームで現在のライセンス条件を確認してください。本番環境での使用には、デプロイメント用にNVIDIA NIMを検討するか、エンタープライズオプションについてNVIDIAにお問い合わせください。
無料枠とNIMの違いは何ですか?
無料枠(Developer Program)はNVIDIAがホストするエンドポイントを使用します。NIMは、オンプレミス、クラウド、またはハイブリッド環境のいずれでも、コンテナを使用してモデルを自分でデプロイできます。NIMは本番規模のデプロイメント向けに設計されています。
レート制限はどのように対処すればよいですか?
無料枠には特定のレート制限があります。より高い制限が必要な場合は、NVIDIA NIMを通じて本番アクセスにアップグレードするか、エンタープライズオプションについてNVIDIAにお問い合わせください。
Qwen3.5をファインチューニングできますか?
はい、可能です!NVIDIA NeMoフレームワークは、ドメイン固有のデータでQwen3.5をファインチューニングするためのツールを提供します。これには、メモリ効率の高いカスタマイズのためのLoRAや、大規模なトレーニングのためのマルチノードサポートが含まれます。
