-
Notifications
You must be signed in to change notification settings - Fork 369
Open
Description
I'm using the "ollama/browser".
This is the ChatResponse:
interface ChatResponse {
model: string;
created_at: Date;
message: Message;
done: boolean;
done_reason: string;
total_duration: number;
load_duration: number;
prompt_eval_count: number;
prompt_eval_duration: number;
eval_count: number;
eval_duration: number;
}And the chat method returns this:
chat(request: ChatRequest & {
stream: true;
}): Promise<AbortableAsyncIterator<ChatResponse>>;
chat(request: ChatRequest & {
stream?: false;
}): Promise<ChatResponse>;The problem is: when it's a stream, only the last response respects this definition:
// Before last.
// There's no: done_reason, eval_count, prompt_eval_count, load_duration, total_duration,
// like defined in the declaration type
{
"model": "deepseek-v3.1:671b-cloud",
"remote_model": "deepseek-v3.1:671b",
"remote_host": "https://ollama.com:443",
"created_at": "2025-11-13T16:52:22.297583788Z",
"message": {
"role": "assistant",
"content": ""
},
"done": false
}
// Last
{
"model": "deepseek-v3.1:671b-cloud",
"remote_model": "deepseek-v3.1:671b",
"remote_host": "https://ollama.com:443",
"created_at": "2025-11-13T16:52:22.5313487Z",
"message": {
"role": "assistant",
"content": ""
},
"done": true,
"done_reason": "stop",
"total_duration": 8186506778,
"prompt_eval_count": 206,
"eval_count": 60
}Unless I'm missing something, those properties should be optional: done_reason, eval_count, prompt_eval_count, load_duration, total_duration.
Also, when using local the properties are different too, there's no: remote_model, remote_host.
Metadata
Metadata
Assignees
Labels
No labels