mirror of
https://github.com/labring/FastGPT.git
synced 2025-12-26 12:52:48 +00:00
Some checks are pending
Document deploy / sync-images (push) Waiting to run
Document deploy / generate-timestamp (push) Blocked by required conditions
Document deploy / build-images (map[domain:https://fastgpt.cn suffix:cn]) (push) Blocked by required conditions
Document deploy / build-images (map[domain:https://fastgpt.io suffix:io]) (push) Blocked by required conditions
Document deploy / update-images (map[deployment:fastgpt-docs domain:https://fastgpt.cn kube_config:KUBE_CONFIG_CN suffix:cn]) (push) Blocked by required conditions
Document deploy / update-images (map[deployment:fastgpt-docs domain:https://fastgpt.io kube_config:KUBE_CONFIG_IO suffix:io]) (push) Blocked by required conditions
Build FastGPT images in Personal warehouse / get-vars (push) Waiting to run
Build FastGPT images in Personal warehouse / build-fastgpt-images (map[arch:amd64 runs-on:ubuntu-24.04]) (push) Blocked by required conditions
Build FastGPT images in Personal warehouse / build-fastgpt-images (map[arch:arm64 runs-on:ubuntu-24.04-arm]) (push) Blocked by required conditions
Build FastGPT images in Personal warehouse / release-fastgpt-images (push) Blocked by required conditions
* perf: memory leak * perf: workflow share buffer;Circle checker;Get file from stream * doc * remove report.md
37 lines
1.0 KiB
TypeScript
37 lines
1.0 KiB
TypeScript
import {
|
||
splitText2Chunks,
|
||
type SplitProps,
|
||
type SplitResponse
|
||
} from '@fastgpt/global/common/string/textSplitter';
|
||
import { runWorker, WorkerNameEnum } from './utils';
|
||
import type { ReadFileResponse } from './readFile/type';
|
||
import { isTestEnv } from '@fastgpt/global/common/system/constants';
|
||
|
||
export const text2Chunks = (props: SplitProps) => {
|
||
// Test env, not run worker
|
||
if (isTestEnv) {
|
||
return splitText2Chunks(props);
|
||
}
|
||
return runWorker<SplitResponse>(WorkerNameEnum.text2Chunks, props);
|
||
};
|
||
|
||
export const readRawContentFromBuffer = (props: {
|
||
extension: string;
|
||
encoding: string;
|
||
buffer: Buffer;
|
||
}) => {
|
||
const bufferSize = props.buffer.length;
|
||
|
||
// 使用 SharedArrayBuffer,避免数据复制
|
||
const sharedBuffer = new SharedArrayBuffer(bufferSize);
|
||
const sharedArray = new Uint8Array(sharedBuffer);
|
||
sharedArray.set(props.buffer);
|
||
|
||
return runWorker<ReadFileResponse>(WorkerNameEnum.readFile, {
|
||
extension: props.extension,
|
||
encoding: props.encoding,
|
||
sharedBuffer: sharedBuffer,
|
||
bufferSize: bufferSize
|
||
});
|
||
};
|