completeStream method

Stream<AIStreamChunk> completeStream(
  1. String prompt, {
  2. String? systemPrompt,
  3. int? maxTokens,
  4. double? temperature,
  5. List<AITool>? tools,
})

Sends a streaming completion request.

Implementation

Stream<AIStreamChunk> completeStream(
  String prompt, {
  String? systemPrompt,
  int? maxTokens,
  double? temperature,
  List<AITool>? tools,
}) {
  final messages = <AIMessage>[
    if (systemPrompt != null) AIMessage.system(systemPrompt),
    AIMessage.user(prompt),
  ];

  _validateAttachments(messages);

  // Enforce budget
  if (budget != null) {
    final estimated = _estimateRequestTokens(messages);
    budget!.enforce(estimated);
  }

  return router.routeStream(
    messages,
    maxTokens: maxTokens,
    temperature: temperature,
    tools: tools,
  );
}