API 利用方法
PLaMo は、Preferred Networks が独自開発した国産の生成 AI 基盤モデルです。 既存の大規模言語モデルをベースに用いず、まったく新規に独自開発しており、日本語の応答、日英の翻訳性能に優れています。
本ドキュメントでは、PLaMo を Web API 経由で利用する方法について説明します。
APIキーの発行
PLaMoのAPI機能をご利用いただくためには、APIキーの発行が必要です。 APIキーを使用することで、HTTPリクエストを通じてPLaMoの機能にアクセスできます。
APIキーの発行のためにはアカウントを作成する必要があります。こちらからアカウントを作成してください。その後、ProfileページからAPIキーを作成してください。このAPIキーは厳重に管理し、他者と共有しないようにしてください。
発行したAPIキーは以下のように環境変数に設定してください。
export PLAMO_API_KEY="your_api_key"リクエスト発行
APIキーを環境変数に設定することで、PLaMo APIをご利用できます。 APIにはHTTPクライアントや、LLM APIを利用する各種ライブラリ経由でアクセスできます。
このドキュメントではcurl、およびPythonのlangchain-openaiライブラリ、openaiライブラリを利用したアクセス方法を紹介します。
curlを使ったリクエスト
PLaMo APIはWeb APIを提供しているため、curlなどのツールを利用してアクセスできます。 次の例は、前述の PLAMO_API_KEY が設定されていることを前提としています。
$ curl \
-H "Authorization: Bearer ${PLAMO_API_KEY}" \
-H "Content-Type: application/json" \
"https://api.platform.preferredai.jp/v1/chat/completions" \
-d @- << EOF
{
"messages": [
{
"role": "system",
"content": "あなたは旅行アドバイザーです"
},
{
"role": "user",
"content": "金沢で朝から夕方まで1日のおすすめの観光ルートを教えて下さい"
}
],
"model": "plamo-2.2-prime"
}
EOFこれを実行すると、以下のような結果が表示されます。なお、実際に生成されるテキストは同一の入力とは限りません。
{
"id": "chat-random-id-string",
"object": "chat.completion",
"created": 1234567890,
"model": "plamo-2.2-prime",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "金沢で朝から夕方までのおすすめの観光ルートをご紹介します。\n\n\n【午前】\n\n兼六園を散策....(ドキュメントでは省略しています)",
"tool_calls": []
},
"logprobs": null,
"finish_reason": "stop",
"stop_reason": null
}
],
"usage": {
"prompt_tokens": 100,
"total_tokens": 350,
"completion_tokens": 250
},
"prompt_logprobs": null
}Pythonでlangchain-openaiを使ったリクエスト
PLaMo APIは、langchain-openaiライブラリとのおおよその互換性があるため、このライブラリを利用できます。 なお、このライブラリは別の環境変数を利用するため、次のように別の環境変数名を利用してください。
export OPENAI_API_KEY=$PLAMO_API_KEYライブラリは次の手順でインストールしてください。
pip install langchain-openaiインストールが完了したら、次のファイルを plamo_example.py として作成してください。
import os
from langchain_openai import ChatOpenAI
llm = ChatOpenAI(
base_url="https://api.platform.preferredai.jp/v1",
model="plamo-2.2-prime",
streaming=True,
# other params...,
)
messages=[
{"role": "system", "content": "あなたは旅行アドバイザーです"},
{"role": "user", "content": "金沢で朝から夕方まで1日のおすすめの観光ルートを教えて下さい"},
]
for chunk in llm.stream(messages):
print(chunk.content, end="", flush=True)次のように実行すると、PLaMo APIにPython経由でアクセスできます。
python plamo_example.pyPythonでopenaiライブラリを使ったリクエスト
PLaMo APIは、openaiライブラリとの互換性があるため、このライブラリを利用できます。 なお、このライブラリも別の環境変数を利用するため、次のように別の環境変数名を利用してください。
export OPENAI_API_KEY=$PLAMO_API_KEYライブラリは次の手順でインストールしてください。
pip install openaiインストールが完了したら、次のファイルを plamo_example.py として作成してください。
import os
from openai import OpenAI
client = OpenAI(
base_url="https://api.platform.preferredai.jp/v1",
# other params...,
)
completion = client.chat.completions.create(
model="plamo-2.2-prime",
messages=[
{"role": "system", "content": "あなたは旅行アドバイザーです"},
{"role": "user", "content": "金沢で朝から夕方まで1日のおすすめの観光ルートを教えて下さい"},
],
stream=True,
)
for chunk in completion:
if chunk.choices and chunk.choices[0].delta.content is not None:
print(chunk.choices[0].delta.content, end="", flush=True)次のように実行すると、PLaMo APIにPython経由でアクセスできます。
python plamo_example.py次のステップ
APIキーを組織として管理したい、利用量に制限をかけたいなどの用途にはコンソールからプロジェクトを作成してください。 コンソールの使い方は PLaMo API コンソールマニュアル を参照ください。
また、APIのパラメータの種類やデフォルト値などの完全な資料はAPIリファレンスに記載されています。
