Instructions to use zai-org/cogagent-chat-hf with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use zai-org/cogagent-chat-hf with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="zai-org/cogagent-chat-hf", trust_remote_code=True)# Load model directly from transformers import AutoModelForCausalLM model = AutoModelForCausalLM.from_pretrained("zai-org/cogagent-chat-hf", trust_remote_code=True, dtype="auto") - Notebooks
- Google Colab
- Kaggle
- Local Apps
- vLLM
How to use zai-org/cogagent-chat-hf with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "zai-org/cogagent-chat-hf" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "zai-org/cogagent-chat-hf", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }'Use Docker
docker model run hf.co/zai-org/cogagent-chat-hf
- SGLang
How to use zai-org/cogagent-chat-hf 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 "zai-org/cogagent-chat-hf" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "zai-org/cogagent-chat-hf", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }'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 "zai-org/cogagent-chat-hf" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "zai-org/cogagent-chat-hf", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }' - Docker Model Runner
How to use zai-org/cogagent-chat-hf with Docker Model Runner:
docker model run hf.co/zai-org/cogagent-chat-hf
AttributeError: 'str' object has no attribute 'shape' when calling .generate() with CogAgent Chat model
#5
by TheRealLLMExplorer - opened
I'm trying to generate captions using the cogagent-chat-hf model by passing a single video frame (converted to a PIL image) into the build_conversation_input_ids() method. However, I encounter the following error during generation:
AttributeError: 'str' object has no attribute 'shape'
The traceback points to this line inside the model’s forward call:
past_key_values_length = past_key_values[0][0].shape[2]
What I Tried
- Using both template_version="chat" and "base"
- Setting use_cache=False in .generate()
- Ensured inputs are all tensors on the correct device and dtype (e.g., input_ids, images, cross_images)
- Verified that the prompt decodes correctly and contains my input text
Code
input_by_model = model.build_conversation_input_ids(
tokenizer=tokenizer,
query=prompt,
history=[],
images=[image], # PIL Image
template_version="chat"
)
inputs = {
"input_ids": input_by_model["input_ids"].unsqueeze(0).to(device),
"token_type_ids": input_by_model["token_type_ids"].unsqueeze(0).to(device),
"attention_mask": input_by_model["attention_mask"].unsqueeze(0).to(device),
"images": [[input_by_model["images"][0].to(device).to(dtype)]],
}
if "cross_images" in input_by_model:
inputs["cross_images"] = [[input_by_model["cross_images"][0].to(device).to(dtype)]]
with torch.no_grad():
output = model.generate(**inputs, max_length=512, use_cache=False)
Question
Is there something wrong with the way I'm preparing the inputs?
Why is past_key_values being interpreted as a string during generation?
Any suggestions or fixes would be very appreciated!