24 lines
2.3 KiB
JSON
24 lines
2.3 KiB
JSON
{
|
|
"id": "openai",
|
|
"type": "remote",
|
|
"engine": "openai",
|
|
"url": "https://platform.openai.com/account/api-keys",
|
|
"api_key": "",
|
|
"metadata": {
|
|
"get_models_url": "https://api.openai.com/v1/models",
|
|
"header_template": "Authorization: Bearer {{api_key}}",
|
|
"transform_req": {
|
|
"chat_completions": {
|
|
"url": "https://api.openai.com/v1/chat/completions",
|
|
"template": "{ {% set first = true %} {% for key, value in input_request %} {% if key == \"model\" or key == \"temperature\" or key == \"store\" or key == \"messages\" or key == \"stream\" or key == \"presence_penalty\" or key == \"metadata\" or key == \"frequency_penalty\" or key == \"tools\" or key == \"tool_choice\" or key == \"logprobs\" or key == \"top_logprobs\" or key == \"logit_bias\" or key == \"n\" or key == \"modalities\" or key == \"prediction\" or key == \"response_format\" or key == \"service_tier\" or key == \"seed\" or key == \"stream_options\" or key == \"top_p\" or key == \"parallel_tool_calls\" or key == \"user\" or key == \"max_tokens\" or ((input_request.model == \"o1\" or input_request.model == \"o1-preview\" or input_request.model == \"o1-mini\" or input_request.model == \"o3\" or input_request.model == \"o3-mini\") and (key == \"stop\")) %} {% if not first %} , {% endif %} {% if key == \"messages\" and (input_request.model == \"o1\" or input_request.model == \"o1-preview\" or input_request.model == \"o1-mini\") and input_request.messages.0.role == \"system\" %} \"messages\": [{% for message in input_request.messages %} {% if not loop.is_first %} { \"role\": \"{{ message.role }}\", \"content\": \"{{ message.content }}\" } {% if not loop.is_last %} , {% endif %} {% endif %} {% endfor %}] {% else if key == \"max_tokens\" and (input_request.model == \"o1\" or input_request.model == \"o1-preview\" or input_request.model == \"o1-mini\" or input_request.model == \"o3\" or input_request.model == \"o3-mini\") %} \"max_completion_tokens\": {{ tojson(value) }} {% set first = false %} {% else %} \"{{ key }}\": {{ tojson(value) }} {% set first = false %} {% endif %} {% endif %} {% endfor %} }"
|
|
}
|
|
},
|
|
"transform_resp": {
|
|
"chat_completions": {
|
|
"template": "{{tojson(input_request)}}"
|
|
}
|
|
},
|
|
"explore_models_url": "https://platform.openai.com/docs/models"
|
|
}
|
|
}
|