diff options
| author | Jonas Knobloch <jonas.knobloch@t-online.de> | 2026-06-27 18:54:58 +0200 |
|---|---|---|
| committer | Jonas Knobloch <jonas.knobloch@t-online.de> | 2026-06-27 19:04:34 +0200 |
| commit | 416fa02619a2111ab3184f083f513bd263fc7cf2 (patch) | |
| tree | 549418e71b60741b9276261db12aaeb225f43b4e /llm/run.go | |
| parent | b1ba8ff474afc003e956de7bf371887859fb1df1 (diff) | |
Add stream iterator to token buffer
Diffstat (limited to 'llm/run.go')
| -rw-r--r-- | llm/run.go | 39 |
1 files changed, 21 insertions, 18 deletions
@@ -56,35 +56,38 @@ func (e *Evaluator[R]) Run(title string, data dataset.Reader, window, stride int doc := 0 pos := 0 - for n, d := range data.Texts() { + for w := range tb.Stream(data.Texts()) { + n := w.Document + if n != doc { pos = 0 doc = n } - for w, s := range tb.Push(n, d) { - if s == 0 { - s = 1 // first token as context - } + tokens := w.Tokens + seen := w.Seen - b.AddJob(Job{ - Document: doc, - Position: pos, - Tokens: w, - Seen: s, - }) + if seen == 0 { + seen = 1 // first token as context + } - pos++ + b.AddJob(Job{ + Document: doc, + Position: pos, + Tokens: tokens, + Seen: seen, + }) - if b.Size() == e.batchSize { - e.jobs <- *b + pos++ - b = newBatch(e.batchSize) + if b.Size() == e.batchSize { + e.jobs <- *b - e.scheduled.Add(int64(e.batchSize)) + b = newBatch(e.batchSize) - pb.SetTotal(int(e.scheduled.Load())) - } + e.scheduled.Add(int64(e.batchSize)) + + pb.SetTotal(int(e.scheduled.Load())) } } |
