summaryrefslogtreecommitdiff
path: root/llm/job.go
blob: d9221901780b0812f9f2107427815bdce0c57964 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
package llm

type Job struct {
	Document int
	Position int
	Tokens   []int64
	Seen     int
}

type batch struct {
	jobs []Job
}

func newBatch(capacity int) *batch {
	return &batch{
		jobs: make([]Job, 0, capacity),
	}
}

func (b *batch) Size() int {
	return len(b.jobs)
}

func (b *batch) AddJob(job Job) {
	if b.Size() == cap(b.jobs) {
		panic("batch full")
	}

	b.jobs = append(b.jobs, job)
}