Refactor:Improve BytesIO usage for GeminiCV (#10042)

### What problem does this PR solve?
Improve BytesIO usage for GeminiCV

### Type of change
- [x] Refactoring
This commit is contained in:
Stephen Hu
2025-09-11 11:07:15 +08:00
committed by GitHub
parent 8a09f07186
commit 1936ad82d2

View File

@ -521,7 +521,8 @@ class GeminiCV(Base):
else "Please describe the content of this picture, like where, when, who, what happen. If it has number data, please extract them out."
)
b64 = self.image2base64(image)
img = open(BytesIO(base64.b64decode(b64)))
with BytesIO(base64.b64decode(b64)) as bio:
img = open(bio)
input = [prompt, img]
res = self.model.generate_content(input)
img.close()
@ -532,11 +533,10 @@ class GeminiCV(Base):
b64 = self.image2base64(image)
vision_prompt = prompt if prompt else vision_llm_describe_prompt()
img = open(BytesIO(base64.b64decode(b64)))
with BytesIO(base64.b64decode(b64)) as bio:
img = open(bio)
input = [vision_prompt, img]
res = self.model.generate_content(
input,
)
res = self.model.generate_content(input)
img.close()
return res.text, res.usage_metadata.total_token_count