Instructions to use AIArchiveInfo/GLM-OCR with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use AIArchiveInfo/GLM-OCR with Transformers:
# Use a pipeline as a high-level helper # Warning: Pipeline type "image-to-text" is no longer supported in transformers v5. # You must load the model directly (see below) or downgrade to v4.x with: # 'pip install "transformers<5.0.0' from transformers import pipeline pipe = pipeline("image-to-text", model="AIArchiveInfo/GLM-OCR") messages = [ { "role": "user", "content": [ {"type": "image", "url": "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/p-blog/candy.JPG"}, {"type": "text", "text": "What animal is on the candy?"} ] }, ] pipe(text=messages)# Load model directly from transformers import AutoTokenizer, AutoModelForMultimodalLM tokenizer = AutoTokenizer.from_pretrained("AIArchiveInfo/GLM-OCR") model = AutoModelForMultimodalLM.from_pretrained("AIArchiveInfo/GLM-OCR", device_map="auto") messages = [ { "role": "user", "content": [ {"type": "image", "url": "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/p-blog/candy.JPG"}, {"type": "text", "text": "What animal is on the candy?"} ] }, ] inputs = tokenizer.apply_chat_template( messages, add_generation_prompt=True, tokenize=True, return_dict=True, return_tensors="pt", ).to(model.device) outputs = model.generate(**inputs, max_new_tokens=40) print(tokenizer.decode(outputs[0][inputs["input_ids"].shape[-1]:])) - Notebooks
- Google Colab
- Kaggle
| { | |
| "image_processor": { | |
| "do_convert_rgb": true, | |
| "do_normalize": true, | |
| "do_rescale": true, | |
| "do_resize": true, | |
| "image_mean": [ | |
| 0.48145466, | |
| 0.4578275, | |
| 0.40821073 | |
| ], | |
| "image_processor_type": "Glm46VImageProcessor", | |
| "image_std": [ | |
| 0.26862954, | |
| 0.26130258, | |
| 0.27577711 | |
| ], | |
| "merge_size": 2, | |
| "patch_size": 14, | |
| "resample": 3, | |
| "rescale_factor": 0.00392156862745098, | |
| "size": { | |
| "longest_edge": 9633792, | |
| "shortest_edge": 12544 | |
| }, | |
| "temporal_patch_size": 2 | |
| }, | |
| "processor_class": "Glm46VProcessor", | |
| "video_processor": { | |
| "do_convert_rgb": true, | |
| "do_normalize": true, | |
| "do_rescale": true, | |
| "do_resize": true, | |
| "do_sample_frames": true, | |
| "fps": 2, | |
| "image_mean": [ | |
| 0.48145466, | |
| 0.4578275, | |
| 0.40821073 | |
| ], | |
| "image_std": [ | |
| 0.26862954, | |
| 0.26130258, | |
| 0.27577711 | |
| ], | |
| "max_duration": 300, | |
| "max_image_size": { | |
| "longest_edge": 47040000 | |
| }, | |
| "merge_size": 2, | |
| "num_frames": 16, | |
| "patch_size": 14, | |
| "resample": 3, | |
| "rescale_factor": 0.00392156862745098, | |
| "return_metadata": false, | |
| "size": { | |
| "longest_edge": 9633792, | |
| "shortest_edge": 12544 | |
| }, | |
| "temporal_patch_size": 2, | |
| "video_processor_type": "Glm46VVideoProcessor" | |
| } | |
| } | |