--- 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 ```