diff --git a/src/pages/api/chat/vectorGpt.ts b/src/pages/api/chat/vectorGpt.ts index 614d371ce..388a775bd 100644 --- a/src/pages/api/chat/vectorGpt.ts +++ b/src/pages/api/chat/vectorGpt.ts @@ -7,7 +7,12 @@ import { ChatItemType } from '@/types/chat'; import { jsonRes } from '@/service/response'; import type { ModelSchema } from '@/types/mongoSchema'; import { PassThrough } from 'stream'; -import { modelList, ModelVectorSearchModeMap, ModelVectorSearchModeEnum } from '@/constants/model'; +import { + modelList, + ModelVectorSearchModeMap, + ModelVectorSearchModeEnum, + ModelDataStatusEnum +} from '@/constants/model'; import { pushChatBill } from '@/service/events/pushBill'; import { openaiCreateEmbedding, gpt35StreamResponse } from '@/service/utils/openai'; import dayjs from 'dayjs'; @@ -66,7 +71,13 @@ export default async function handler(req: NextApiRequest, res: NextApiResponse) const similarity = ModelVectorSearchModeMap[model.search.mode]?.similarity || 0.22; const vectorSearch = await PgClient.select<{ id: string; q: string; a: string }>('modelData', { fields: ['id', 'q', 'a'], - where: [['model_id', model._id], 'AND', `vector <=> '[${promptVector}]' < ${similarity}`], + where: [ + ['status', ModelDataStatusEnum.ready], + 'AND', + ['model_id', model._id], + 'AND', + `vector <=> '[${promptVector}]' < ${similarity}` + ], order: [{ field: 'vector', mode: `<=> '[${promptVector}]'` }], limit: 30 }); diff --git a/src/pages/api/openapi/chat/vectorGpt.ts b/src/pages/api/openapi/chat/vectorGpt.ts index 9ec1c0c59..27fbcc561 100644 --- a/src/pages/api/openapi/chat/vectorGpt.ts +++ b/src/pages/api/openapi/chat/vectorGpt.ts @@ -5,7 +5,12 @@ import { ChatCompletionRequestMessage, ChatCompletionRequestMessageRoleEnum } fr import { ChatItemType } from '@/types/chat'; import { jsonRes } from '@/service/response'; import { PassThrough } from 'stream'; -import { modelList, ModelVectorSearchModeMap, ModelVectorSearchModeEnum } from '@/constants/model'; +import { + modelList, + ModelVectorSearchModeMap, + ModelVectorSearchModeEnum, + ModelDataStatusEnum +} from '@/constants/model'; import { pushChatBill } from '@/service/events/pushBill'; import { openaiCreateEmbedding, gpt35StreamResponse } from '@/service/utils/openai'; import dayjs from 'dayjs'; @@ -80,7 +85,13 @@ export default async function handler(req: NextApiRequest, res: NextApiResponse) const similarity = ModelVectorSearchModeMap[model.search.mode]?.similarity || 0.22; const vectorSearch = await PgClient.select<{ id: string; q: string; a: string }>('modelData', { fields: ['id', 'q', 'a'], - where: [['model_id', model._id], 'AND', `vector <=> '[${promptVector}]' < ${similarity}`], + where: [ + ['status', ModelDataStatusEnum.ready], + 'AND', + ['model_id', model._id], + 'AND', + `vector <=> '[${promptVector}]' < ${similarity}` + ], order: [{ field: 'vector', mode: `<=> '[${promptVector}]'` }], limit: 30 });