Skip to content

Commit

Permalink
move chatcomplete to index.ts and remove unused
Browse files Browse the repository at this point in the history
  • Loading branch information
ilsubyeega committed Sep 7, 2024
1 parent 1c35cf8 commit 60b0e5f
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 61 deletions.
56 changes: 0 additions & 56 deletions src/providers/sambanova/chatComplete.ts
Original file line number Diff line number Diff line change
@@ -1,28 +1,4 @@
import { SAMBANOVA } from '../../globals';
import { OpenAIChatCompleteResponse } from '../openai/chatComplete';
import { ErrorResponse } from '../types';

export interface SambaNovaChatCompleteResponse
extends OpenAIChatCompleteResponse {
usage?:
| {
prompt_tokens: number;
completion_tokens: number;
completion_tokens_after_first_per_sec: number;
completion_tokens_after_first_per_sec_first_ten: number;
completion_tokens_per_sec: number;
end_time: number;
is_last_response: number;
start_time: number;
time_to_first_token: number;
total_tokens: number;
total_latency: number;
total_tokens_per_sec: number;
}
| OpenAIChatCompleteResponse['usage'];
}

export interface SambaNovaErrorResponse extends ErrorResponse {}

export interface SambaNovaStreamChunk {
id: string;
Expand Down Expand Up @@ -54,38 +30,6 @@ export interface SambaNovaStreamChunk {
};
}

export const SambaNovaChatCompleteResponseTransform: (
response: SambaNovaChatCompleteResponse | SambaNovaErrorResponse,
isError?: boolean
) => OpenAIChatCompleteResponse | ErrorResponse = (response, isError) => {
if (isError || 'choices' in response === false) {
return response;
}

return {
id: response.id,
object: response.object,
created: response.created,
model: response.model,
provider: SAMBANOVA,
choices: response.choices.map((c) => ({
index: c.index,
message: {
role: 'assistant',
...(c.message as any),
},
logprobs: c.logprobs,
finish_reason: c.finish_reason,
})),
system_fingerprint: response.system_fingerprint,
usage: {
prompt_tokens: response.usage?.prompt_tokens || 0,
completion_tokens: response.usage?.completion_tokens || 0,
total_tokens: response.usage?.total_tokens || 0,
},
};
};

export const SambaNovaChatCompleteStreamChunkTransform: (
response: string
) => string = (responseChunk) => {
Expand Down
25 changes: 20 additions & 5 deletions src/providers/sambanova/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,7 @@ import { SAMBANOVA } from '../../globals';
import { chatCompleteParams, responseTransformers } from '../open-ai-base';
import { ProviderConfigs } from '../types';
import SambaNovaAPIConfig from './api';
import {
SambaNovaChatCompleteResponseTransform,
SambaNovaChatCompleteStreamChunkTransform,
} from './chatComplete';
import { SambaNovaChatCompleteStreamChunkTransform } from './chatComplete';

const SambaNovaConfig: ProviderConfigs = {
chatComplete: chatCompleteParams(
Expand All @@ -29,7 +26,25 @@ const SambaNovaConfig: ProviderConfigs = {
api: SambaNovaAPIConfig,
responseTransforms: {
...responseTransformers(SAMBANOVA, {
chatComplete: SambaNovaChatCompleteResponseTransform,
chatComplete: (response, isError) => {
if (isError || 'choices' in response === false) return response;

return {
...response,
choices: response.choices.map((choice) => ({
...choice,
message: {
role: 'assistant',
...(choice.message as any),
},
})),
usage: {
prompt_tokens: response.usage?.prompt_tokens || 0,
completion_tokens: response.usage?.completion_tokens || 0,
total_tokens: response.usage?.total_tokens || 0,
},
};
},
}),
'stream-chatComplete': SambaNovaChatCompleteStreamChunkTransform,
},
Expand Down

0 comments on commit 60b0e5f

Please sign in to comment.