open static method
Future<ConversationMemory>
open({
- required DocumentStore store,
- required Embedder embedder,
- required String conversationId,
Opens (or starts) conversation conversationId.
Implementation
static Future<ConversationMemory> open({
required DocumentStore store,
required Embedder embedder,
required String conversationId,
}) async {
final bytes = utf8.encode(conversationId).length;
if (bytes == 0 || bytes > 100) {
throw ArgumentError.value(
conversationId,
'conversationId',
'must be 1..=100 bytes of UTF-8',
);
}
if (store.dimensions != embedder.dimensions) {
throw ArgumentError(
'the store holds ${store.dimensions}-dimensional vectors but the '
'embedder produces ${embedder.dimensions}',
);
}
final existing = await store.count(filter: _scopeOf(conversationId));
return ConversationMemory._(store, embedder, conversationId, existing);
}