Comments (3)
In order to allow multiple Encodings to be initialized concurrently, I did not lock getEncoding()
but only used sync.Once
to ensure the same instance is returned for the same Encoding name.
Now it seems that getEncoding()
is a very expensive operation and perhaps should not be allowed to execute concurrently, as it will allocate too much memory during execution.
from tiktoken-go.
@pkoukk thank you so much for the quick response and enhancement. Very cool.
I just want to clarify that with this update, I can generate a single encoding in the main.go file during server initialization and pass it to the handler so that requests and threads created within the request can reuse the same encoding maps concurrently?
from tiktoken-go.
Sure, of course you can.
You also can initialization tiktoken in go routines.
Now 10 threads only need allocate about 10M of space, which is 1/10 of the original.
from tiktoken-go.
Related Issues (20)
- help for count token HOT 1
- 计算的token值不准确 HOT 7
- 应当使用 allowedSpecial 以代替 disallowedSpecial?? HOT 2
- EncodingForModel: no encoding for model gpt-3.5-turbo-0301 HOT 1
- Any benchmark for throughput? HOT 4
- 关于计算误差比较大的问题 HOT 1
- it‘s result is not ok, compared with openai official tool.
- tiktoken-go getEmbedding isn't thread-safe
- Is there any plan to adapt the llama model? HOT 3
- not support for gpt-3.5-turbo-16k-0613 HOT 2
- Counting Example changed a bit. HOT 1
- Can a Tiktoken instance be shared by multiple go routines? HOT 2
- Incorrect calculation for Chinese characters HOT 1
- sortedTokenBytes doesn't seem necessary HOT 1
- Is there support for function calls tokens HOT 4
- gpt2 support appears missing
- 计算结果有误差 我该如何调整
- 新模型的编码
- Any plans on adding Gemini models into collection?
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from tiktoken-go.