(
request: AIRequest,
apiMessages: ChatMessage[],
modelConfig: ModelConfig,
abortController: AbortController
)
| 191 | } |
| 192 | |
| 193 | private async fetchStreamingResponse( |
| 194 | request: AIRequest, |
| 195 | apiMessages: ChatMessage[], |
| 196 | modelConfig: ModelConfig, |
| 197 | abortController: AbortController |
| 198 | ): Promise<Response> { |
| 199 | return fetch(`${request.llmConfig.baseUrl.replace(/\/$/, '')}/chat/completions`, { |
| 200 | method: 'POST', |
| 201 | headers: { |
| 202 | 'Content-Type': 'application/json', |
| 203 | Authorization: `Bearer ${request.llmConfig.apiKey}` |
| 204 | }, |
| 205 | body: JSON.stringify({ |
| 206 | model: request.llmConfig.modelName, |
| 207 | messages: apiMessages, |
| 208 | temperature: modelConfig.temperature, |
| 209 | top_p: modelConfig.topP, |
| 210 | stream: true |
| 211 | }), |
| 212 | signal: abortController.signal |
| 213 | }) |
| 214 | } |
| 215 | |
| 216 | private createStreamParser(requestId: string): EventSourceParser { |
| 217 | return createParser({ |
no outgoing calls
no test coverage detected