fix: pca calculating takes a long time
This commit is contained in:
@@ -181,7 +181,7 @@ const Scatter: React.FC<ChartProps> = (props) => {
|
||||
<span class="tooltip-value">${item.text}</span>
|
||||
</span>`;
|
||||
});
|
||||
return `<div class="tooltip-wrapper">${result}</div>`;
|
||||
return `<div class="tooltip-wrapper scatter">${result}</div>`;
|
||||
}
|
||||
},
|
||||
title: {
|
||||
|
||||
@@ -746,6 +746,12 @@ body {
|
||||
min-width: 100px;
|
||||
max-width: 360px;
|
||||
|
||||
&.scatter {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(2, minmax(0, 1fr));
|
||||
gap: 8px;
|
||||
}
|
||||
|
||||
.tooltip-x-name {
|
||||
font-size: var(--font-size-small);
|
||||
color: var(--ant-color-text-tertiary);
|
||||
|
||||
@@ -207,7 +207,6 @@ const GroundEmbedding: React.FC<MessageProps> = forwardRef((props, ref) => {
|
||||
}
|
||||
);
|
||||
|
||||
console.log('result=========', result);
|
||||
setTokenResult(result.usage);
|
||||
|
||||
const embeddingsList = result.data || [];
|
||||
@@ -216,9 +215,9 @@ const GroundEmbedding: React.FC<MessageProps> = forwardRef((props, ref) => {
|
||||
|
||||
workerRef.current!.onmessage = (event: MessageEvent) => {
|
||||
const { scatterData, embeddingData } = event.data;
|
||||
console.log('worker result:', scatterData, embeddingData);
|
||||
setScatterData(scatterData);
|
||||
setEmbeddingData(embeddingData);
|
||||
setLoading(false);
|
||||
};
|
||||
|
||||
postMessage({
|
||||
@@ -226,15 +225,11 @@ const GroundEmbedding: React.FC<MessageProps> = forwardRef((props, ref) => {
|
||||
textList: textList,
|
||||
fileList: fileList
|
||||
});
|
||||
|
||||
// generateEmbedding(embeddingsList);
|
||||
} catch (error: any) {
|
||||
console.log('result=========error', error);
|
||||
setTokenResult({
|
||||
error: true,
|
||||
errorMessage: extractErrorMessage(error.response)
|
||||
});
|
||||
} finally {
|
||||
setLoading(false);
|
||||
}
|
||||
};
|
||||
@@ -386,7 +381,9 @@ const GroundEmbedding: React.FC<MessageProps> = forwardRef((props, ref) => {
|
||||
children: (
|
||||
<div
|
||||
style={{
|
||||
backgroundColor: 'var(--ant-color-bg-container)'
|
||||
backgroundColor: 'var(--ant-color-bg-container)',
|
||||
borderRadius: 'var(--border-radius-base)',
|
||||
overflow: 'hidden'
|
||||
}}
|
||||
>
|
||||
<HighlightCode
|
||||
@@ -655,8 +652,7 @@ const GroundEmbedding: React.FC<MessageProps> = forwardRef((props, ref) => {
|
||||
style={{
|
||||
border: '1px solid var(--ant-color-border)',
|
||||
borderRadius: 'var(--border-radius-base)',
|
||||
width: '100%',
|
||||
overflow: 'hidden'
|
||||
width: '100%'
|
||||
}}
|
||||
className="scatter"
|
||||
>
|
||||
|
||||
@@ -14,10 +14,14 @@ self.onmessage = (
|
||||
const dataList = embeddings.map((item) => {
|
||||
return item.embedding;
|
||||
});
|
||||
let pca: any = null;
|
||||
|
||||
console.log('list:', dataList);
|
||||
const pca = new PCA(dataList);
|
||||
console.log('list:', pca);
|
||||
// for large datasets, use NIPALS method for PCA
|
||||
if (dataList.length > 200) {
|
||||
pca = new PCA(dataList, { nCompNIPALS: 2, method: 'NIPALS' });
|
||||
} else {
|
||||
pca = new PCA(dataList); // default method is SVD
|
||||
}
|
||||
const pcadata = pca.predict(dataList, { nComponents: 2 }).to2DArray();
|
||||
|
||||
const input = [
|
||||
|
||||
Reference in New Issue
Block a user