モデル比較

Llama 3.1 8B Instruct vs Qwen3.7 Max

料金・コンテキスト長・実際の回答で比較(2026年9月時点)

Llama 3.1 8B Instruct(Meta)とQwen3.7 Max(Qwen)を、FastMetalのゲートウェイで実際に呼び出せる条件で比較します。どちらも同じOpenAI互換エンドポイントとAPIキーから利用でき、切り替えは model の文字列を変えるだけです。

スペックと料金

meta-llama logoLlama 3.1 8B Instructqwen logoQwen3.7 Max
提供元MetaQwen
入力(100万トークンあたり)¥8.94¥263.58
出力(100万トークンあたり)¥14.3¥790.75
想定コスト(入力1,000・出力500トークン × 1,000回)¥16¥659
コンテキスト長131,072 トークン1,000,000 トークン
リリース日2024/7/232026/5/21
入力モダリティtexttext
生成速度 (p50)
アリーナ 総合#329 · ELO 1,211#34 · ELO 1,473
アリーナ 日本語#243 · ELO 1,087圏外
アリーナ コーディング#323 · ELO 1,260#21 · ELO 1,525

料金はFastMetalの円建て単価(税別)。アリーナ順位は公開リーダーボードの最新取得時点の値です。

どちらを選ぶべきか

  • 料金重視ならLlama 3.1 8B Instruct。出力100万トークンあたり¥14.3で、Qwen3.7 Maxより98%安くなります。
  • 総合の評価はアリーナ順位でQwen3.7 Maxが上です(34位。Llama 3.1 8B Instructは329位)。
  • コーディングの評価はアリーナ順位でQwen3.7 Maxが上です(21位。Llama 3.1 8B Instructは323位)。
  • 長い文書を扱うならQwen3.7 Max。コンテキスト長は1,000,000トークンで、Llama 3.1 8B Instructの131,072トークンより広くとれます。
  • 迷ったら両方を同じキーで試せます。model の文字列を変えるだけで切り替わり、料金はそれぞれの単価で従量課金されます。

同じプロンプトへの実際の回答

FastMetalのゲートウェイが返した回答をそのまま並べています。ベンチマークの数字ではなく、実際の出力です。

このエラーをデバッグして

以下のエラーがPythonアプリケーションで発生しています。原因を特定して修正してください。 Traceback (most recent call last): File "app.py", line 23, in get_user_orders total = sum(order["price"] * order["quantity"] for order in orders) TypeError: unsupport…

Llama 3.1 8B Instruct

問題は、`order["price"]` が文字列 (`str`) で、`order["quantity"]` が整数 (`int`) であることです。 これは、`orders` がリストではなく、文字列のリストであるためです。 `db.query()` の結果は文字列のリストであるため、各文字列をリストの要素として取得する必要があります。 修正は次のとおりです。 ```python def get_user_orders(user_id): orders = db.query("SELECT price, quantity FROM orders WHERE user_id = %s", user_id) orders = [order for order in orders] # リストの要素として取得する total = sum(float(order["price"]) * int(order["quantity"]) for order in orders) return {"user_id": user_id, "total": total, "orders": orders} ``` また、`float(order["price"])` と `int(order["quantity"])` を使用しているのは、`price` と `quantity` が文字列の場合、演算子 `*` の両側のオペランドが数値でないためです。
応答時間 6.9秒出力 241 トークン

Qwen3.7 Max

### 結論:エラーの原因 このエラーの原因は、**データベースから取得した `order["price"]`(または `order["quantity"]`)が数値型(`int` や `float`)ではなく、文字列型(`str`)として返ってきている**ことです。 Pythonでは本来 `"100" * 2` のような「文字列 × 整数」の演算は `"100100"` という文字列の繰り返しとして処理されますが、フレームワークやORMの内部処理、あるいは実際には `float` と `str` の演算であった場合などに `TypeError` として数学的な乗算エラーが送出されます。 いずれにせよ、**「数値計算をしたいのに、データが文字列になっている」** ことが根本原因です。これは、データベース側の `price` カラムが `VARCHAR` や `TEXT` 型で定義されている場合によく起こります。 --- ### 修正方法 アプローチは3つあります。状況に合わせて選択してください。 #### 1. Python側で型変換する(即効性のある修正) コード上で明示的に数値(`float` または `int`)にキャストします。価格には小数が含まれる可能性があるため、`float()` を使うのが安全です。 ```python def get_user_orders(user_id): orders = db.query("SELECT price, quantity FROM orders WHERE user_id = %s", user_id…
応答時間 59.2秒出力 3324 トークン

コードレビュー

以下のTypeScript関数をレビューして、可読性・パフォーマンス・ベストプラクティスの観点から改善点を提案してください。 async function fetchAllUsers(page: number = 1): Promise<any[]> { let allUsers: any[] = []; let hasMore = true; let currentPage = page; while (hasMo…

Llama 3.1 8B Instruct

以下の改善点を提案します。 ### 可読性 - **関数名**: `fetchAllUsers`は関数の目的をよく表していますが、`page`パラメータのデフォルト値は`1`に設定されているため、`page`パラメータは実際には`optional`なので、関数名を`fetchUsers`に変更してみましょう。 - **変数名**: `allUsers`、`hasMore`、`currentPage`の変数名はわかりやすいですが、`data`と`user`の変数名は少し短すぎます。`data`は`usersData`に、`user`は`userData`に変更してみましょう。 - **コーディングスタイル**: 1行のコードの数が多い場合、`for`ループ内に`if`ステートメントを追加する場合、または`while`ループ内に条件を追加する場合、改善するためにコードを整理する必要があります。 ### パフォーマンス - **HTTPリクエスト**: 1度に100個のユーザーを取得しますが、実際には何個のユーザーを取得する必要があるかを判断するためのロジックはありません。ユーザーが100個以上ある場合、`while`ループは無限に続き続きます。これは、パフォーマンスが低下する可能性があります。 - **パフォーマンスを改善するために、`fetch` APIの`keepalive`オプションを使用してください**。 ### ベストプラクティス - **関数内でロジックを整理するために、`for`ループを`map`関数に置き換えてください**。これにより、コードを簡略化し、…
応答時間 43.6秒出力 783 トークン

Qwen3.7 Max

ご提示いただいたコードは、ページネーションの処理やデータの整形など、基本的なロジックは正しく実装されています。 しかし、**TypeScriptの型安全性、エラーハンドリング、可読性、そして大規模データ時のパフォーマンス(メモリ消費)** の観点から、いくつか重要な改善点があります。 以下にレビュー結果と、改善後のコードを提案します。 --- ### 🔍 レビューポイント #### 1. 型安全性 (TypeScriptベストプラクティス) * **`any` の多用:** `Promise<any[]>` や `data` が `any` になっているため、TypeScriptの恩恵(補完やコンパイル時のエラー検知)が得られていません。APIレスポンスと返却用のインターフェースを定義すべきです。 * **プロパティアクセスの危険性:** `data.users` が存在しない(または `null` / `undefined`)場合にランタイムエラー(`TypeError`)が発生するリスクがあります。 #### 2. エラーハンドリングと堅牢性 * **HTTPステータスコードの未確認:** `fetch` はネットワークエラー(オフライン等)以外ではエラーを投げません(404や500でも成功とみなされます)。`response.ok` のチェックが必須です。 * **無限ループのリスク:** サーバー側のバグで常に100件返却され続けた場合、無限ループに陥ります。セーフティネット(最大ページ数や総件数のチェック)があると安心です。 #### 3. 可読性 *…
応答時間 73.1秒出力 3915 トークン

SQLクエリの最適化

以下のSQLクエリは500万行のテーブルに対して実行すると30秒以上かかります。最適化してください。 SELECT p.product_name, c.category_name, COUNT(o.order_id) as order_count, SUM(o.amount) as total_sales, AVG(r.rating) as avg_rating FROM products p LEFT JOIN…

Llama 3.1 8B Instruct

このクエリは複雑で、さまざまなテーブル間のジョインを含んでいます。以下は改善点と最適化策です。 ### 1. インデックスの追加 現在、インデックスは `products(id)` と `orders(order_id)` しか存在しません。クエリは `categories(id)`、`order_details(product_id)`、`reviews(product_id)` にもアクセスします。したがって、インデックスを追加してクエリが実行速度を向上させることができます。 ```sql CREATE INDEX idx_categories_id ON categories(id); CREATE INDEX idx_order_details_product_id ON order_details(product_id); CREATE INDEX idx_reviews_product_id ON reviews(product_id); ``` ### 2. テーブル間のJOINの最適化 JOINは複雑で、JOINが繰り返されるとクエリの実行速度が下がります。クエリ内のJOINを最適化するには、必要なカラムをJOINする前にSELECTを使用します。 ```sql SELECT p.product_name, c.category_name, COUNT(o.order_id) as order_count, SUM(o.amount) as total_sales, AVG(r.rating) as avg_rating FROM…
応答時間 38.0秒出力 1025 トークン

Qwen3.7 Max

提示されたSQLクエリには、**パフォーマンスを著しく低下させる構造的な問題(直積の発生)**と、**意図しないデータ抽出(暗黙のINNER JOIN)**、そして**インデックスの不足**という3つの重大な問題があります。 以下に最適化されたクエリと、必要なインデックス、そして改善点の詳細な解説を提示します。 --- ### 1. 最適化されたSQLクエリ ```sql WITH SalesAgg AS ( -- 1. 注文と注文詳細を先に集計し、商品IDごとの売上を作る SELECT od.product_id, COUNT(o.order_id) AS order_count, SUM(o.amount) AS total_sales FROM orders o INNER JOIN order_details od ON od.order_id = o.order_id WHERE o.status = '完了' AND o.created_at >= '2024-04-01' GROUP BY od.product_id ) SELECT p.product_name, c.category_name, s.order_count, s.total_sales, -- 3. レビューの平均はLIMIT 50件に対してのみ計算する(相関サブクエリ) (SELECT AVG(r.rating) FROM reviews r WHERE r.product_id = p.id) AS a…
応答時間 81.9秒出力 4393 トークン

他のプロンプトでも比較する →

よくある質問

Llama 3.1 8B InstructとQwen3.7 Max、料金はどちらが安いですか?
出力100万トークンあたりLlama 3.1 8B Instructは¥14.3、Qwen3.7 Maxは¥790.75で、Llama 3.1 8B Instructの方が安くなります(FastMetalの円建て単価・税別)。
Llama 3.1 8B InstructとQwen3.7 Maxのコンテキスト長の違いは?
Llama 3.1 8B Instructは131,072トークン、Qwen3.7 Maxは1,000,000トークンです。
Llama 3.1 8B InstructとQwen3.7 Max、評価が高いのはどちらですか?
公開アリーナの順位ではQwen3.7 Maxが上です(Llama 3.1 8B Instruct 243位、Qwen3.7 Max 34位)。順位はリーダーボードの更新で変わります。
Llama 3.1 8B InstructとQwen3.7 Maxを同じAPIキーで使えますか?
はい。FastMetalのOpenAI互換エンドポイントで、model に "llama-3.1-8b-instruct" または "qwen3.7-max" を指定するだけで切り替えられます。料金はそれぞれの単価で、同じ前払い残高から従量課金されます。

どちらも同じAPIキーで試せます

アカウントを作成してクレジットを追加すれば、Llama 3.1 8B InstructとQwen3.7 MaxをブラウザのチャットとAPIの両方から呼び出せます。月額料金はありません。

Llama 3.1 8B Instructの他の比較

Qwen3.7 Maxの他の比較