Instructions to use fancyfeast/llama-joycaption-beta-one-hf-llava with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use fancyfeast/llama-joycaption-beta-one-hf-llava with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("image-text-to-text", model="fancyfeast/llama-joycaption-beta-one-hf-llava") 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 AutoProcessor, AutoModelForMultimodalLM processor = AutoProcessor.from_pretrained("fancyfeast/llama-joycaption-beta-one-hf-llava") model = AutoModelForMultimodalLM.from_pretrained("fancyfeast/llama-joycaption-beta-one-hf-llava") 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 = processor.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(processor.decode(outputs[0][inputs["input_ids"].shape[-1]:])) - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- vLLM
How to use fancyfeast/llama-joycaption-beta-one-hf-llava with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "fancyfeast/llama-joycaption-beta-one-hf-llava" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "fancyfeast/llama-joycaption-beta-one-hf-llava", "messages": [ { "role": "user", "content": [ { "type": "text", "text": "Describe this image in one sentence." }, { "type": "image_url", "image_url": { "url": "https://cdn.britannica.com/61/93061-050-99147DCE/Statue-of-Liberty-Island-New-York-Bay.jpg" } } ] } ] }'Use Docker
docker model run hf.co/fancyfeast/llama-joycaption-beta-one-hf-llava
- SGLang
How to use fancyfeast/llama-joycaption-beta-one-hf-llava with SGLang:
Install from pip and serve model
# Install SGLang from pip: pip install sglang # Start the SGLang server: python3 -m sglang.launch_server \ --model-path "fancyfeast/llama-joycaption-beta-one-hf-llava" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "fancyfeast/llama-joycaption-beta-one-hf-llava", "messages": [ { "role": "user", "content": [ { "type": "text", "text": "Describe this image in one sentence." }, { "type": "image_url", "image_url": { "url": "https://cdn.britannica.com/61/93061-050-99147DCE/Statue-of-Liberty-Island-New-York-Bay.jpg" } } ] } ] }'Use Docker images
docker run --gpus all \ --shm-size 32g \ -p 30000:30000 \ -v ~/.cache/huggingface:/root/.cache/huggingface \ --env "HF_TOKEN=<secret>" \ --ipc=host \ lmsysorg/sglang:latest \ python3 -m sglang.launch_server \ --model-path "fancyfeast/llama-joycaption-beta-one-hf-llava" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "fancyfeast/llama-joycaption-beta-one-hf-llava", "messages": [ { "role": "user", "content": [ { "type": "text", "text": "Describe this image in one sentence." }, { "type": "image_url", "image_url": { "url": "https://cdn.britannica.com/61/93061-050-99147DCE/Statue-of-Liberty-Island-New-York-Bay.jpg" } } ] } ] }' - Docker Model Runner
How to use fancyfeast/llama-joycaption-beta-one-hf-llava with Docker Model Runner:
docker model run hf.co/fancyfeast/llama-joycaption-beta-one-hf-llava
Update README.md
Browse files
README.md
CHANGED
|
@@ -9,10 +9,10 @@ tags:
|
|
| 9 |
|
| 10 |
[Github](https://github.com/fpgaminer/joycaption)
|
| 11 |
|
| 12 |
-
JoyCaption is an image captioning Visual Language Model (VLM)
|
| 13 |
|
| 14 |
Key Features:
|
| 15 |
-
- **Free and Open**:
|
| 16 |
- **Uncensored**: Equal coverage of SFW and NSFW concepts. No "cylindrical shaped object with a white substance coming out on it" here.
|
| 17 |
- **Diversity**: All are welcome here. Do you like digital art? Photoreal? Anime? Furry? JoyCaption is for everyone. Pains are being taken to ensure broad coverage of image styles, content, ethnicity, gender, orientation, etc.
|
| 18 |
- **Minimal Filtering**: JoyCaption is trained on large swathes of images so that it can understand almost all aspects of our world. almost. Illegal content will never be tolerated in JoyCaption's training.
|
|
@@ -39,7 +39,7 @@ from transformers import AutoProcessor, LlavaForConditionalGeneration
|
|
| 39 |
|
| 40 |
IMAGE_PATH = "image.jpg"
|
| 41 |
PROMPT = "Write a long descriptive caption for this image in a formal tone."
|
| 42 |
-
MODEL_NAME = "fancyfeast/llama-joycaption-
|
| 43 |
|
| 44 |
|
| 45 |
# Load JoyCaption
|
|
@@ -79,7 +79,7 @@ with torch.no_grad():
|
|
| 79 |
# Generate the captions
|
| 80 |
generate_ids = llava_model.generate(
|
| 81 |
**inputs,
|
| 82 |
-
max_new_tokens=
|
| 83 |
do_sample=True,
|
| 84 |
suppress_tokens=None,
|
| 85 |
use_cache=True,
|
|
|
|
| 9 |
|
| 10 |
[Github](https://github.com/fpgaminer/joycaption)
|
| 11 |
|
| 12 |
+
JoyCaption is an image captioning Visual Language Model (VLM) built from the ground up as a free, open, and uncensored model for the community to use in training Diffusion models.
|
| 13 |
|
| 14 |
Key Features:
|
| 15 |
+
- **Free and Open**: Always released for free, open weights, no restrictions, and just like [bigASP](https://www.reddit.com/r/StableDiffusion/comments/1dbasvx/the_gory_details_of_finetuning_sdxl_for_30m/), will come with training scripts and lots of juicy details on how it gets built.
|
| 16 |
- **Uncensored**: Equal coverage of SFW and NSFW concepts. No "cylindrical shaped object with a white substance coming out on it" here.
|
| 17 |
- **Diversity**: All are welcome here. Do you like digital art? Photoreal? Anime? Furry? JoyCaption is for everyone. Pains are being taken to ensure broad coverage of image styles, content, ethnicity, gender, orientation, etc.
|
| 18 |
- **Minimal Filtering**: JoyCaption is trained on large swathes of images so that it can understand almost all aspects of our world. almost. Illegal content will never be tolerated in JoyCaption's training.
|
|
|
|
| 39 |
|
| 40 |
IMAGE_PATH = "image.jpg"
|
| 41 |
PROMPT = "Write a long descriptive caption for this image in a formal tone."
|
| 42 |
+
MODEL_NAME = "fancyfeast/llama-joycaption-beta-one-hf-llava"
|
| 43 |
|
| 44 |
|
| 45 |
# Load JoyCaption
|
|
|
|
| 79 |
# Generate the captions
|
| 80 |
generate_ids = llava_model.generate(
|
| 81 |
**inputs,
|
| 82 |
+
max_new_tokens=512,
|
| 83 |
do_sample=True,
|
| 84 |
suppress_tokens=None,
|
| 85 |
use_cache=True,
|