diff --git a/src/globals.ts b/src/globals.ts index de18db6bb..a54adc980 100644 --- a/src/globals.ts +++ b/src/globals.ts @@ -80,6 +80,7 @@ export const SAGEMAKER: string = 'sagemaker'; export const NEBIUS: string = 'nebius'; export const RECRAFTAI: string = 'recraft-ai'; export const MILVUS: string = 'milvus'; +export const REPLICATE: string = 'replicate'; export const VALID_PROVIDERS = [ ANTHROPIC, @@ -132,6 +133,7 @@ export const VALID_PROVIDERS = [ NEBIUS, RECRAFTAI, MILVUS, + REPLICATE, POWERED_BY, ]; diff --git a/src/providers/azure-openai/chatComplete.ts b/src/providers/azure-openai/chatComplete.ts index 944aa9b5d..79a00b399 100644 --- a/src/providers/azure-openai/chatComplete.ts +++ b/src/providers/azure-openai/chatComplete.ts @@ -105,6 +105,9 @@ export const AzureOpenAIChatCompleteConfig: ProviderConfig = { prediction: { param: 'prediction', }, + reasoning_effort: { + param: 'reasoning_effort', + }, }; interface AzureOpenAIChatCompleteResponse extends ChatCompletionResponse {} diff --git a/src/providers/index.ts b/src/providers/index.ts index 545ac1632..9dc4027ea 100644 --- a/src/providers/index.ts +++ b/src/providers/index.ts @@ -53,6 +53,7 @@ import SagemakerConfig from './sagemaker'; import NebiusConfig from './nebius'; import RecraftAIConfig from './recraft-ai'; import MilvusConfig from './milvus'; +import ReplicateConfig from './replicate'; const Providers: { [key: string]: ProviderConfigs } = { openai: OpenAIConfig, @@ -106,6 +107,7 @@ const Providers: { [key: string]: ProviderConfigs } = { nebius: NebiusConfig, 'recraft-ai': RecraftAIConfig, milvus: MilvusConfig, + replicate: ReplicateConfig, }; export default Providers; diff --git a/src/providers/replicate/api.ts b/src/providers/replicate/api.ts new file mode 100644 index 000000000..9e9f4c475 --- /dev/null +++ b/src/providers/replicate/api.ts @@ -0,0 +1,11 @@ +import { ProviderAPIConfig } from '../types'; + +const ReplicateApiConfig: ProviderAPIConfig = { + getBaseURL: () => 'https://api.replicate.com/v1', + headers: ({ providerOptions }) => { + return { Authorization: `Bearer ${providerOptions.apiKey}` }; + }, + getEndpoint: ({ fn }) => '', +}; + +export default ReplicateApiConfig; diff --git a/src/providers/replicate/index.ts b/src/providers/replicate/index.ts new file mode 100644 index 000000000..4c9c25052 --- /dev/null +++ b/src/providers/replicate/index.ts @@ -0,0 +1,9 @@ +import { ProviderConfigs } from '../types'; +import ReplicateAPIConfig from './api'; + +const ReplicateConfig: ProviderConfigs = { + api: ReplicateAPIConfig, + responseTransforms: {}, +}; + +export default ReplicateConfig;