hyf-backend/test/vl_test.py

62 lines
2.2 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import os
from loguru import logger
# from vllm import LLM, SamplingParams
from langchain_ollama import ChatOllama
from langchain_core.messages import HumanMessage
# 自动下载模型时指定使用modelscope; 否则会从HuggingFace下载
os.environ['VLLM_USE_MODELSCOPE']='True'
# def get_completion(prompts, model, tokenizer=None, max_tokens=512, temperature=0.8, top_p=0.95, max_model_len=2048):
# stop_token_ids = [151329, 151336, 151338]
# # 创建采样参数。temperature 控制生成文本的多样性top_p 控制核心采样的概率
# sampling_params = SamplingParams(temperature=temperature, top_p=top_p, max_tokens=max_tokens, stop_token_ids=stop_token_ids)
# # 初始化 vLLM 推理引擎
# llm = LLM(model=model, tokenizer=tokenizer, max_model_len=max_model_len,trust_remote_code=True)
# outputs = llm.generate(prompts, sampling_params)
# return outputs
def vl_test():
logger.info("vl_test")
# 使用LangChain 1.x的ChatOllama类创建客户端
client = ChatOllama(
base_url="http://192.168.10.11:11434",
model="llava-phi3:latest", # "qwen3-vl:8b",
temperature=0.7,
)
# 测试调用qwen3-vl:8b视觉大模型
try:
# 使用LangChain 1.x的方式构建消息
message = HumanMessage(
content=[
{
"type": "text",
"text": "请描述这张图片的内容"
},
# 如果需要添加图像,可以使用以下格式:
# {
# "type": "image_url",
# "image_url": {
# "url": "https://example.com/image.jpg" # 或者base64编码的图片数据
# }
# }
]
)
# 调用模型
response = client.invoke([message])
# 获取模型响应
result = response.content
logger.info(f"qwen3-vl:8b响应: {result}")
return result
except Exception as e:
logger.error(f"调用qwen3-vl:8b失败: {e}")
raise e
# 如果直接运行该文件,执行测试
if __name__ == "__main__":
vl_test()