diff --git a/src/pages/playground/components/ground-embedding.tsx b/src/pages/playground/components/ground-embedding.tsx index 59fde07d..ad055e40 100644 --- a/src/pages/playground/components/ground-embedding.tsx +++ b/src/pages/playground/components/ground-embedding.tsx @@ -131,6 +131,27 @@ const GroundEmbedding: React.FC = forwardRef((props, ref) => { }; }); + const normalize2D = (data: number[][]) => { + const dim = data[0].length; + const mins = Array(dim).fill(Infinity); + const maxs = Array(dim).fill(-Infinity); + + for (const row of data) { + for (let i = 0; i < dim; i++) { + mins[i] = Math.min(mins[i], row[i]); + maxs[i] = Math.max(maxs[i], row[i]); + } + } + + return data.map((row) => + row.map((val, i) => { + const range = maxs[i] - mins[i]; + if (range === 0) return 0; + return ((val - mins[i]) / range) * 2 - 1; + }) + ); + }; + const viewCodeContent = useMemo(() => { console.log('viewCodeContent:', embeddingData.copyValue); return generateEmbeddingCode({ @@ -165,7 +186,9 @@ const GroundEmbedding: React.FC = forwardRef((props, ref) => { ...fileList.map((item) => item.text).filter((item) => item) ]; - const list = pcadata.map((item: number[], index: number) => { + const normalizedData = normalize2D(pcadata); + + const list = normalizedData.map((item: number[], index: number) => { return { value: item, name: index + 1,