AIdentity

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README

commit 92a14e865bdeb54d2e9665a66d7a61156ac76986
parent 50cda03e571a8313bc28e7850f456ec116b9c523
Author: minerva-jupiter <ryouturn@gmail.com>
Date:   Sun, 19 Oct 2025 11:14:24 +0900

make dict .zst

Diffstat:
Mapp/components/1_chat.tsx | 2+-
Mpackage.json | 1+
Apublic/system.dic.zst | 0
Mrust-wasm/Cargo.lock | 47+++++++++++++++++++++++++++++++++++++++++++++++
Mrust-wasm/Cargo.toml | 1+
Mrust-wasm/pkg/.gitignore | 3++-
Mrust-wasm/pkg/rust_wasm.d.ts | 8++++++++
Mrust-wasm/pkg/rust_wasm_bg.wasm | 0
Mrust-wasm/pkg/rust_wasm_bg.wasm.d.ts | 8++++++++
Mrust-wasm/src/lib.rs | 5+++--
10 files changed, 71 insertions(+), 4 deletions(-)

diff --git a/app/components/1_chat.tsx b/app/components/1_chat.tsx @@ -118,7 +118,7 @@ function ChatPage() { const [messages, setMessages] = useState<Message[]>(initialMessages); const [ dict, setDict ] = useState<Uint8Array|undefined>(undefined); const messagesEndRef = useRef<HTMLDivElement>(null); - const dictPath = '/system.dic'; + const dictPath = '/system.dic.zst'; useEffect(() => { messagesEndRef.current?.scrollIntoView({ behavior: 'smooth' }); diff --git a/package.json b/package.json @@ -5,6 +5,7 @@ "scripts": { "dev": "next dev --turbopack", "build": "next build --turbopack", + "wasmbuild": "cd ./rust-wasm/ && wasm-pack build --target web", "start": "next start", "lint": "eslint" }, diff --git a/public/system.dic.zst b/public/system.dic.zst Binary files differ. diff --git a/rust-wasm/Cargo.lock b/rust-wasm/Cargo.lock @@ -126,6 +126,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ac9fe6cdbb24b6ade63616c0a0688e45bb56732262c158df3c0c4bea4ca47cb7" dependencies = [ "find-msvc-tools", + "jobserver", + "libc", "shlex", ] @@ -324,6 +326,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c" [[package]] +name = "jobserver" +version = "0.1.34" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9afb3de4395d6b3e67a780b6de64b51c978ecf11cb9a462c66be7d4ca9039d33" +dependencies = [ + "getrandom 0.3.4", + "libc", +] + +[[package]] name = "js-sys" version = "0.3.81" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -397,6 +409,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" [[package]] +name = "pkg-config" +version = "0.3.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c" + +[[package]] name = "powerfmt" version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -526,6 +544,7 @@ dependencies = [ "js-sys", "vibrato", "wasm-bindgen", + "zstd", ] [[package]] @@ -971,3 +990,31 @@ dependencies = [ "quote", "syn", ] + +[[package]] +name = "zstd" +version = "0.13.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e91ee311a569c327171651566e07972200e76fcfe2242a4fa446149a3881c08a" +dependencies = [ + "zstd-safe", +] + +[[package]] +name = "zstd-safe" +version = "7.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f49c4d5f0abb602a93fb8736af2a4f4dd9512e36f7f570d66e65ff867ed3b9d" +dependencies = [ + "zstd-sys", +] + +[[package]] +name = "zstd-sys" +version = "2.0.16+zstd.1.5.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91e19ebc2adc8f83e43039e79776e3fda8ca919132d68a1fed6a5faca2683748" +dependencies = [ + "cc", + "pkg-config", +] diff --git a/rust-wasm/Cargo.toml b/rust-wasm/Cargo.toml @@ -12,3 +12,4 @@ vibrato = "0.5.2" wasm-bindgen = "0.2.104" getrandom_v02 = { package = "getrandom", version = "0.2", features = ["js"] } getrandom_v03 = { package = "getrandom", version = "0.3", features = ["wasm_js"] } +zstd = "0.13.3" diff --git a/rust-wasm/pkg/.gitignore b/rust-wasm/pkg/.gitignore @@ -1 +1 @@ - +*+ \ No newline at end of file diff --git a/rust-wasm/pkg/rust_wasm.d.ts b/rust-wasm/pkg/rust_wasm.d.ts @@ -7,6 +7,14 @@ export type InitInput = RequestInfo | URL | Response | BufferSource | WebAssembl export interface InitOutput { readonly memory: WebAssembly.Memory; readonly chat: (a: number, b: number, c: number, d: number) => [number, number, number, number]; + readonly rust_zstd_wasm_shim_qsort: (a: number, b: number, c: number, d: number) => void; + readonly rust_zstd_wasm_shim_malloc: (a: number) => number; + readonly rust_zstd_wasm_shim_memcmp: (a: number, b: number, c: number) => number; + readonly rust_zstd_wasm_shim_calloc: (a: number, b: number) => number; + readonly rust_zstd_wasm_shim_free: (a: number) => void; + readonly rust_zstd_wasm_shim_memcpy: (a: number, b: number, c: number) => number; + readonly rust_zstd_wasm_shim_memmove: (a: number, b: number, c: number) => number; + readonly rust_zstd_wasm_shim_memset: (a: number, b: number, c: number) => number; readonly __wbindgen_export_0: WebAssembly.Table; readonly __wbindgen_malloc: (a: number, b: number) => number; readonly __wbindgen_realloc: (a: number, b: number, c: number, d: number) => number; diff --git a/rust-wasm/pkg/rust_wasm_bg.wasm b/rust-wasm/pkg/rust_wasm_bg.wasm Binary files differ. diff --git a/rust-wasm/pkg/rust_wasm_bg.wasm.d.ts b/rust-wasm/pkg/rust_wasm_bg.wasm.d.ts @@ -2,6 +2,14 @@ /* eslint-disable */ export const memory: WebAssembly.Memory; export const chat: (a: number, b: number, c: number, d: number) => [number, number, number, number]; +export const rust_zstd_wasm_shim_qsort: (a: number, b: number, c: number, d: number) => void; +export const rust_zstd_wasm_shim_malloc: (a: number) => number; +export const rust_zstd_wasm_shim_memcmp: (a: number, b: number, c: number) => number; +export const rust_zstd_wasm_shim_calloc: (a: number, b: number) => number; +export const rust_zstd_wasm_shim_free: (a: number) => void; +export const rust_zstd_wasm_shim_memcpy: (a: number, b: number, c: number) => number; +export const rust_zstd_wasm_shim_memmove: (a: number, b: number, c: number) => number; +export const rust_zstd_wasm_shim_memset: (a: number, b: number, c: number) => number; export const __wbindgen_export_0: WebAssembly.Table; export const __wbindgen_malloc: (a: number, b: number) => number; export const __wbindgen_realloc: (a: number, b: number, c: number, d: number) => number; diff --git a/rust-wasm/src/lib.rs b/rust-wasm/src/lib.rs @@ -4,7 +4,8 @@ use wasm_bindgen::prelude::*; #[wasm_bindgen] pub fn chat(dict_data: &[u8], input: &str) -> Result<String, JsValue> { - let reader = Cursor::new(dict_data); + let encoded = Cursor::new(dict_data); + let reader = zstd::Decoder::new(encoded).unwrap(); let dict = Dictionary::read(reader) .map_err(|_|{JsValue::from(js_sys::Error::new("Dictionary road Error"))})?; let tokenizer = Tokenizer::new(dict); @@ -13,6 +14,6 @@ pub fn chat(dict_data: &[u8], input: &str) -> Result<String, JsValue> { worker.reset_sentence(input); worker.tokenize(); - let ans : String= "そんなことを言ってるんじゃない。".to_string(); + let ans : String= "馬鹿なことを言ってないで。".to_string(); Ok(ans) }