Open9
OpenRouterを用いたAIプロダクト開発

OPENROUTER_API_KEYだけを利用することで、各種モデルが利用可能

モデルも多様
新しいモデルのDeepSeekのv3も対象

Open RouterのAPI経由で叩ける
import requests
import json
response = requests.post(
url="https://openrouter.ai/api/v1/chat/completions",
headers={
"Authorization": "Bearer <OPENROUTER_API_KEY>",
"HTTP-Referer": "<YOUR_SITE_URL>", # Optional. Site URL for rankings on openrouter.ai.
"X-Title": "<YOUR_SITE_NAME>", # Optional. Site title for rankings on openrouter.ai.
},
data=json.dumps({
"model": "openai/gpt-3.5-turbo", # Optional
"messages": [
{
"role": "user",
"content": "What is the meaning of life?"
}
]
})
)

各種モデルとプロバイダー間の差分を抽象化してくれる

抽象化されている分、パラメーターとかはモデルごとに使えるかや意味を調べる必要はあるが、APIは一つで済むのでだいぶ実装はやりやすくなる
というか、ファインチューニングをせずにAPIを使う形であれば、モデルの試行がやりやすくなる
DeepSeek v3とかはAPI利用でもサービス改善にデータを利用される。なので、もちろん利用する際の利用規約周りはモデルごとに調べる必要がある
その辺は、OpenRouterのモデルの部分に記載がある 👏

99.99%

Pricingはモデルごとに記載の通り

素晴らしいまとめに感謝
OpenRouterはクレジットチャージ時に、5%+$0.5のサービス利用料を余分に取る
なるほど。

APIを直で使うよりもStructured OutputがOpenAI以外だと超不安定(3回に一回は失敗するイメージ)
APIを直で使うよりも時間帯によっては不安定(特にDeepseek)
API on APIの形なので不安定なのは否めない様子。
まぁ開発リソース少ない中で試すには仕方ないし、手軽にモデル変えつつ試せるならいいと思った
プロダクトから使う場合は、非同期処理かつリトライ処理も挟めば初めの一歩は踏み出しやすいと思う