Views
No views yet

Two version recommendedv1.revision='a38aac3': Basic ChatVector, with 25B+ trained KoEn ckpt(rev. d4d25a2).v1-1.revision='0224971': Basic ChatVector, with 40B+ trained KoEn ckpt(rev. ad39b32).v1-2.revision='170746c': Basic ChatVector, with 80B+ trained KoEn ckpt(rev. b4c45ab).v2.revision='4f04d1e': Model diff based merging(ref. https://huggingface.co/blog/maywell/llm-feature-transfer), with 25B+ trained KoEn ckpt(rev. d4d25a2).
1import requests
2from PIL import Image
3
4import torch
5from transformers import AutoProcessor, LlavaForConditionalGeneration
6
7model_id = "beomi/Llama-3-KoEn-8B-xtuner-llava-preview"
8
9model = LlavaForConditionalGeneration.from_pretrained(
10 model_id,
11 torch_dtype='auto',
12 device_map='auto',
13 revision='a38aac3', # 'a38aac3' for basic ChatVector, '4f04d1e' for Model diff based merging(ref. https://huggingface.co/blog/maywell/llm-feature-transfer)
14)
15
16processor = AutoProcessor.from_pretrained(model_id)
17
18tokenizer = processor.tokenizer
19terminators = [
20 tokenizer.eos_token_id,
21 tokenizer.convert_tokens_to_ids("<|eot_id|>")
22]
23
24prompt = ("<|start_header_id|>user<|end_header_id|>\n\n<image>\n이 이미지에 대해서 설명해주세요.<|eot_id|>"
25 "<|start_header_id|>assistant<|end_header_id|>\n\n이 이미지에는")
26image_file = "https://cdn-uploads.huggingface.co/production/uploads/5e56829137cb5b49818287ea/NWfoArWI4UPAxpEnolkwT.jpeg"
27
28raw_image = Image.open(requests.get(image_file, stream=True).raw)
29inputs = processor(prompt, raw_image, return_tensors='pt').to(0, torch.float16)
30
31output = model.generate(**inputs, max_new_tokens=400, do_sample=True, eos_token_id=terminators,)
32print(processor.decode(output[0][2:], skip_special_tokens=False))
33
34# --- Example Output [v1, Chat Vector] ---
35user<|end_header_id|>
36
37<image>
38이 이미지에 대해서 설명해주세요.<|eot_id|><|start_header_id|>assistant<|end_header_id|>
39
40이 이미지에는 고양이 한 마리가 강물 위를 걸어가는 모습이 보여집니다. 고양이는 강물의 잔물결에 미끄럼을 타고 강 가로를 지나는 데 능숙하게 보입니다. 고양이의 발은 강물로 잘 들어가, 그것을 즐기며 걸어갑니다.
41
42또한 이 이미지도 음성 녹음을 하거나 녹화된 자료로 제작되었으며, 주로 고양이의 모습을 강하게 보여줍니다. 소리 효과도 여러 가지로 추가하여 고양이의 스토리를 다양하게 전달합니다. 강물은 잔물결을 나타내며 강물 위를 걷는 고양이의 모습을 더욱 강렬하게 강조하기 위해 잔물결을 통해 더 디테일한 장면을 보여줍니다.<|eot_id|>
43
44# --- Example Output [v1-1, Chat Vector] ---
45user<|end_header_id|>
46
47<image>
48이 이미지에 대해서 설명해주세요.<|eot_id|><|start_header_id|>assistant<|end_header_id|>
49
50이 이미지에서는 한 고양이가 서해안에 위치한 바다를 걷고 있는 모습을 볼 수 있습니다. 고양이는 해변에서부터 바다로 걸어들어가는 중이며, 주변에는 잔잔한 파도가 밀려오는 모습을 보여주고 있습니다. 이 고양이는 태어날 때부터 고양이와 강아지와는 다르게 바다를 경험하고, 적응해가고 있습니다. 고양이는 바다를 좋아하고, 이 환경에서 행복을 느끼는 것 같습니다. 이 고양이는 인간이 아닌 자연의 일부로써 이 환경에서 살아가고 있습니다.<|eot_id|>
51
52# --- Example Output [v1-2, Chat Vector] ---
53# model.generate(**inputs, max_new_tokens=200, do_sample=True, top_p=0.7, eos_token_id=terminators,)
54user<|end_header_id|>
55
56<image>
57이 이미지에 대해서 설명해주세요.<|eot_id|><|start_header_id|>assistant<|end_header_id|>
58
59이 이미지는 한 고양이가 물 위를 걷고 있는 모습을 포착한 사진입니다. 고양이는 두 발로 물 위를 걸어 가고 있습니다. 고양이는 4개의 발 중 2개의 발은 물에 빠지지 않고 2개의 발은 물에 빠져 있습니다. 고양이의 발이 빠진 부분은 반영되어 물에 비쳐 있습니다. 물 위를 걷는 고양이의 모습이 참으로 귀엽고 사랑스럽습니다. 이 사진은 KBS 동물의 왕국에서 방영되었습니다. KBS 동물의 왕국은 1985년부터 시작하여 2019년까지 34년 동안 방영된 KBS의 대표적인 자연 다큐멘터리 프로그램입니다. KBS 동물의 왕국은 동물의 생태와 습성, 행동, 그리고 자연 환경을 이해하고 보호하는 데 기여하고자 합니다.
60
61# --- Example Output [v2, Model diff based merging] ---
62user<|end_header_id|>
63
64<image>
65이 이미지에 대해서 설명해주세요.<|eot_id|><|start_header_id|>assistant<|end_header_id|>
66
67이 이미지에는 한국어 자막과 함께 고양이가 물에 발을 디디고 걷는 모습이 담겨 있습니다. 고양이는 오른쪽 발을 물에 담그고 걷는 중이며, 한국어 자막은 "고양이는 물을 좋아합니다"라는 문장을 포함하고 있습니다. 이 자막은 고양이가 물을 좋아하는 것을 강조하고 있습니다.<|eot_id|>