From f5859d03c7e1e3a6be16f8f8e4dbd91ccd13eb17 Mon Sep 17 00:00:00 2001 From: Neko Ayaka Date: Sat, 1 Mar 2025 02:07:56 +0800 Subject: [PATCH] docs(provider-transformers): added README.md Signed-off-by: Neko Ayaka --- packages/provider-transformers/README.md | 32 ++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 packages/provider-transformers/README.md diff --git a/packages/provider-transformers/README.md b/packages/provider-transformers/README.md new file mode 100644 index 000000000..4fe8abe5d --- /dev/null +++ b/packages/provider-transformers/README.md @@ -0,0 +1,32 @@ +# `@proj-airi/provider-transformers` + +Experimental provider implementation of [🤗 Transformers.js](https://github.com/huggingface/transformers.js) for [xsai](https://github.com/moeru-ai/xsai). + +This enables you possibilities to use any models supported by [🤗 Transformers.js](https://github.com/huggingface/transformers.js) the feel of [xsai](https://github.com/moeru-ai/xsai) just like you are directly request OpenAI API but **pure locally within the browser**. + +> This is also possible for runtime with WebGPU or Web Workers support, e.g. Node.js. + +> [!WARNING] +> +> This haven't been released yet, it is currently only used by [Airi](https://github.com/moeru-ai/airi)'s stage and memory layer, if you found this helpful, join us to discuss on [xsai #41](https://github.com/moeru-ai/xsai/issues/41). + +## Example usage + +```ts +// Currently @proj-airi/provider-transformers +import { createTransformers } from '@xsai-ext/provider-transformers' +import EmbedWorkerURL from '@xsai-ext/provider-transformers/worker?worker&url' +import { embed } from '@xsai/embed' + +const transformersProvider = createTransformers({ embedWorkerURL: EmbedWorkerURL }) + +const res = await embed({ + ...transformersProvider.embed('Xenova/all-MiniLM-L6-v2'), + input: 'Hello, world!', +}) + +console.log(res.embedding) +// { +// embedding: Array[768], +// } +```