H022329's picture
Upload folder using huggingface_hub
9cf08e9 verified
Raw
History Blame Contribute Delete
1.56 kB
import os
import base64
from io import BytesIO
from PIL import Image
from openai import OpenAI
from .._utils import _pil_to_base64
class Qwen3VLModel:
def __init__(self, model_name: str = None, base_url: str = None, api_key: str = None, **kwargs):
self.model_name = model_name or os.getenv("VLM_MODEL_NAME", "Qwen3-VL-2B-Instruct")
base_url = base_url or os.getenv("VLM_API_BASE_URL", "http://localhost:8001/v1")
api_key = api_key or os.getenv("VLM_API_KEY", "EMPTY")
self.client = OpenAI(base_url=base_url, api_key=api_key)
def generate_result(
self,
messages,
max_new_tokens=1024,
temperature=0.7,
top_p=0.9,
**kwargs
) -> str:
response = self.client.chat.completions.create(
model=self.model_name,
messages=messages,
max_tokens=max_new_tokens,
temperature=temperature,
top_p=top_p,
)
return response.choices[0].message.content
def generate_result_stream(self, messages, max_new_tokens: int = 1024) -> str:
response = self.client.chat.completions.create(
model=self.model_name,
messages=messages,
max_tokens=max_new_tokens,
stream=True,
)
result = ""
for chunk in response:
delta = chunk.choices[0].delta
if delta.content:
print(delta.content, end="", flush=True)
result += delta.content
print()
return result