|
--- |
|
license: apache-2.0 |
|
datasets: |
|
- FreedomIntelligence/medical-o1-reasoning-SFT |
|
- FreedomIntelligence/medical-o1-verifiable-problem |
|
language: |
|
- en |
|
base_model: FreedomIntelligence/HuatuoGPT-o1-8B |
|
pipeline_tag: text-generation |
|
tags: |
|
- medical |
|
- llama-cpp |
|
- gguf-my-repo |
|
--- |
|
|
|
# Triangle104/HuatuoGPT-o1-8B-Q5_K_S-GGUF |
|
This model was converted to GGUF format from [`FreedomIntelligence/HuatuoGPT-o1-8B`](https://huggingface.co/FreedomIntelligence/HuatuoGPT-o1-8B) using llama.cpp via the ggml.ai's [GGUF-my-repo](https://huggingface.co/spaces/ggml-org/gguf-my-repo) space. |
|
Refer to the [original model card](https://huggingface.co/FreedomIntelligence/HuatuoGPT-o1-8B) for more details on the model. |
|
|
|
--- |
|
Model details: |
|
- |
|
HuatuoGPT-o1 is a medical LLM designed for advanced medical reasoning. It generates a complex thought process, reflecting and refining its reasoning, before providing a final response. |
|
|
|
Usage |
|
You can use HuatuoGPT-o1 in the same way as Llama-3.1-8B-Instruct. You can deploy it with tools like vllm or Sglang, or perform direct inference: |
|
|
|
from transformers import AutoModelForCausalLM, AutoTokenizer |
|
|
|
model = AutoModelForCausalLM.from_pretrained("FreedomIntelligence/HuatuoGPT-o1-8B",torch_dtype="auto",device_map="auto") |
|
tokenizer = AutoTokenizer.from_pretrained("FreedomIntelligence/HuatuoGPT-o1-8B") |
|
|
|
input_text = "How to stop a cough?" |
|
messages = [{"role": "user", "content": input_text}] |
|
|
|
inputs = tokenizer(tokenizer.apply_chat_template(messages, tokenize=False,add_generation_prompt=True |
|
), return_tensors="pt").to(model.device) |
|
outputs = model.generate(**inputs, max_new_tokens=2048) |
|
print(tokenizer.decode(outputs[0], skip_special_tokens=True)) |
|
|
|
HuatuoGPT-o1 adopts a thinks-before-it-answers approach, with outputs formatted as: |
|
|
|
## Thinking |
|
[Reasoning process] |
|
|
|
## Final Response |
|
[Output] |
|
|
|
๐ Citation |
|
@misc{chen2024huatuogpto1medicalcomplexreasoning, |
|
title={HuatuoGPT-o1, Towards Medical Complex Reasoning with LLMs}, |
|
author={Junying Chen and Zhenyang Cai and Ke Ji and Xidong Wang and Wanlong Liu and Rongsheng Wang and Jianye Hou and Benyou Wang}, |
|
year={2024}, |
|
eprint={2412.18925}, |
|
archivePrefix={arXiv}, |
|
primaryClass={cs.CL}, |
|
url={https://arxiv.org/abs/2412.18925}, |
|
} |
|
|
|
--- |
|
## Use with llama.cpp |
|
Install llama.cpp through brew (works on Mac and Linux) |
|
|
|
```bash |
|
brew install llama.cpp |
|
|
|
``` |
|
Invoke the llama.cpp server or the CLI. |
|
|
|
### CLI: |
|
```bash |
|
llama-cli --hf-repo Triangle104/HuatuoGPT-o1-8B-Q5_K_S-GGUF --hf-file huatuogpt-o1-8b-q5_k_s.gguf -p "The meaning to life and the universe is" |
|
``` |
|
|
|
### Server: |
|
```bash |
|
llama-server --hf-repo Triangle104/HuatuoGPT-o1-8B-Q5_K_S-GGUF --hf-file huatuogpt-o1-8b-q5_k_s.gguf -c 2048 |
|
``` |
|
|
|
Note: You can also use this checkpoint directly through the [usage steps](https://github.com/ggerganov/llama.cpp?tab=readme-ov-file#usage) listed in the Llama.cpp repo as well. |
|
|
|
Step 1: Clone llama.cpp from GitHub. |
|
``` |
|
git clone https://github.com/ggerganov/llama.cpp |
|
``` |
|
|
|
Step 2: Move into the llama.cpp folder and build it with `LLAMA_CURL=1` flag along with other hardware-specific flags (for ex: LLAMA_CUDA=1 for Nvidia GPUs on Linux). |
|
``` |
|
cd llama.cpp && LLAMA_CURL=1 make |
|
``` |
|
|
|
Step 3: Run inference through the main binary. |
|
``` |
|
./llama-cli --hf-repo Triangle104/HuatuoGPT-o1-8B-Q5_K_S-GGUF --hf-file huatuogpt-o1-8b-q5_k_s.gguf -p "The meaning to life and the universe is" |
|
``` |
|
or |
|
``` |
|
./llama-server --hf-repo Triangle104/HuatuoGPT-o1-8B-Q5_K_S-GGUF --hf-file huatuogpt-o1-8b-q5_k_s.gguf -c 2048 |
|
``` |
|
|