mirror of
				https://github.com/ggml-org/llama.cpp.git
				synced 2025-11-04 09:32:00 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			46 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			46 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
# cvector-generator
 | 
						|
 | 
						|
This example demonstrates how to generate a control vector using gguf models.
 | 
						|
 | 
						|
Related PRs:
 | 
						|
- [Add support for control vectors](https://github.com/ggml-org/llama.cpp/pull/5970)
 | 
						|
- (Issue) [Generate control vector using llama.cpp](https://github.com/ggml-org/llama.cpp/issues/6880)
 | 
						|
- [Add cvector-generator example](https://github.com/ggml-org/llama.cpp/pull/7514)
 | 
						|
 | 
						|
## Examples
 | 
						|
 | 
						|
```sh
 | 
						|
# CPU only
 | 
						|
./cvector-generator -m ./llama-3.Q4_K_M.gguf
 | 
						|
 | 
						|
# With GPU
 | 
						|
./cvector-generator -m ./llama-3.Q4_K_M.gguf -ngl 99
 | 
						|
 | 
						|
# With advanced options
 | 
						|
./cvector-generator -m ./llama-3.Q4_K_M.gguf -ngl 99 --pca-iter 2000 --pca-batch 100
 | 
						|
 | 
						|
# Using mean value instead of PCA
 | 
						|
./cvector-generator -m ./llama-3.Q4_K_M.gguf --method mean
 | 
						|
 | 
						|
# To see help message
 | 
						|
./cvector-generator -h
 | 
						|
# Then, have a look at "cvector" section
 | 
						|
```
 | 
						|
 | 
						|
## Tips and tricks
 | 
						|
 | 
						|
If you have multiple lines per prompt, you can escape the newline character (change it to `\n`). For example:
 | 
						|
 | 
						|
```
 | 
						|
<|im_start|>system\nAct like a person who is extremely happy.<|im_end|>
 | 
						|
<|im_start|>system\nYou are in a very good mood today<|im_end|>
 | 
						|
```
 | 
						|
 | 
						|
Example to use output file with `llama-cli`:
 | 
						|
 | 
						|
(Tips: The control vector works better when apply to layers higher than 10)
 | 
						|
 | 
						|
```sh
 | 
						|
./llama-cli -m ./llama-3.Q4_K_M.gguf -p "<|start_header_id|>system<|end_header_id|>\n\nYou are a helpful assistant<|eot_id|><|start_header_id|>user<|end_header_id|>\n\nSing a song<|im_end|><|eot_id|><|start_header_id|>assistant<|end_header_id|>\n\n" --special --control-vector-scaled ./control_vector.gguf 0.8 --control-vector-layer-range 10 31
 | 
						|
```
 |