providers:
my_custom_service:
base_url: "https://api.myservice.com"
headers:
Authorization: "Bearer {{API_KEY}}"
Content-Type: "application/json"
Accept: "application/json"
timeout: 30
endpoints:
predict:
path: "/v1/predict"
method: "POST"
body_template: |
{
"model": "{{model_version}}",
"input": {{input_data}}
}
analytics:
path: "/v1/analytics/{{metric}}"
method: "GET"
query_params:
start: "{{start_date}}"
end: "{{end_date}}"
openai:
base_url: "https://api.openai.com"
headers:
Authorization: "Bearer {{API_KEY}}"
Content-Type: "application/json"
timeout: 60
endpoints:
chat:
path: "/v1/chat/completions"
method: "POST"
body_template: |
{
"model": "{{model}}",
"messages": {{messages}},
"temperature": {{temperature}},
"max_tokens": {{max_tokens}}
}
embeddings:
path: "/v1/embeddings"
method: "POST"
body_template: |
{
"model": "{{model}}",
"input": "{{text}}"
}
gemini:
base_url: "https://generativelanguage.googleapis.com"
headers:
Content-Type: "application/json"
endpoints:
generate:
path: "/v1beta/models/{{model}}:generateContent"
method: "POST"
query_params:
key: "{{API_KEY}}"
body_template: |
{
"contents": [{
"parts": [{
"text": "{{prompt}}"
}]
}]
}
anthropic:
base_url: "https://api.anthropic.com"
headers:
x-api-key: "{{API_KEY}}"
anthropic-version: "2023-06-01"
Content-Type: "application/json"
timeout: 90
endpoints:
messages:
path: "/v1/messages"
method: "POST"
body_template: |
{
"model": "{{model}}",
"max_tokens": {{max_tokens}},
"messages": {{messages}}
}