askStream method

Future<RagStream> askStream(
  1. String question, {
  2. int? k,
  3. Filter? filter,
  4. List<ChatMessage> history = const [],
  5. int? maxTokens,
})

Like ask, streaming the answer; the sources are known up front.

Implementation

Future<RagStream> askStream(
  String question, {
  int? k,
  Filter? filter,
  List<ChatMessage> history = const [],
  int? maxTokens,
}) async {
  final sources = await retrieve(question, k: k, filter: filter);
  final included = <RagSource>[];
  final messages = buildMessages(
    question,
    sources,
    history: history,
    included: included,
  );
  return RagStream(
    included,
    chat.stream(messages, system: systemPrompt, maxTokens: maxTokens),
  );
}