mirror of
https://github.com/CherryHQ/cherry-studio.git
synced 2026-01-06 05:09:09 +08:00
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
a0cdf08c07
commit
a3552fbfc6
@ -34,7 +34,7 @@ import {
|
|||||||
openAIToolsToMcpTool,
|
openAIToolsToMcpTool,
|
||||||
upsertMCPToolResponse
|
upsertMCPToolResponse
|
||||||
} from '@renderer/utils/mcp-tools'
|
} from '@renderer/utils/mcp-tools'
|
||||||
import { takeRight } from 'lodash'
|
import { isEmpty, takeRight } from 'lodash'
|
||||||
import OpenAI, { AzureOpenAI } from 'openai'
|
import OpenAI, { AzureOpenAI } from 'openai'
|
||||||
import {
|
import {
|
||||||
ChatCompletionAssistantMessageParam,
|
ChatCompletionAssistantMessageParam,
|
||||||
@ -92,7 +92,7 @@ export default class OpenAIProvider extends BaseProvider {
|
|||||||
* @returns The file content
|
* @returns The file content
|
||||||
*/
|
*/
|
||||||
private async extractFileContent(message: Message) {
|
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))
|
const textFiles = message.files.filter((file) => [FileTypes.TEXT, FileTypes.DOCUMENT].includes(file.type))
|
||||||
|
|
||||||
if (textFiles.length > 0) {
|
if (textFiles.length > 0) {
|
||||||
@ -126,7 +126,7 @@ export default class OpenAIProvider extends BaseProvider {
|
|||||||
const content = await this.getMessageContent(message)
|
const content = await this.getMessageContent(message)
|
||||||
|
|
||||||
// If the message does not have files, return the message
|
// If the message does not have files, return the message
|
||||||
if (!message.files) {
|
if (isEmpty(message.files)) {
|
||||||
return {
|
return {
|
||||||
role: message.role,
|
role: message.role,
|
||||||
content
|
content
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user