{ "cells": [ { "cell_type": "code", "execution_count": 1, "id": "953dfc98", "metadata": {}, "outputs": [], "source": [ "from awq import AutoAWQForCausalLM\n", "from transformers import AutoTokenizer, AutoProcessor, TextStreamer\n", "from PIL import Image\n", "import requests\n", "import torch" ] }, { "cell_type": "code", "execution_count": 2, "id": "c667ce7b", "metadata": {}, "outputs": [], "source": [ "quant_path = './llava-v1.6-34b-awq'" ] }, { "cell_type": "code", "execution_count": 3, "id": "6adbf36e", "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "Replacing layers...: 100%|██████████| 60/60 [00:06<00:00, 9.86it/s]\n", "Fusing layers...: 100%|██████████| 60/60 [00:00<00:00, 166.86it/s]\n" ] } ], "source": [ "model = AutoAWQForCausalLM.from_quantized(quant_path, safetensors=True, device_map=\"auto\")\n", "processor = AutoProcessor.from_pretrained(quant_path)" ] }, { "cell_type": "code", "execution_count": 6, "id": "d8ab8031", "metadata": {}, "outputs": [], "source": [ "url = \"https://github.com/haotian-liu/LLaVA/blob/1a91fc274d7c35a9b50b3cb29c4247ae5837ce39/images/llava_v1_5_radar.jpg?raw=true\"\n", "image = Image.open(requests.get(url, stream=True).raw)\n", "prompt = \"<|im_start|>system\\nAnswer the questions.<|im_end|><|im_start|>user\\n\\nWhat is shown in this image?<|im_end|><|im_start|>assistant\\n\"" ] }, { "cell_type": "code", "execution_count": 7, "id": "350d6426", "metadata": {}, "outputs": [], "source": [ "inputs = processor(prompt, image, return_tensors='pt').to(0, torch.float16)" ] }, { "cell_type": "code", "execution_count": 8, "id": "24c9ac90", "metadata": {}, "outputs": [], "source": [ "streamer = TextStreamer(processor)" ] }, { "cell_type": "code", "execution_count": null, "id": "74e964aa", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "<|im_start|> system\n", "Answer the questions.<|im_end|><|im_start|> user\n", " \n", "What is shown in this image?<|im_end|><|im_start|> assistant\n", "The image shows a radar chart with various data points. The chart is a polar plot with concentric " ] } ], "source": [ "generation_output = model.generate(**inputs,max_new_tokens=1024, streamer = streamer)" ] }, { "cell_type": "code", "execution_count": null, "id": "4ae4ca43", "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.10.12" } }, "nbformat": 4, "nbformat_minor": 5 }