Skip to content

Commit 56c3573

Browse files
authored
Merge pull request #799 from narengogi/fix/groq/finish-reason
fix: groq finish reason mapping
2 parents ab7fa1c + b12e66d commit 56c3573

File tree

2 files changed

+11
-64
lines changed

2 files changed

+11
-64
lines changed

src/providers/groq/chatComplete.ts

Lines changed: 4 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -1,65 +1,10 @@
11
import { GROQ } from '../../globals';
2-
import {
3-
ChatCompletionResponse,
4-
ErrorResponse,
5-
ProviderConfig,
6-
} from '../types';
2+
import { ChatCompletionResponse, ErrorResponse } from '../types';
73
import {
84
generateErrorResponse,
95
generateInvalidProviderResponseError,
106
} from '../utils';
117

12-
export const GroqChatCompleteConfig: ProviderConfig = {
13-
model: {
14-
param: 'model',
15-
required: true,
16-
default: 'mixtral-8x7b-32768',
17-
},
18-
messages: {
19-
param: 'messages',
20-
default: '',
21-
},
22-
max_tokens: {
23-
param: 'max_tokens',
24-
default: 100,
25-
min: 0,
26-
},
27-
max_completion_tokens: {
28-
param: 'max_tokens',
29-
default: 100,
30-
min: 0,
31-
},
32-
temperature: {
33-
param: 'temperature',
34-
default: 1,
35-
min: 0,
36-
max: 2,
37-
},
38-
top_p: {
39-
param: 'top_p',
40-
default: 1,
41-
min: 0,
42-
max: 1,
43-
},
44-
stream: {
45-
param: 'stream',
46-
default: false,
47-
},
48-
stop: {
49-
param: 'stop',
50-
},
51-
n: {
52-
param: 'n',
53-
default: 1,
54-
max: 1,
55-
min: 1,
56-
},
57-
tools: {
58-
param: 'tools',
59-
required: false,
60-
},
61-
};
62-
638
export interface GroqChatCompleteResponse extends ChatCompletionResponse {}
649

6510
export interface GroqErrorResponse extends ErrorResponse {}
@@ -72,6 +17,7 @@ export interface GroqStreamChunk {
7217
choices: {
7318
delta: {
7419
content?: string;
20+
tool_calls?: object[];
7521
};
7622
index: number;
7723
finish_reason: string | null;
@@ -153,7 +99,7 @@ export const GroqChatCompleteStreamChunkTransform: (
15399
index: parsedChunk.choices[0].index || 0,
154100
delta: {},
155101
logprobs: null,
156-
finish_reason: parsedChunk.choices[0].index,
102+
finish_reason: parsedChunk.choices[0].finish_reason,
157103
},
158104
],
159105
usage: {
@@ -175,6 +121,7 @@ export const GroqChatCompleteStreamChunkTransform: (
175121
delta: {
176122
role: 'assistant',
177123
content: parsedChunk.choices[0].delta.content,
124+
tool_calls: parsedChunk.choices[0].delta?.tool_calls,
178125
},
179126
logprobs: null,
180127
finish_reason: parsedChunk.choices[0].finish_reason || null,

src/providers/groq/index.ts

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
11
import { ProviderConfigs } from '../types';
22
import GroqAPIConfig from './api';
3-
import {
4-
GroqChatCompleteConfig,
5-
GroqChatCompleteResponseTransform,
6-
GroqChatCompleteStreamChunkTransform,
7-
} from './chatComplete';
3+
import { GroqChatCompleteStreamChunkTransform } from './chatComplete';
4+
import { chatCompleteParams, responseTransformers } from '../open-ai-base';
5+
import { GROQ } from '../../globals';
86

97
const GroqConfig: ProviderConfigs = {
10-
chatComplete: GroqChatCompleteConfig,
8+
chatComplete: chatCompleteParams(['logprobs', 'logits_bias', 'top_logprobs']),
119
api: GroqAPIConfig,
1210
responseTransforms: {
13-
chatComplete: GroqChatCompleteResponseTransform,
11+
...responseTransformers(GROQ, {
12+
chatComplete: true,
13+
}),
1414
'stream-chatComplete': GroqChatCompleteStreamChunkTransform,
1515
},
1616
};

0 commit comments

Comments
 (0)