Skip to content

Commit b599b18

Browse files
authored
Merge branch 'main' into feat/302AI-integration
2 parents ec3dac4 + 6b97d16 commit b599b18

File tree

13 files changed

+56
-37
lines changed

13 files changed

+56
-37
lines changed

package-lock.json

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@portkey-ai/gateway",
3-
"version": "1.11.0",
3+
"version": "1.11.1",
44
"description": "A fast AI gateway by Portkey",
55
"repository": {
66
"type": "git",

src/handlers/responseHandlers.ts

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ import { anthropicMessagesJsonToStreamGenerator } from '../providers/anthropic-b
3737
export async function responseHandler(
3838
response: Response,
3939
streamingMode: boolean,
40-
provider: string | Options,
40+
providerOptions: Options,
4141
responseTransformer: string | undefined,
4242
requestURL: string,
4343
isCacheHit: boolean = false,
@@ -53,17 +53,16 @@ export async function responseHandler(
5353
let responseTransformerFunction: Function | undefined;
5454
const responseContentType = response.headers?.get('content-type');
5555
const isSuccessStatusCode = [200, 246].includes(response.status);
56-
57-
if (typeof provider == 'object') {
58-
provider = provider.provider || '';
59-
}
56+
const provider = providerOptions.provider;
6057

6158
const providerConfig = Providers[provider];
6259
let providerTransformers = Providers[provider]?.responseTransforms;
6360

6461
if (providerConfig?.getConfig) {
65-
providerTransformers =
66-
providerConfig.getConfig(gatewayRequest).responseTransforms;
62+
providerTransformers = providerConfig.getConfig({
63+
params: gatewayRequest,
64+
providerOptions,
65+
}).responseTransforms;
6766
}
6867

6968
// Checking status 200 so that errors are not considered as stream mode.

src/handlers/services/responseService.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ export class ResponseService {
8282
return await responseHandler(
8383
response,
8484
this.context.isStreaming,
85-
this.context.provider,
85+
this.context.providerOption,
8686
responseTransformer,
8787
url,
8888
isCacheHit,

src/providers/bedrock/api.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,7 @@ const BedrockAPIConfig: BedrockAPIConfigInterface = {
113113
providerOptions
114114
);
115115
if (foundationModel) {
116-
params.foundationModel = foundationModel;
116+
providerOptions.foundationModel = foundationModel;
117117
}
118118
}
119119
if (fn === 'retrieveFile') {

src/providers/bedrock/index.ts

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
import { AI21, ANTHROPIC, COHERE } from '../../globals';
2-
import { Params } from '../../types/requestBody';
32
import { ProviderConfigs } from '../types';
43
import BedrockAPIConfig from './api';
54
import { BedrockCancelBatchResponseTransform } from './cancelBatch';
@@ -90,13 +89,13 @@ const BedrockConfig: ProviderConfigs = {
9089
getBatchOutput: BedrockGetBatchOutputRequestHandler,
9190
retrieveFileContent: BedrockRetrieveFileContentRequestHandler,
9291
},
93-
getConfig: (params: Params) => {
92+
getConfig: ({ params, providerOptions }) => {
9493
// To remove the region in case its a cross-region inference profile ID
9594
// https://docs.aws.amazon.com/bedrock/latest/userguide/cross-region-inference-support.html
9695
let config: ProviderConfigs = {};
9796

9897
if (params.model) {
99-
let providerModel = params.foundationModel || params.model;
98+
let providerModel = providerOptions.foundationModel || params.model;
10099
providerModel = providerModel.replace(/^(us\.|eu\.)/, '');
101100
const providerModelArray = providerModel?.split('.');
102101
const provider = providerModelArray?.[0];

src/providers/bedrock/uploadFile.ts

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -142,7 +142,8 @@ class AwsMultipartUploadHandler {
142142
this,
143143
partNumber,
144144
purpose ?? 'batch',
145-
modelType ?? 'chat'
145+
modelType ?? 'chat',
146+
this.providerOptions
146147
);
147148
this.contentLength += uploadLength;
148149
partNumber++;
@@ -251,7 +252,8 @@ const transformAndUploadFileContentParts = async (
251252
handler: AwsMultipartUploadHandler,
252253
partNumber: number,
253254
purpose: string,
254-
modelType: string
255+
modelType: string,
256+
providerOptions: Options
255257
): Promise<[string, number]> => {
256258
let transformedChunkToUpload = '';
257259
const jsonLines = chunk.split('\n');
@@ -279,7 +281,11 @@ const transformAndUploadFileContentParts = async (
279281
}
280282
const transformedLine = {
281283
recordId: json.custom_id,
282-
modelInput: transformUsingProviderConfig(providerConfig, json.body),
284+
modelInput: transformUsingProviderConfig(
285+
providerConfig,
286+
json.body,
287+
providerOptions
288+
),
283289
};
284290
transformedChunkToUpload += JSON.stringify(transformedLine) + '\r\n';
285291
buffer = buffer.slice(line.length + 1);

src/providers/google-vertex-ai/index.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ import {
5454

5555
const VertexConfig: ProviderConfigs = {
5656
api: VertexApiConfig,
57-
getConfig: (params: Params) => {
57+
getConfig: ({ params }) => {
5858
const requestConfig = {
5959
uploadFile: {},
6060
createBatch: GoogleBatchCreateConfig,

src/providers/google-vertex-ai/uploadFile.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,8 @@ export const GoogleFileUploadRequestHandler: RequestHandler<
122122
const toTranspose = purpose === 'batch' ? json.body : json;
123123
const transformedBody = transformUsingProviderConfig(
124124
providerConfig,
125-
toTranspose
125+
toTranspose,
126+
providerOptions
126127
);
127128

128129
delete transformedBody['model'];

src/providers/stability-ai/index.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import { ProviderConfigs } from '../types';
22
import StabilityAIAPIConfig from './api';
3-
import { STABILITY_V1_MODELS } from './constants';
43
import {
54
StabilityAIImageGenerateV1Config,
65
StabilityAIImageGenerateV1ResponseTransform,
@@ -13,7 +12,7 @@ import { isStabilityV1Model } from './utils';
1312

1413
const StabilityAIConfig: ProviderConfigs = {
1514
api: StabilityAIAPIConfig,
16-
getConfig: (params: Params) => {
15+
getConfig: ({ params }) => {
1716
const model = params.model;
1817
if (typeof model === 'string' && isStabilityV1Model(model)) {
1918
return {

0 commit comments

Comments
 (0)