Quokka: An Open-source Large Language Model ChatBot for Material Science
Paper • 2401.01089 • Published
How to use Xianjun/Quokka-7b-instruct with Transformers:
# Use a pipeline as a high-level helper
from transformers import pipeline
pipe = pipeline("text-generation", model="Xianjun/Quokka-7b-instruct") # Load model directly
from transformers import AutoTokenizer, AutoModelForCausalLM
tokenizer = AutoTokenizer.from_pretrained("Xianjun/Quokka-7b-instruct")
model = AutoModelForCausalLM.from_pretrained("Xianjun/Quokka-7b-instruct")How to use Xianjun/Quokka-7b-instruct with vLLM:
# Install vLLM from pip:
pip install vllm
# Start the vLLM server:
vllm serve "Xianjun/Quokka-7b-instruct"
# Call the server using curl (OpenAI-compatible API):
curl -X POST "http://localhost:8000/v1/completions" \
-H "Content-Type: application/json" \
--data '{
"model": "Xianjun/Quokka-7b-instruct",
"prompt": "Once upon a time,",
"max_tokens": 512,
"temperature": 0.5
}'docker model run hf.co/Xianjun/Quokka-7b-instruct
How to use Xianjun/Quokka-7b-instruct with SGLang:
# Install SGLang from pip:
pip install sglang
# Start the SGLang server:
python3 -m sglang.launch_server \
--model-path "Xianjun/Quokka-7b-instruct" \
--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": "Xianjun/Quokka-7b-instruct",
"prompt": "Once upon a time,",
"max_tokens": 512,
"temperature": 0.5
}'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 "Xianjun/Quokka-7b-instruct" \
--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": "Xianjun/Quokka-7b-instruct",
"prompt": "Once upon a time,",
"max_tokens": 512,
"temperature": 0.5
}'How to use Xianjun/Quokka-7b-instruct with Docker Model Runner:
docker model run hf.co/Xianjun/Quokka-7b-instruct
This model is optimized for Material Science by continuing pertaining on over 1 million Material science academic articles based on LLaMa-2-7b. And further finetuned on materials science instructions.
Developed by: [UCSB]
Language(s) (NLP): [More Information Needed]
License: [More Information Needed]
Finetuned from model [optional]: [LLaMa-2]
Paper [optional]: [https://arxiv.org/pdf/2401.01089.pdf]
Demo [optional]: [More Information Needed]
from transformers import LlamaTokenizer, LlamaForCausalLM
import torch
tokenizer = LlamaTokenizer.from_pretrained("Xianjun/Quokka-7b-instruct ")
model = LlamaForCausalLM.from_pretrained("Xianjun/Quokka-7b-instruct ").half().to("cuda")
instruction = "How to ..."
batch = tokenizer(instruction, return_tensors="pt", add_special_tokens=False).to("cuda")
with torch.no_grad():
output = model.generate(**batch, max_new_tokens=512, temperature=0.7, do_sample=True)
response = tokenizer.decode(output[0], skip_special_tokens=True)
If you find Quokka useful in your research, please cite the following paper:
@inproceedings{Yang2024QuokkaAO,
title={Quokka: An Open-source Large Language Model ChatBot for Material Science},
author={Xianjun Yang and Stephen Wilson and Linda Ruth Petzold},
year={2024},
url={https://api.semanticscholar.org/CorpusID:266725577}
}