Alexandre-Numind commited on
Commit
53cbe87
·
verified ·
1 Parent(s): 1cb2d67

Update README.md

Browse files
Files changed (1) hide show
  1. README.md +34 -41
README.md CHANGED
@@ -205,49 +205,42 @@ print(processor.decode(out[0].split("<answer>")[1].split("</answer>")[0], skip_s
205
 
206
 
207
  ## vLLM:
208
- ```python
209
- from PIL import Image
210
- from vllm import LLM, SamplingParams
211
- from transformers import AutoProcessor
212
-
213
- model_id = "Numind/NuMarkdown-reasoning"
214
-
215
- llm = LLM(
216
- model=model_id,
217
- tokenizer=model_id,
218
- dtype="bfloat16",
219
- gpu_memory_utilization=0.85,
220
- max_num_seqs=256,
221
- enforce_eager=True,
222
- trust_remote_code=True
223
- )
224
-
225
- sampling_params = SamplingParams(
226
- temperature=0.8,
227
- max_tokens=5000,
228
- )
229
- processor = AutoProcessor.from_pretrained(model_id, trust_remote_code=True)
230
 
231
- inputs = []
232
- messages = [{
233
- "role": "user",
234
- "content": [
235
- {"type": "image"},
236
- ]
237
- }]
238
 
239
- prompt = processor.apply_chat_template(
240
- messages,
241
- tokenize=False,
242
- add_generation_prompt=True,
243
- )
244
- image = Image.open("invoice.png").convert("RGB")
245
 
246
- inputs.append({
247
- "prompt": prompt,
248
- "multi_modal_data": {"image": image}
249
- })
250
 
251
- outs = llm.generate(inputs, sampling_params)
252
- preds = [o.outputs[0].text.strip().split("<answer>")[1].split("</answer>")[0] for o in outs]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
253
  ```
 
205
 
206
 
207
  ## vLLM:
208
+ ```
209
+ vllm serve numind/NuMarkdown-reasoning --trust_remote_code --limit-mm-per-prompt image=1
210
+ ```
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
211
 
212
+ ```python
213
+ import json
214
+ from openai import OpenAI
215
+ import base64
 
 
 
216
 
217
+ openai_api_key = "EMPTY"
218
+ openai_api_base = "http://localhost:8000/v1"
 
 
 
 
219
 
220
+ client = OpenAI(
221
+ api_key=openai_api_key,
222
+ base_url=openai_api_base,
223
+ )
224
 
225
+ def encode_image(image_path):
226
+ """
227
+ Encode the image file to base64 string
228
+ """
229
+ with open(image_path, "rb") as image_file:
230
+ return base64.b64encode(image_file.read()).decode('utf-8')
231
+
232
+ base64_image = encode_image("invoice.png")
233
+
234
+ chat_response = client.chat.completions.create(
235
+ model="numind/NuMarkdown-reasoning",
236
+ temperature=0,
237
+ messages=[
238
+ {
239
+ "role": "user",
240
+ "content": [
241
+ {"type": "image_url", "image_url": {"url": f"data:image/jpeg;base64,{base64_image}"}},
242
+ ],
243
+ },
244
+ ]
245
+ )
246
  ```