Update README.md
Browse files
README.md
CHANGED
|
@@ -66,7 +66,7 @@ pipe = pipeline(
|
|
| 66 |
device_map="auto",
|
| 67 |
)
|
| 68 |
messages = [
|
| 69 |
-
{"role": "system", "content": "You are
|
| 70 |
{"role": "user", "content": "Who are you?"},
|
| 71 |
]
|
| 72 |
outputs = pipe(
|
|
@@ -75,6 +75,46 @@ outputs = pipe(
|
|
| 75 |
)
|
| 76 |
print(outputs[0]["generated_text"][-1])
|
| 77 |
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 78 |
# **Use Cases**
|
| 79 |
|
| 80 |
- Multilingual content generation
|
|
|
|
| 66 |
device_map="auto",
|
| 67 |
)
|
| 68 |
messages = [
|
| 69 |
+
{"role": "system", "content": "You are the kind and tri-intelligent assistant helping people to understand complex concepts."},
|
| 70 |
{"role": "user", "content": "Who are you?"},
|
| 71 |
]
|
| 72 |
outputs = pipe(
|
|
|
|
| 75 |
)
|
| 76 |
print(outputs[0]["generated_text"][-1])
|
| 77 |
```
|
| 78 |
+
# **Demo Inference LlamaForCausalLM**
|
| 79 |
+
```python
|
| 80 |
+
import torch
|
| 81 |
+
from transformers import AutoTokenizer, LlamaForCausalLM
|
| 82 |
+
|
| 83 |
+
# Load tokenizer and model
|
| 84 |
+
tokenizer = AutoTokenizer.from_pretrained('prithivMLmods/Triangulum-10B', trust_remote_code=True)
|
| 85 |
+
model = LlamaForCausalLM.from_pretrained(
|
| 86 |
+
"prithivMLmods/Triangulum-10B",
|
| 87 |
+
torch_dtype=torch.float16,
|
| 88 |
+
device_map="auto",
|
| 89 |
+
load_in_8bit=False,
|
| 90 |
+
load_in_4bit=True,
|
| 91 |
+
use_flash_attention_2=True
|
| 92 |
+
)
|
| 93 |
+
|
| 94 |
+
# Define a list of system and user prompts
|
| 95 |
+
prompts = [
|
| 96 |
+
"""<|im_start|>system
|
| 97 |
+
You are the kind and tri-intelligent assistant helping people to understand complex concepts.<|im_end|>
|
| 98 |
+
<|im_start|>user
|
| 99 |
+
Can you explain the concept of eigenvalues and eigenvectors in a simple way?<|im_end|>
|
| 100 |
+
<|im_start|>assistant"""
|
| 101 |
+
]
|
| 102 |
+
|
| 103 |
+
# Generate responses for each prompt
|
| 104 |
+
for chat in prompts:
|
| 105 |
+
print(f"Prompt:\n{chat}\n")
|
| 106 |
+
input_ids = tokenizer(chat, return_tensors="pt").input_ids.to("cuda")
|
| 107 |
+
generated_ids = model.generate(input_ids, max_new_tokens=750, temperature=0.8, repetition_penalty=1.1, do_sample=True, eos_token_id=tokenizer.eos_token_id)
|
| 108 |
+
response = tokenizer.decode(generated_ids[0][input_ids.shape[-1]:], skip_special_tokens=True, clean_up_tokenization_space=True)
|
| 109 |
+
print(f"Response:\n{response}\n{'-'*80}\n")
|
| 110 |
+
```
|
| 111 |
+
|
| 112 |
+
### Key Adjustments:
|
| 113 |
+
1. **System Prompts:** Each prompt defines a different role or persona for the AI to adopt.
|
| 114 |
+
2. **User Prompts:** These specify the context or task for the assistant, ranging from teaching to storytelling or career advice.
|
| 115 |
+
3. **Looping Through Prompts:** Each prompt is processed in a loop to showcase the model's versatility.
|
| 116 |
+
|
| 117 |
+
You can expand the list of prompts to explore a variety of scenarios and responses.
|
| 118 |
# **Use Cases**
|
| 119 |
|
| 120 |
- Multilingual content generation
|