? Memeluk Wajah | ? Lingkup Model | ? Kertas (TBD) | ? Blog | Dokumentasi
Demo | WeChat (微信) | ? Perselisihan
Kunjungi organisasi Hugging Face atau ModelScope kami (klik tautan di atas), cari pos pemeriksaan dengan nama yang dimulai dengan Qwen2.5-
atau kunjungi koleksi Qwen2.5, dan Anda akan menemukan semua yang Anda butuhkan! Menikmati!
Untuk mempelajari lebih lanjut tentang Qwen2.5, silakan membaca dokumentasi kami [EN|ZH]. Dokumentasi kami terdiri dari bagian berikut:
llama.cpp
dan Ollama
;vLLM
, TGI
, dll.;Dalam tiga bulan terakhir sejak peluncuran Qwen2, banyak pengembang telah membangun model baru pada model bahasa Qwen2, sehingga memberikan kami masukan yang berharga. Selama periode ini, kami fokus pada penciptaan model bahasa yang lebih cerdas dan berpengetahuan luas. Hari ini, kami sangat gembira memperkenalkan tambahan terbaru pada keluarga Qwen: Qwen2.5 .
Hasil evaluasi terperinci dilaporkan di sini? blog.
Untuk persyaratan memori GPU dan throughput masing-masing, lihat hasilnya di sini.
Direkomendasikan versi transformers
terbaru (setidaknya 4.37.0). Di sini kami menampilkan cuplikan kode untuk menunjukkan cara menggunakan model obrolan dengan transformers
:
from transformers import AutoModelForCausalLM , AutoTokenizer
model_name = "Qwen/Qwen2.5-7B-Instruct"
model = AutoModelForCausalLM . from_pretrained (
model_name ,
torch_dtype = "auto" ,
device_map = "auto"
)
tokenizer = AutoTokenizer . from_pretrained ( model_name )
prompt = "Give me a short introduction to large language model."
messages = [
{ "role" : "system" , "content" : "You are Qwen, created by Alibaba Cloud. You are a helpful assistant." },
{ "role" : "user" , "content" : prompt }
]
text = tokenizer . apply_chat_template (
messages ,
tokenize = False ,
add_generation_prompt = True
)
model_inputs = tokenizer ([ text ], return_tensors = "pt" ). to ( model . device )
generated_ids = model . generate (
** model_inputs ,
max_new_tokens = 512
)
generated_ids = [
output_ids [ len ( input_ids ):] for input_ids , output_ids in zip ( model_inputs . input_ids , generated_ids )
]
response = tokenizer . batch_decode ( generated_ids , skip_special_tokens = True )[ 0 ]
Untuk model terkuantisasi, kami menyarankan Anda untuk menggunakan koresponden GPTQ dan AWQ, yaitu Qwen2.5-7B-Instruct-GPTQ-Int8
dan Qwen2.5-7B-Instruct-AWQ
.
Kami sangat menyarankan pengguna terutama yang berada di daratan Tiongkok untuk menggunakan ModelScope. snapshot_download
dapat membantu Anda memecahkan masalah terkait pengunduhan pos pemeriksaan.
Setelah menginstal ollama, Anda dapat memulai layanan ollama dengan perintah berikut:
ollama serve
# You need to keep this service running whenever you are using ollama
Untuk menarik pos pemeriksaan model dan menjalankan model, gunakan perintah ollama run
. Anda dapat menentukan ukuran model dengan menambahkan akhiran ke qwen2.5
, seperti :0.5b
, :1.5b
, :7b
, atau :72b
:
ollama run qwen2.5:7b
# To exit, type "/bye" and press ENTER
Anda juga dapat mengakses layanan ollama melalui API yang kompatibel dengan OpenAI. Harap perhatikan bahwa Anda perlu (1) tetap menjalankan ollama serve
saat menggunakan API, dan (2) menjalankan ollama run qwen2.5:7b
sebelum menggunakan API ini untuk memastikan bahwa pos pemeriksaan model telah disiapkan.
from openai import OpenAI
client = OpenAI (
base_url = 'http://localhost:11434/v1/' ,
api_key = 'ollama' , # required but ignored
)
chat_completion = client . chat . completions . create (
messages = [
{
'role' : 'user' ,
'content' : 'Say this is a test' ,
}
],
model = 'qwen2.5:7b' ,
)
Untuk rincian lebih lanjut, silakan kunjungi ollama.ai.
Unduh file GGUF yang kami sediakan atau buat sendiri, dan Anda dapat langsung menggunakannya dengan llama.cpp
terbaru dengan perintah satu baris:
./llama-cli -m < path-to-file > -n 512 -co -sp -cnv -p " You are Qwen, created by Alibaba Cloud. You are a helpful assistant. "
Untuk panduan tambahan, silakan merujuk ke dokumentasi kami.
Jika Anda menggunakan Apple Silicon, kami juga menyediakan pos pemeriksaan yang kompatibel dengan mlx-lm
. Cari model yang diakhiri dengan MLX di HuggingFace Hub, seperti Qwen2.5-7B-Instruct-MLX.
Qwen2.5 telah didukung oleh lmstudio.ai. Anda dapat langsung menggunakan LMStudio dengan file GGUF kami.
Qwen2.5 telah didukung oleh toolkit OpenVINO. Anda dapat menginstal dan menjalankan contoh chatbot ini dengan CPU Intel, GPU terintegrasi, atau GPU diskrit.
Anda dapat langsung menggunakan text-generation-webui
untuk membuat demo UI web. Jika Anda menggunakan GGUF, ingatlah untuk menginstal wheel llama.cpp
terbaru dengan dukungan Qwen2.5.
Kloning llamafile
, jalankan source install, lalu buat llamafile Anda sendiri dengan file GGUF dengan mengikuti panduan di sini. Anda dapat menjalankan satu baris perintah, misalnya ./qwen.llamafile
, untuk membuat demo.
Qwen2.5 didukung oleh berbagai kerangka inferensi. Di sini kami mendemonstrasikan penggunaan vLLM
, SGLang
dan OpenLLM
.
Peringatan
Tidak bekerja dengan vllm 0.6.3.
Kami menyarankan Anda untuk menggunakan vLLM versi terbaru untuk membangun layanan API yang kompatibel dengan OpenAI, termasuk dukungan penggunaan alat. Mulai server dengan model obrolan, misalnya Qwen2.5-7B-Instruct
:
vllm serve Qwen/Qwen2.5-7B-Instruct
Kemudian gunakan API obrolan seperti yang ditunjukkan di bawah ini:
curl http://localhost:8000/v1/chat/completions -H " Content-Type: application/json " -d ' {
"model": "Qwen/Qwen2.5-7B-Instruct",
"messages": [
{"role": "system", "content": "You are Qwen, created by Alibaba Cloud. You are a helpful assistant."},
{"role": "user", "content": "Tell me something about large language models."}
],
"temperature": 0.7,
"top_p": 0.8,
"repetition_penalty": 1.05,
"max_tokens": 512
} '
from openai import OpenAI
# Set OpenAI's API key and API base to use vLLM's API server.
openai_api_key = "EMPTY"
openai_api_base = "http://localhost:8000/v1"
client = OpenAI (
api_key = openai_api_key ,
base_url = openai_api_base ,
)
chat_response = client . chat . completions . create (
model = "Qwen2.5-7B-Instruct" ,
messages = [
{ "role" : "system" , "content" : "You are Qwen, created by Alibaba Cloud. You are a helpful assistant." },
{ "role" : "user" , "content" : "Tell me something about large language models." },
],
temperature = 0.7 ,
top_p = 0.8 ,
max_tokens = 512 ,
extra_body = {
"repetition_penalty" : 1.05 ,
},
)
print ( "Chat response:" , chat_response )
Peringatan
API yang kompatibel dengan OpenAI yang disediakan oleh SGLang saat ini TIDAK mendukung penggunaan alat atau pemanggilan fungsi .
Silakan instal SGLang
dari sumber. Mirip dengan vLLM
, Anda perlu meluncurkan server dan menggunakan layanan API yang kompatibel dengan OpenAI. Mulai server terlebih dahulu:
python -m sglang.launch_server --model-path Qwen/Qwen2.5-7B-Instruct --port 30000
Anda dapat menggunakannya dengan Python seperti yang ditunjukkan di bawah ini:
from sglang import function , system , user , assistant , gen , set_default_backend , RuntimeEndpoint
@ function
def multi_turn_question ( s , question_1 , question_2 ):
s += system ( "You are Qwen, created by Alibaba Cloud. You are a helpful assistant." )
s += user ( question_1 )
s += assistant ( gen ( "answer_1" , max_tokens = 256 ))
s += user ( question_2 )
s += assistant ( gen ( "answer_2" , max_tokens = 256 ))
set_default_backend ( RuntimeEndpoint ( "http://localhost:30000" ))
state = multi_turn_question . run (
question_1 = "What is the capital of China?" ,
question_2 = "List two local attractions." ,
)
for m in state . messages ():
print ( m [ "role" ], ":" , m [ "content" ])
print ( state [ "answer_1" ])
OpenLLM memungkinkan Anda menjalankan Qwen2.5 dengan mudah sebagai API yang kompatibel dengan OpenAI. Anda dapat memulai server model menggunakan openllm serve
. Misalnya:
openllm serve qwen2.5:7b
Server aktif di http://localhost:3000/
, menyediakan API yang kompatibel dengan OpenAI. Anda dapat membuat klien OpenAI untuk memanggil API obrolannya. Untuk informasi lebih lanjut, lihat dokumentasi kami.
Untuk kemampuan penggunaan alat, kami sarankan untuk melihat Qwen-Agent, yang menyediakan pembungkus API ini untuk mendukung penggunaan alat atau pemanggilan fungsi. Penggunaan alat dengan Qwen2.5 juga dapat dilakukan dengan transformers
Hugging Face, Ollama, dan vLLM. Ikuti panduan dalam dokumentasi kami untuk melihat cara mengaktifkan dukungan.
Kami menyarankan Anda untuk menggunakan kerangka pelatihan, termasuk Axolotl, Llama-Factory, unsloth, Swift, dll., untuk menyempurnakan model Anda dengan SFT, DPO, PPO, dll.
Semua model sumber terbuka kami, kecuali varian 3B dan 72B, dilisensikan di bawah Apache 2.0. Anda dapat menemukan file lisensi di masing-masing repositori Hugging Face. Anda TIDAK perlu mengirimkan permintaan untuk penggunaan komersial.
Jika Anda merasa pekerjaan kami bermanfaat, silakan beri kami kutipan.
@misc{qwen2.5,
title = {Qwen2.5: A Party of Foundation Models},
url = {https://qwenlm.github.io/blog/qwen2.5/},
author = {Qwen Team},
month = {September},
year = {2024}
}
@article{qwen2,
title={Qwen2 Technical Report},
author={An Yang and Baosong Yang and Binyuan Hui and Bo Zheng and Bowen Yu and Chang Zhou and Chengpeng Li and Chengyuan Li and Dayiheng Liu and Fei Huang and Guanting Dong and Haoran Wei and Huan Lin and Jialong Tang and Jialin Wang and Jian Yang and Jianhong Tu and Jianwei Zhang and Jianxin Ma and Jin Xu and Jingren Zhou and Jinze Bai and Jinzheng He and Junyang Lin and Kai Dang and Keming Lu and Keqin Chen and Kexin Yang and Mei Li and Mingfeng Xue and Na Ni and Pei Zhang and Peng Wang and Ru Peng and Rui Men and Ruize Gao and Runji Lin and Shijie Wang and Shuai Bai and Sinan Tan and Tianhang Zhu and Tianhao Li and Tianyu Liu and Wenbin Ge and Xiaodong Deng and Xiaohuan Zhou and Xingzhang Ren and Xinyu Zhang and Xipin Wei and Xuancheng Ren and Yang Fan and Yang Yao and Yichang Zhang and Yu Wan and Yunfei Chu and Yuqiong Liu and Zeyu Cui and Zhenru Zhang and Zhihao Fan},
journal={arXiv preprint arXiv:2407.10671},
year={2024}
}
Jika Anda tertarik untuk meninggalkan pesan ke tim riset atau tim produk kami, bergabunglah dengan grup Discord atau WeChat kami!