؟ معانقة الوجه | ؟ موديل سكوب | ؟ الورق (سيتم تحديده لاحقًا) | ؟ المدونة | التوثيق
تجريبي | ويتشات (微信) | ؟ الفتنة
قم بزيارة مؤسستنا Hugging Face أو ModelScope (انقر فوق الروابط أعلاه)، وابحث في نقاط التفتيش بأسماء تبدأ بـ Qwen2.5-
أو قم بزيارة مجموعة Qwen2.5، وستجد كل ما تحتاجه! يتمتع!
لمعرفة المزيد حول Qwen2.5، لا تتردد في قراءة وثائقنا [EN|ZH]. تتكون وثائقنا من الأقسام التالية:
llama.cpp
و Ollama
؛vLLM
و TGI
وما إلى ذلك؛في الأشهر الثلاثة الماضية منذ إصدار Qwen2، قام العديد من المطورين ببناء نماذج جديدة على نماذج لغة Qwen2، مما يوفر لنا تعليقات قيمة. خلال هذه الفترة، ركزنا على إنشاء نماذج لغوية أكثر ذكاءً ومعرفة. اليوم، نحن متحمسون لتقديم أحدث إضافة إلى عائلة Qwen: Qwen2.5 .
وترد نتائج التقييم التفصيلي في هذا؟ مدونة.
للتعرف على المتطلبات المتعلقة بذاكرة وحدة معالجة الرسومات والإنتاجية ذات الصلة، راجع النتائج هنا .
يوصى باستخدام أحدث إصدار من transformers
(4.37.0 على الأقل). نعرض هنا مقتطفًا من التعليمات البرمجية ليوضح لك كيفية استخدام نموذج الدردشة مع 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 ]
بالنسبة للنماذج الكمية، ننصحك باستخدام مراسلات GPTQ وAWQ، وهي Qwen2.5-7B-Instruct-GPTQ-Int8
و Qwen2.5-7B-Instruct-AWQ
.
نحن ننصح المستخدمين بشدة، خاصة أولئك الموجودين في الصين القارية، باستخدام ModelScope. يمكن أن يساعدك snapshot_download
في حل المشكلات المتعلقة بتنزيل نقاط التفتيش.
بعد تثبيت ollama، يمكنك بدء خدمة ollama باستخدام الأمر التالي:
ollama serve
# You need to keep this service running whenever you are using ollama
لسحب نقطة تفتيش النموذج وتشغيل النموذج، استخدم أمر ollama run
. يمكنك تحديد حجم النموذج عن طريق إضافة لاحقة إلى qwen2.5
، مثل :0.5b
أو :1.5b
أو :7b
أو :72b
:
ollama run qwen2.5:7b
# To exit, type "/bye" and press ENTER
يمكنك أيضًا الوصول إلى خدمة ollama عبر واجهة برمجة التطبيقات المتوافقة مع OpenAI. يرجى ملاحظة أنك بحاجة إلى (1) الحفاظ على تشغيل ollama serve
أثناء استخدام واجهة برمجة التطبيقات (API)، و(2) تنفيذ ollama run qwen2.5:7b
قبل استخدام واجهة برمجة التطبيقات (API) هذه لضمان إعداد نقطة فحص النموذج.
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' ,
)
لمزيد من التفاصيل، يرجى زيارة ollama.ai.
قم بتنزيل ملفات GGUF المتوفرة لدينا أو قم بإنشائها بنفسك، ويمكنك استخدامها مباشرةً مع أحدث إصدار llama.cpp
باستخدام أمر من سطر واحد:
./llama-cli -m < path-to-file > -n 512 -co -sp -cnv -p " You are Qwen, created by Alibaba Cloud. You are a helpful assistant. "
للحصول على أدلة إضافية، يرجى الرجوع إلى وثائقنا.
إذا كنت تعمل على Apple Silicon، فقد قدمنا أيضًا نقاط فحص متوافقة مع mlx-lm
. ابحث عن النماذج التي تنتهي بـ MLX على HuggingFace Hub، مثل Qwen2.5-7B-Instruct-MLX.
لقد تم بالفعل دعم Qwen2.5 بواسطة lmstudio.ai. يمكنك استخدام LMStudio مباشرةً مع ملفات GGUF الخاصة بنا.
لقد تم بالفعل دعم Qwen2.5 بواسطة مجموعة أدوات OpenVINO. يمكنك تثبيت وتشغيل مثال chatbot هذا باستخدام وحدة المعالجة المركزية Intel CPU أو وحدة معالجة الرسومات المدمجة أو وحدة معالجة الرسومات المنفصلة.
يمكنك استخدام text-generation-webui
مباشرة لإنشاء عرض توضيحي لواجهة مستخدم الويب. إذا كنت تستخدم GGUF، فتذكر تثبيت أحدث عجلة من llama.cpp
بدعم Qwen2.5.
قم باستنساخ llamafile
، وتشغيل التثبيت المصدر، ثم قم بإنشاء ملف llamafile الخاص بك باستخدام ملف GGUF باتباع الدليل هنا. أنت قادر على تشغيل سطر واحد من الأوامر، على سبيل المثال ./qwen.llamafile
لإنشاء عرض توضيحي.
يتم دعم Qwen2.5 بواسطة أطر استدلال متعددة. نعرض هنا استخدام vLLM
و SGLang
و OpenLLM
.
تحذير
لا يعمل مع vllm 0.6.3.
ننصحك باستخدام أحدث إصدار من vLLM لإنشاء خدمة API متوافقة مع OpenAI، بما في ذلك دعم استخدام الأداة. ابدأ الخادم بنموذج دردشة، على سبيل المثال Qwen2.5-7B-Instruct
:
vllm serve Qwen/Qwen2.5-7B-Instruct
ثم استخدم واجهة برمجة تطبيقات الدردشة كما هو موضح أدناه:
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 )
تحذير
لا تدعم واجهات برمجة التطبيقات المتوافقة مع OpenAI التي تقدمها SGLang حاليًا استخدام الأداة أو استدعاء الوظائف .
الرجاء تثبيت SGLang
من المصدر. كما هو الحال مع vLLM
، تحتاج إلى تشغيل خادم واستخدام خدمة API المتوافقة مع OpenAI. ابدأ الخادم أولاً:
python -m sglang.launch_server --model-path Qwen/Qwen2.5-7B-Instruct --port 30000
يمكنك استخدامه في بايثون كما هو موضح أدناه:
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 تشغيل Qwen2.5 بسهولة كواجهات برمجة التطبيقات المتوافقة مع OpenAI. يمكنك بدء خادم نموذجي باستخدام openllm serve
. على سبيل المثال:
openllm serve qwen2.5:7b
الخادم نشط على http://localhost:3000/
، ويوفر واجهات برمجة التطبيقات المتوافقة مع OpenAI. يمكنك إنشاء عميل OpenAI لاستدعاء واجهة برمجة تطبيقات الدردشة الخاصة به. لمزيد من المعلومات، راجع وثائقنا.
بالنسبة لإمكانات استخدام الأداة، نوصي بإلقاء نظرة على Qwen-Agent، الذي يوفر غلافًا حول واجهات برمجة التطبيقات هذه لدعم استخدام الأداة أو استدعاء الوظائف. يمكن أيضًا استخدام الأداة مع Qwen2.5 باستخدام transformers
Hugging Face وOllama وvLLM. اتبع الإرشادات الموجودة في وثائقنا لمعرفة كيفية تمكين الدعم.
ننصحك باستخدام أطر التدريب، بما في ذلك Axolotl وLlama-Factory وunsloth وSwift وما إلى ذلك، لضبط نماذجك باستخدام SFT وDPO وPPO وما إلى ذلك.
جميع نماذجنا مفتوحة المصدر، باستثناء المتغيرات 3B و72B، مرخصة بموجب Apache 2.0. يمكنك العثور على ملفات الترخيص في مستودعات Hugging Face المعنية. ليس من الضروري أن تقوم بتقديم طلب للاستخدام التجاري.
إذا وجدت عملنا مفيدًا، فلا تتردد في إعطائنا اقتباسًا.
@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}
}
إذا كنت مهتمًا بترك رسالة لفريق البحث أو فريق المنتج لدينا، انضم إلى مجموعات Discord أو WeChat الخاصة بنا!