Instructions to use DeepMount00/Mistral-RAG with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use DeepMount00/Mistral-RAG with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="DeepMount00/Mistral-RAG")# Load model directly from transformers import AutoTokenizer, AutoModelForCausalLM tokenizer = AutoTokenizer.from_pretrained("DeepMount00/Mistral-RAG") model = AutoModelForCausalLM.from_pretrained("DeepMount00/Mistral-RAG") - Inference
- Notebooks
- Google Colab
- Kaggle
- Local Apps
- vLLM
How to use DeepMount00/Mistral-RAG with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "DeepMount00/Mistral-RAG" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "DeepMount00/Mistral-RAG", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }'Use Docker
docker model run hf.co/DeepMount00/Mistral-RAG
- SGLang
How to use DeepMount00/Mistral-RAG 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 "DeepMount00/Mistral-RAG" \ --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": "DeepMount00/Mistral-RAG", "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 "DeepMount00/Mistral-RAG" \ --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": "DeepMount00/Mistral-RAG", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }' - Docker Model Runner
How to use DeepMount00/Mistral-RAG with Docker Model Runner:
docker model run hf.co/DeepMount00/Mistral-RAG
| library_name: transformers | |
| license: apache-2.0 | |
| datasets: | |
| - DeepMount00/gquad_it | |
| language: | |
| - it | |
| ## Mistral-RAG | |
| - **Model Name:** Mistral-RAG | |
| - **Base Model:** [Mistral-Ita-7b](https://huggingface.co/DeepMount00/Mistral-Ita-7b) | |
| - **Specialization:** Question and Answer Tasks | |
| ### Overview | |
| Mistral-RAG is a refined fine-tuning of the Mistral-Ita-7b model, engineered specifically to enhance question and answer tasks. It features a unique dual-response capability, offering both generative and extractive modes to cater to a wide range of informational needs. | |
| ### Capabilities | |
| #### Generative Mode | |
| - **Description:** The generative mode is designed for scenarios that require complex, synthesized responses. This mode integrates information from multiple sources and provides expanded explanations. | |
| - **Ideal Use Cases:** | |
| - Educational purposes | |
| - Advisory services | |
| - Creative scenarios where depth and detailed understanding are crucial | |
| #### Extractive Mode | |
| - **Description:** The extractive mode focuses on speed and precision. It delivers direct and concise answers by extracting specific data from texts. | |
| - **Ideal Use Cases:** | |
| - Factual queries in research | |
| - Legal contexts | |
| - Professional environments where accuracy and direct evidence are necessary | |
| ### How to Use | |
| ```python | |
| from transformers import AutoModelForCausalLM, AutoTokenizer | |
| import torch | |
| device = torch.device("cuda" if torch.cuda.is_available() else "cpu") | |
| MODEL_NAME = "DeepMount00/Mistral-RAG" | |
| model = AutoModelForCausalLM.from_pretrained(MODEL_NAME, torch_dtype=torch.bfloat16).eval() | |
| model.to(device) | |
| tokenizer = AutoTokenizer.from_pretrained(MODEL_NAME) | |
| def generate_answer(prompt, response_type="generativo"): | |
| # Creazione del contesto e della domanda in base al tipo di risposta | |
| if response_type == "estrattivo": | |
| prompt = f"Rispondi alla seguente domanda in modo estrattivo, basandoti esclusivamente sul contesto.\n{prompt}" | |
| else: | |
| prompt = f"Rispondi alla seguente domanda in modo generativo, basandoti esclusivamente sul contesto.\n{prompt}" | |
| # Preparazione del messaggio per il modello | |
| messages = [ | |
| {"role": "user", "content": prompt}, | |
| ] | |
| model_inputs = tokenizer.apply_chat_template(messages, return_tensors="pt").to(device) | |
| generated_ids = model.generate(model_inputs, max_new_tokens=200, do_sample=True, | |
| temperature=0.001, eos_token_id=tokenizer.eos_token_id) | |
| decoded = tokenizer.batch_decode(generated_ids, skip_special_tokens=True) | |
| return decoded[0].split("[/INST]", 1)[1].strip() if "[/INST]" in decoded[0] else "Errore nella generazione della risposta" | |
| # Esempio di utilizzo con la nuova funzionalità | |
| contesto = """Venerdì più di 2.100 persone che vivono vicino a un vulcano in Indonesia sono state sfollate per i rischi legati a un’eruzione. Martedì infatti l’isola vulcanica di Ruang, che si trova circa 100 chilometri a nord di Sulawesi, ha cominciato a eruttare, producendo una colonna di fumo e ceneri che ieri ha raggiunto 1.200 metri di altezza. Le operazioni di evacuazione sono ancora in corso: complessivamente sono più di 11mila le persone a cui è stato detto di lasciare le proprie case. Gran parte di loro vive sulla vicina isola di Tagulandang, che in totale ha 20mila abitanti; potrebbe essere raggiunta non solo dalle ceneri vulcaniche e dai piroclasti, ma anche da un eventuale tsunami causato dalla caduta in mare di lava e rocce.""" | |
| domanda = "Perchè le persone sono evacuate dalle case?" | |
| prompt = f"Contesto: {contesto}\nDomanda: {domanda}" | |
| answer = generate_answer(prompt, "estrattivo") | |
| print(answer) | |
| ``` | |
| --- | |
| ## Developer | |
| [Michele Montebovi] |