12345678910111213141516171819202122232425 |
- import ollama from 'ollama'
- const model = 'llama3.1'
- console.log(`downloading ${model}...`)
- let currentDigestDone = false
- const stream = await ollama.pull({ model: model, stream: true })
- for await (const part of stream) {
- if (part.digest) {
- let percent = 0
- if (part.completed && part.total) {
- percent = Math.round((part.completed / part.total) * 100)
- }
- process.stdout.clearLine(0)
- process.stdout.cursorTo(0)
- process.stdout.write(`${part.status} ${percent}%...`)
- if (percent === 100 && !currentDigestDone) {
- console.log()
- currentDigestDone = true
- } else {
- currentDigestDone = false
- }
- } else {
- console.log(part.status)
- }
- }
|