summaryrefslogtreecommitdiff
path: root/bpc/cmd
diff options
context:
space:
mode:
authorJonas Knobloch <jonas.knobloch@t-online.de>2025-11-13 23:04:57 +0100
committerJonas Knobloch <jonas.knobloch@t-online.de>2025-11-17 22:41:09 +0100
commit7073b124c5eb31169442ef18d1627b7ed7401280 (patch)
treef472b8a937fb5e2e3f235723cd5bafe422b3b647 /bpc/cmd
parent019a25a6082a8cde372304e34dcd0ae3d5e875ed (diff)
Scaffold byte-pair correction
Diffstat (limited to 'bpc/cmd')
-rw-r--r--bpc/cmd/bpc/main.go45
1 files changed, 45 insertions, 0 deletions
diff --git a/bpc/cmd/bpc/main.go b/bpc/cmd/bpc/main.go
new file mode 100644
index 0000000..b6ebef1
--- /dev/null
+++ b/bpc/cmd/bpc/main.go
@@ -0,0 +1,45 @@
+package main
+
+import (
+ "bpc"
+ "gpt2"
+ "log"
+ mbpe "mbpe-dyn"
+)
+
+func main() {
+ m := model()
+
+ if err := m.Init(); err != nil {
+ log.Fatal(err)
+ }
+
+ t := tokenizer()
+
+ bpc.Run(m, t)
+
+ if err := m.Destroy(); err != nil {
+ log.Fatal(err)
+ }
+}
+
+func model() *gpt2.Model {
+ return gpt2.NewModel("../gpt2/models/base/model.onnx")
+}
+
+func tokenizer() *mbpe.Tokenizer {
+ m := mbpe.NewMBPE()
+
+ if err := m.Load("../gpt2/models/base/vocab.json", "../gpt2/models/base/merges.txt"); err != nil {
+ panic(err)
+ }
+
+ t := mbpe.NewTokenizer(m)
+
+ byteLevel := mbpe.NewByteLevel(false)
+
+ t.SetPreTokenizer(byteLevel)
+ t.SetDecoder(byteLevel)
+
+ return t
+}