From 1deb0a2d42aca1ebb1fc268ef312775fef966aa3 Mon Sep 17 00:00:00 2001 From: Stephen Hu Date: Tue, 5 Aug 2025 11:00:06 +0800 Subject: [PATCH] Fix:local variable 'response' referenced before assignment (#9230) ### What problem does this PR solve? https://github.com/infiniflow/ragflow/issues/9227 ### Type of change - [x] Bug Fix (non-breaking change which fixes an issue) --------- Co-authored-by: Kevin Hu --- rag/llm/cv_model.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/rag/llm/cv_model.py b/rag/llm/cv_model.py index 5f487576e..328591b6d 100644 --- a/rag/llm/cv_model.py +++ b/rag/llm/cv_model.py @@ -522,6 +522,7 @@ class GeminiCV(Base): def chat_streamly(self, system, history, gen_conf, images=[]): from transformers import GenerationConfig ans = "" + response = None try: response = self.model.generate_content( self._form_history(system, history, images), @@ -537,8 +538,10 @@ class GeminiCV(Base): except Exception as e: yield ans + "\n**ERROR**: " + str(e) - yield response._chunks[-1].usage_metadata.total_token_count - + if response and hasattr(response, "usage_metadata") and hasattr(response.usage_metadata, "total_token_count"): + yield response.usage_metadata.total_token_count + else: + yield 0 class NvidiaCV(Base): _FACTORY_NAME = "NVIDIA"