From 559a4cde23863af48b11c0bb1605dec26dab4b80 Mon Sep 17 00:00:00 2001 From: Gregory Nwosu <193151+gregnwosu@users.noreply.github.com> Date: Mon, 8 Apr 2024 02:03:54 +0100 Subject: [PATCH] created defaults for response["eval_count"] there is no way in litellm to disable the cache in ollama that is removing the eval_count response keys from the json. This PR allows the code to create sensible defaults for when the response is empty see - https://github.com/ollama/ollama/issues/1573 - https://github.com/ollama/ollama/issues/2023 --- litellm/llms/ollama.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/litellm/llms/ollama.py b/litellm/llms/ollama.py index 779896abfdd..a14c3cb5031 100644 --- a/litellm/llms/ollama.py +++ b/litellm/llms/ollama.py @@ -229,7 +229,7 @@ def get_ollama_response( model_response["created"] = int(time.time()) model_response["model"] = "ollama/" + model prompt_tokens = response_json.get("prompt_eval_count", len(encoding.encode(prompt))) # type: ignore - completion_tokens = response_json["eval_count"] + completion_tokens = response_json.get("eval_count", len(response_json.get("message",dict()).get("content", ""))) model_response["usage"] = litellm.Usage( prompt_tokens=prompt_tokens, completion_tokens=completion_tokens, @@ -331,7 +331,7 @@ async def ollama_acompletion(url, data, model_response, encoding, logging_obj): model_response["created"] = int(time.time()) model_response["model"] = "ollama/" + data["model"] prompt_tokens = response_json.get("prompt_eval_count", len(encoding.encode(data["prompt"]))) # type: ignore - completion_tokens = response_json["eval_count"] + completion_tokens = response_json.get("eval_count", len(response_json.get("message",dict()).get("content", ""))) model_response["usage"] = litellm.Usage( prompt_tokens=prompt_tokens, completion_tokens=completion_tokens,