@@ -4,7 +4,10 @@ import {
4
4
ProviderConfig ,
5
5
} from '../types' ;
6
6
import { OLLAMA } from '../../globals' ;
7
- import { generateErrorResponse } from '../utils' ;
7
+ import {
8
+ generateErrorResponse ,
9
+ generateInvalidProviderResponseError ,
10
+ } from '../utils' ;
8
11
9
12
export const OllamaChatCompleteConfig : ProviderConfig = {
10
13
model : {
@@ -63,9 +66,7 @@ export const OllamaChatCompleteConfig: ProviderConfig = {
63
66
} ,
64
67
} ;
65
68
66
- export interface OllamaChatCompleteResponse
67
- extends ChatCompletionResponse ,
68
- ErrorResponse {
69
+ export interface OllamaChatCompleteResponse extends ChatCompletionResponse {
69
70
system_fingerprint : string ;
70
71
}
71
72
@@ -86,10 +87,10 @@ export interface OllamaStreamChunk {
86
87
}
87
88
88
89
export const OllamaChatCompleteResponseTransform : (
89
- response : OllamaChatCompleteResponse ,
90
+ response : OllamaChatCompleteResponse | ErrorResponse ,
90
91
responseStatus : number
91
92
) => ChatCompletionResponse | ErrorResponse = ( response , responseStatus ) => {
92
- if ( responseStatus !== 200 ) {
93
+ if ( responseStatus !== 200 && 'error' in response ) {
93
94
return generateErrorResponse (
94
95
{
95
96
message : response . error ?. message ,
@@ -101,15 +102,19 @@ export const OllamaChatCompleteResponseTransform: (
101
102
) ;
102
103
}
103
104
104
- return {
105
- id : response . id ,
106
- object : response . object ,
107
- created : response . created ,
108
- model : response . model ,
109
- provider : OLLAMA ,
110
- choices : response . choices ,
111
- usage : response . usage ,
112
- } ;
105
+ if ( 'choices' in response ) {
106
+ return {
107
+ id : response . id ,
108
+ object : response . object ,
109
+ created : response . created ,
110
+ model : response . model ,
111
+ provider : OLLAMA ,
112
+ choices : response . choices ,
113
+ usage : response . usage ,
114
+ } ;
115
+ }
116
+
117
+ return generateInvalidProviderResponseError ( response , OLLAMA ) ;
113
118
} ;
114
119
115
120
export const OllamaChatCompleteStreamChunkTransform : (
0 commit comments