增加Kimi多模态Api,这样可以灵活选择!
This commit is contained in:
@@ -2,7 +2,7 @@ import json
|
||||
import re
|
||||
from typing import Dict, List, Optional
|
||||
|
||||
from .ollama_client import chat_vision
|
||||
from .vlm_providers.base import VLMProvider
|
||||
from .prompts import build_closedset_prompt
|
||||
|
||||
|
||||
@@ -37,6 +37,7 @@ def _extract_json_obj(text: str):
|
||||
def classify_image(
|
||||
image_path: str,
|
||||
labels: List[str],
|
||||
provider: VLMProvider,
|
||||
fewshot_hints: Optional[Dict[str, str]] = None,
|
||||
ingredient_only: bool = False,
|
||||
) -> Dict:
|
||||
@@ -46,7 +47,7 @@ def classify_image(
|
||||
|
||||
print(
|
||||
f"[VLM] Start classify image={image_path} labels={len(labels)} "
|
||||
f"ingredient_only={ingredient_only} fewshot={bool(fewshot_hints)}"
|
||||
f"ingredient_only={ingredient_only} fewshot={bool(fewshot_hints)} provider={provider}"
|
||||
)
|
||||
prompt = build_closedset_prompt(labels, fewshot_hints, ingredient_only)
|
||||
# _preview_prompt = (prompt[:120]).replace("\n", " ")
|
||||
@@ -54,8 +55,8 @@ def classify_image(
|
||||
# print(f"[VLM] Prompt length={len(prompt)} preview={_preview_prompt}...")
|
||||
print(f"[VLM] Prompt length={len(prompt)} preview={final_prompt}")
|
||||
|
||||
print("[VLM] Calling chat_vision...")
|
||||
text = chat_vision(prompt, [image_path], temperature=0.1)
|
||||
print(f"[VLM] Calling {provider}.chat_vision()...")
|
||||
text = provider.chat_vision(prompt, [image_path], temperature=0.1)
|
||||
_preview_text = (str(text)[:200]).replace("\n", " ")
|
||||
print(f"[VLM] Received text length={len(str(text))} preview={_preview_text}...")
|
||||
|
||||
|
||||
Reference in New Issue
Block a user