クラウドタイプの文章生成をProxyサーバを経由して行うことができます。
API KEYをクライアントに配置しないためセキュアに生成処理が可能になります。
Model ManagerにてUse Proxy Serverをチェックして設定が可能です。
ValorAIは、以下の形式のJSONを Proxy Token付きで Proxy URL に対して POST します:
{
"url": {API URL},
"body": {
"model": {Model Name},
.... // OpenAI APIのリクエストパラメータ
}
}
Proxyサーバは上記のリクエストを受け取ってOpen AI APIと通信、応答そのままクライアントに返すことで生成処理が行えます
サンプルとして以下にAWS Lambdaのスクリプトを記載します
import json
import requests
def lambda_handler(event, context):
body = event.get("body", "{}")
API_KEY = "XXX"
try:
payload = json.loads(body)
headers = {
"Authorization": f"Bearer {API_KEY}",
"Content-Type": "application/json"
}
response = requests.post(payload["url"], headers=headers, json=payload["body"])
except json.JSONDecodeError:
return {
"statusCode": 400,
"body": json.dumps({"error": "Invalid JSON"})
}
return {
'statusCode': 200,
'body': json.dumps(response.json())
}
Proxy TokenはRuntime側でも設定が可能です。JWT等で認証・Tokenを取得してSetAllProxyTokenやSetProxyTokenでセットできます。詳細はAPIリファレンスを参照してください。