perf: vector over range error

This commit is contained in:
archer 2023-08-28 15:51:28 +08:00
parent 42fec3a95c
commit c5c3826714
No known key found for this signature in database
GPG Key ID: 569A5660D2379E28

View File

@ -66,14 +66,14 @@ export async function getVector({
...axiosConfig() ...axiosConfig()
} }
) )
.then((res) => { .then(async (res) => {
if (!res.data?.data?.[0]?.embedding) { if (!res.data?.data?.[0]?.embedding) {
// @ts-ignore // @ts-ignore
return Promise.reject(res.data?.error?.message || 'Embedding Error'); return Promise.reject(res.data?.error?.message || 'Embedding Error');
} }
return { return {
tokenLen: res.data.usage.total_tokens || 0, tokenLen: res.data.usage.total_tokens || 0,
vectors: res.data.data.map((item) => unityDimensional(item.embedding)) vectors: await Promise.all(res.data.data.map((item) => unityDimensional(item.embedding)))
}; };
}); });
@ -88,6 +88,7 @@ export async function getVector({
} }
function unityDimensional(vector: number[]) { function unityDimensional(vector: number[]) {
if (vector.length > 1536) return Promise.reject('向量维度不能超过 1536');
let resultVector = vector; let resultVector = vector;
const vectorLen = vector.length; const vectorLen = vector.length;