|
--- |
|
license: apache-2.0 |
|
language: |
|
- fr |
|
pipeline_tag: text-generation |
|
library_name: transformers |
|
tags: |
|
- LLM |
|
inference: false |
|
--- |
|
|
|
<p align="center" width="100%"> |
|
<img src="https://huggingface.co/bofenghuang/vigogne-falcon-7b-chat/resolve/main/vigogne_logo.png" alt="Vigogne" style="width: 40%; min-width: 300px; display: block; margin: auto;"> |
|
</p> |
|
|
|
# Vigogne-Falcon-7B-Chat: A French Chat Falcon Model |
|
|
|
Vigogne-Falcon-7B-Chat is a [Falcon-7B](https://huggingface.co/tiiuae/falcon-7b) model fine-tuned to conduct multi-turn dialogues in French between human user and AI assistant. |
|
|
|
For more information, please visit the Github repo: https://github.com/bofenghuang/vigogne |
|
|
|
## Changelog |
|
|
|
All versions are available in branches. |
|
|
|
- **V1.0**: Initial release. |
|
- **V2.0**: Expanded training dataset to 419k for better performance. |
|
|
|
## Usage |
|
|
|
```python |
|
import torch |
|
from transformers import AutoModelForCausalLM, AutoTokenizer, GenerationConfig |
|
from vigogne.preprocess import generate_inference_chat_prompt |
|
|
|
model_name_or_path = "bofenghuang/vigogne-falcon-7b-chat" |
|
|
|
tokenizer = AutoTokenizer.from_pretrained(model_name_or_path, padding_side="right", use_fast=False) |
|
tokenizer.pad_token = tokenizer.eos_token |
|
|
|
model = AutoModelForCausalLM.from_pretrained( |
|
model_name_or_path, |
|
torch_dtype=torch.float16, |
|
device_map="auto", |
|
trust_remote_code=True, |
|
) |
|
|
|
user_query = "Expliquez la différence entre DoS et phishing." |
|
prompt = generate_inference_chat_prompt([[user_query, ""]], tokenizer=tokenizer) |
|
input_ids = tokenizer(prompt, return_tensors="pt")["input_ids"].to(model.device) |
|
input_length = input_ids.shape[1] |
|
|
|
generated_outputs = model.generate( |
|
input_ids=input_ids, |
|
generation_config=GenerationConfig( |
|
temperature=0.1, |
|
do_sample=True, |
|
repetition_penalty=1.0, |
|
max_new_tokens=512, |
|
), |
|
return_dict_in_generate=True, |
|
pad_token_id=tokenizer.eos_token_id, |
|
eos_token_id=tokenizer.eos_token_id, |
|
) |
|
generated_tokens = generated_outputs.sequences[0, input_length:] |
|
generated_text = tokenizer.decode(generated_tokens, skip_special_tokens=True) |
|
print(generated_text) |
|
``` |
|
|
|
<!-- You can infer this model by using the following Google Colab Notebook. |
|
|
|
<a href="https://colab.research.google.com/github/bofenghuang/vigogne/blob/main/notebooks/infer_instruct.ipynb" target="_blank"><img src="https://colab.research.google.com/assets/colab-badge.svg" alt="Open In Colab"/></a> --> |
|
|
|
## Limitations |
|
|
|
Vigogne is still under development, and there are many limitations that have to be addressed. Please note that it is possible that the model generates harmful or biased content, incorrect information or generally unhelpful answers. |
|
|