Skip to content

Commit

Permalink
silence crashes
Browse files Browse the repository at this point in the history
  • Loading branch information
danemadsen committed Feb 4, 2025
1 parent 4501dab commit 246c1ed
Show file tree
Hide file tree
Showing 7 changed files with 574 additions and 850 deletions.
4 changes: 2 additions & 2 deletions example/lib/main.dart
Original file line number Diff line number Diff line change
Expand Up @@ -53,8 +53,8 @@ class _LlamaAppState extends State<LlamaApp> {
ModelParams(),
ContextParams(),
SamplingParams(
minP: (p: 0.05, minKeep: 1),
temperature: (temperature: 0.8, delta: null, exponent: null),
minP: PArguments(p: 0.05, minKeep: 1),
temperature: TemperatureArguments(temperature: 0.8),
seed: Random().nextInt(1000000)
)
);
Expand Down
34 changes: 34 additions & 0 deletions lib/src/chat_message.dart
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
part of '../llama.dart';

typedef ChatMessageRecord = (
String role,
String content
);

class ChatMessage {
final String role;
final String content;
Expand All @@ -9,6 +14,10 @@ class ChatMessage {
required this.content,
});

ChatMessage.fromRecord(ChatMessageRecord record)
: role = record.$1,
content = record.$2;

ChatMessage.fromNative(llama_chat_message message)
: role = message.role.cast<Utf8>().toDartString(),
content = message.content.cast<Utf8>().toDartString();
Expand All @@ -20,9 +29,24 @@ class ChatMessage {

return message.ref;
}

ChatMessageRecord toRecord() => (
role,
content
);
}

extension ChatMessages on List<ChatMessage> {
static List<ChatMessage> fromRecords(List<ChatMessageRecord> records) {
final List<ChatMessage> messages = [];

for (var record in records) {
messages.add(ChatMessage.fromRecord(record));
}

return messages;
}

ffi.Pointer<llama_chat_message> toNative() {
final messages = calloc<llama_chat_message>(length);

Expand All @@ -32,4 +56,14 @@ extension ChatMessages on List<ChatMessage> {

return messages;
}

List<ChatMessageRecord> toRecords() {
final List<ChatMessageRecord> records = [];

for (var i = 0; i < length; i++) {
records.add(this[i].toRecord());
}

return records;
}
}
Loading

0 comments on commit 246c1ed

Please sign in to comment.