Views
No views yet
vLLM.1import os
2from transformers import AutoProcessor
3from qwen_vl_utils import process_vision_info
4from vllm import LLM, SamplingParams
5
6os.environ["VLLM_WORKER_MULTIPROC_METHOD"] = "spawn"
7
8def main():
9
10 llm = LLM(
11 model="stockmark/Stockmark-DocReasoner-Qwen2.5-VL-32B-FP8-dynamic",
12 trust_remote_code=True,
13 )
14 processor = AutoProcessor.from_pretrained("stockmark/Stockmark-DocReasoner-Qwen2.5-VL-32B-FP8-dynamic")
15 message = [
16 {
17 "role": "user",
18 "content": [
19 {
20 "type": "image",
21 "image": "assets/demo.png",
22 },
23 {"type": "text", "text": "30歳未満の社員に対するアンケート回答結果で、最も割合が高かった「使用頻度」は何ですか?"},
24 ],
25 }
26 ]
27 texts = processor.apply_chat_template(
28 message, tokenize=False, add_generation_prompt=True
29 )
30 image_inputs, video_inputs = process_vision_info(message)
31
32 mm_data = {}
33 if image_inputs is not None:
34 mm_data["image"] = image_inputs
35 if video_inputs is not None:
36 mm_data["video"] = video_inputs
37
38 inputs = {
39 "prompt": texts,
40 "multi_modal_data": mm_data,
41 }
42
43 sampling_params = SamplingParams(
44 temperature=0,
45 max_tokens=1024
46 )
47
48 outputs = llm.generate(
49 inputs,
50 sampling_params=sampling_params,
51 )
52
53 answer = outputs[0].outputs[0].text
54 print(answer)
55
56if __name__ == "__main__":
57 main()1<think>
2...reasoning process...
3</think>
4<answer>
5...final answer...
6</answer>STMK HTML: Convert the input document into a structured HTML representation.STMK Markdown: Convert documents into Markdown format.STMK JSON: Extract document content into structured JSON.STMK SMILES: Extract chemical structures from diagrams into SMILES format.1@misc{stockmark_docreasoner_fp8_2026,
2 title={Stockmark-DocReasoner-Qwen2.5-VL-32B-FP8-dynamic},
3 author={Stockmark Inc.},
4 year={2026}
5}