Skip to content

Go implementation of today's most used tokenizers

License

Notifications You must be signed in to change notification settings

forkkit/gotokenizers

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

73 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GoTokenizers

Go Report Card Maintainability BCH compliance codecov

GoTokenizers is a Go module implementing some of the most used state-of-the-art natural language tokenizers.

This is a work-in-progress port from the original Hugging Face's tokenizers, written in Rust.

The project's goal is the creation of a similar tokenization library entirely written in Go - that is, without requiring foreign language integrations. Without having any competitive performance ambition, we simply aim to provide a good alternative for the Go community.

Warning: the development is currently in its very early stage. We are progressively porting to Go the original Rust code, which in turn is under active development. We want to quickly reach a stable complete port of the library, so we are adopting a mostly quantitative approach. That means that we are consciously sacrificing code elegance and performance, keeping instead a stricter parallelism between the original Rust code and the newly written Go code.

Only on a second phase, once we have a first complete library port, we expect to focus on cleaning, refactoring, testing, and maybe even re-engineering some components. Eventually, we will evaluate further expansions, and a possible integration or combination with the spago library. However, as you can guess, it's too soon to tell!

License

GoTokenizers is licensed under the BSD 2-Clause "Simplified" License.

This project is strongly based on Hugging Face Tokenizers, which is licensed under the Apache License 2.0.

About

Go implementation of today's most used tokenizers

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 100.0%