File size: 673 Bytes
6c30253
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
export function selectEmbeddingPrecision(manifest, adapterFeatures = []) {
  const features = adapterFeatures instanceof Set ? adapterFeatures : new Set(adapterFeatures);
  const precision = features.has('shader-f16') ? 'fp16' : 'fp32';
  const externalDataChunks = { ...manifest.runtime.externalDataChunks };
  delete externalDataChunks['embed_tokens_fp16.onnx'];
  if (precision === 'fp16') externalDataChunks['embed_tokens_fp16.onnx'] = 1;

  return {
    precision,
    manifest: {
      ...manifest,
      runtime: {
        ...manifest.runtime,
        dtype: { ...manifest.runtime.dtype, embed_tokens: precision },
        externalDataChunks,
      },
    },
  };
}