fix: improve file content extraction logic in OpenAIProvider
- Updated the file content extraction method to check for non-empty file arrays, enhancing the handling of messages with files. - Replaced the previous check for `message.files` with a more robust check using `isEmpty` from lodash to ensure proper validation.
This commit is contained in:
parent
fd6e4db888
commit
ae47d170ca
@ -34,7 +34,7 @@ import {
|
||||
openAIToolsToMcpTool,
|
||||
upsertMCPToolResponse
|
||||
} from '@renderer/utils/mcp-tools'
|
||||
import { takeRight } from 'lodash'
|
||||
import { isEmpty, takeRight } from 'lodash'
|
||||
import OpenAI, { AzureOpenAI } from 'openai'
|
||||
import {
|
||||
ChatCompletionAssistantMessageParam,
|
||||
@ -92,7 +92,7 @@ export default class OpenAIProvider extends BaseProvider {
|
||||
* @returns The file content
|
||||
*/
|
||||
private async extractFileContent(message: Message) {
|
||||
if (message.files) {
|
||||
if (message.files && message.files.length > 0) {
|
||||
const textFiles = message.files.filter((file) => [FileTypes.TEXT, FileTypes.DOCUMENT].includes(file.type))
|
||||
|
||||
if (textFiles.length > 0) {
|
||||
@ -126,7 +126,7 @@ export default class OpenAIProvider extends BaseProvider {
|
||||
const content = await this.getMessageContent(message)
|
||||
|
||||
// If the message does not have files, return the message
|
||||
if (!message.files) {
|
||||
if (isEmpty(message.files)) {
|
||||
return {
|
||||
role: message.role,
|
||||
content
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user