make the generated output a little more interesting

This commit is contained in:
David Koski
2024-03-01 22:56:28 -08:00
parent ff7a615db7
commit 33d4b6f57e

View File

@@ -5,6 +5,7 @@ import MLX
import Metal import Metal
import SwiftUI import SwiftUI
import Tokenizers import Tokenizers
import MLXRandom
struct ContentView: View { struct ContentView: View {
@@ -57,7 +58,7 @@ class LLMEvaluator {
let modelConfiguration = ModelConfiguration.phi4bit let modelConfiguration = ModelConfiguration.phi4bit
/// parameters controlling the output /// parameters controlling the output
let temperature: Float = 0.0 let temperature: Float = 0.6
let maxTokens = 100 let maxTokens = 100
enum LoadState { enum LoadState {
@@ -100,6 +101,9 @@ class LLMEvaluator {
let prompt = modelConfiguration.prepare(prompt: prompt) let prompt = modelConfiguration.prepare(prompt: prompt)
let promptTokens = MLXArray(tokenizer.encode(text: prompt)) let promptTokens = MLXArray(tokenizer.encode(text: prompt))
// each time you generate you will get something new
MLXRandom.seed(UInt64(Date.timeIntervalSinceReferenceDate * 1000))
var outputTokens = [Int]() var outputTokens = [Int]()
for token in TokenIterator(prompt: promptTokens, model: model, temp: temperature) { for token in TokenIterator(prompt: promptTokens, model: model, temp: temperature) {