كيفية نشر لاما 4 على AWS و Azure و Hugging Face

@apidog

@apidog

8 نوفمبر 2025

كيفية نشر لاما 4 على AWS و Azure و Hugging Face

Apidog للمؤسسات

النشر على الخوادم المحلية

SSO و RBAC

متوافق مع SOC 2

استكشف Apidog للمؤسسات

يوفر هذا الدليل إرشادات خطوة بخطوة لنشر نماذج Llama 4 من Meta (Scout وMaverick) على ثلاث منصات رئيسية: AWS وAzure وHugging Face. تقدم هذه النماذج قدرات متقدمة تشمل المعالجة متعددة الوسائط، ونوافذ سياق ضخمة، وأداء على أحدث طراز.

💡
نصيحة للمطورين: قبل الانغماس في النشر، ضع في اعتبارك ترقية أدوات اختبار API الخاصة بك! يوفر Apidog بديلاً أكثر بديهية وغنيًا بالميزات لـ Postman مع دعم أفضل لنقاط نهاية نماذج الذكاء الاصطناعي، والاختبار التعاوني، وتوثيق API المؤتمت. ستشكر سير عمل نشر LLM الخاصة بك لقيامك بإجراء التبديل.
زر

المتطلبات السابقة ومتطلبات الأجهزة لنشر Llama 4

AWS (عبر TensorFuse)

Azure

(هذا يتماشى مع إرشادات Azure ML العامة لنماذج اللغة الكبيرة، ولكن لم يتم العثور على وثائق محددة لـ Llama 4 لتأكيد المتطلبات الدقيقة.)

Hugging Face

1. نشر Llama 4 على AWS باستخدام TensorFuse

1.1 إعداد AWS وTensorFuse

تثبيت واجهة سطر الأوامر لـ TensorFuse:

pip install tensorfuse

تكوين بيانات اعتماد AWS:

aws configure

تهيئة TensorFuse مع حساب AWS الخاص بك:

tensorkube init

1.2 إنشاء الأسرار المطلوبة

تخزين رمز Hugging Face الخاص بك:

tensorkube secret create hugging-face-secret YOUR_HF_TOKEN --env default HUGGING_FACE_HUB_TOKEN=

إنشاء رمز مصادقة API:

tensorkube secret create vllm-token vllm-key --env default VLLM_API_KEY=

1.3 إنشاء Dockerfile لـ Llama 4

لنموذج Scout:

FROM vllm/vllm-openai:v0.8.3
ENV HF_HUB_ENABLE_HF_TRANSFER=1
EXPOSE 80
ENTRYPOINT ["python3", "-m", "vllm.entrypoints.openai.api_server", \\\\
            "--model", "meta-llama/Llama-4-Scout-17B-16E-Instruct", \\\\
            "--dtype", "bfloat16", \\\\
            "--trust-remote-code", \\\\
            "--tensor-parallel-size", "8", \\\\
            "--max-model-len", "1000000", \\\\
            "--port", "80", \\\\
            "--override-generation-config", "{\\\\"attn_temperature_tuning\\\\": true}", \\\\
            "--limit-mm-per-prompt", "image=10", \\\\
            "--kv-cache-dtype", "fp8", \\\\
            "--api-key", "${VLLM_API_KEY}"]

لنموذج Maverick:

FROM vllm/vllm-openai:v0.8.3
ENV HF_HUB_ENABLE_HF_TRANSFER=1
EXPOSE 80
ENTRYPOINT ["python3", "-m", "vllm.entrypoints.openai.api_server", \\\\
            "--model", "meta-llama/Llama-4-Maverick-17B-128E-Instruct", \\\\
            "--dtype", "bfloat16", \\\\
            "--trust-remote-code", \\\\
            "--tensor-parallel-size", "8", \\\\
            "--max-model-len", "430000", \\\\
            "--port", "80", \\\\
            "--override-generation-config", "{\\\\"attn_temperature_tuning\\\\": true}", \\\\
            "--limit-mm-per-prompt", "image=10", \\\\
            "--kv-cache-dtype", "fp8", \\\\
            "--api-key", "${VLLM_API_KEY}"]

1.4 إنشاء تكوين النشر

إنشاء deployment.yaml:

gpus: 8
gpu_type: h100
secret:
  - huggingfacesecret
  - vllmtoken
min-scale: 1
readiness:
  httpGet:
    path: /health
    port: 80

1.5 نشر على AWS

نشر خدمتك:

tensorkube deploy --config-file ./deployment.yaml

1.6 الوصول إلى خدمتك المنشورة

قائمة النشر للحصول على عنوان URL لنقطة النهاية الخاصة بك:

tensorkube deployment list

اختبار النشر الخاص بك:

curl --request POST \\\\
  --url YOUR_APP_URL/v1/completions \\\\
  --header 'Content-Type: application/json' \\\\
  --header 'Authorization: Bearer vllm-key' \\\\
  --data '{
    "model": "meta-llama/Llama-4-Scout-17B-16E-Instruct",
    "prompt": "الأرض إلى Llama 4. ماذا يمكنك أن تفعل؟",
    "max_tokens": 1000
  }'

2. نشر Llama 4 على Azure

2.1 إعداد مساحة عمل Azure ML

تثبيت Azure CLI وملحقاته:

pip install azure-cli azure-ml
az login

إنشاء مساحة عمل Azure ML:

az ml workspace create --name llama4-workspace --resource-group your-resource-group

2.2 إنشاء كتلة حسابية

az ml compute create --name llama4-cluster --type amlcompute --min-instances 0 \\\\
  --max-instances 1 --size Standard_ND40rs_v2 --vnet-name your-vnet-name \\\\
  --subnet your-subnet --resource-group your-resource-group --workspace-name llama4-workspace

2.3 تسجيل نموذج Llama 4 في Azure ML

إنشاء model.yml:

$schema: <https://azuremlschemas.azureedge.net/latest/model.schema.json>
name: llama-4-scout
version: 1
path: .
properties:
  model_name: "meta-llama/Llama-4-Scout-17B-16E-Instruct"

تسجيل النموذج:

az ml model create --file model.yml --resource-group your-resource-group --workspace-name llama4-workspace

2.4 إنشاء تكوين النشر

إنشاء deployment.yml:

$schema: <https://azuremlschemas.azureedge.net/latest/managedOnlineDeployment.schema.json>
name: llama4-deployment
endpoint_name: llama4-endpoint
model: azureml:llama-4-scout@latest
instance_type: Standard_ND40rs_v2
instance_count: 1
environment_variables:
  HUGGING_FACE_HUB_TOKEN: ${{secrets.HF_TOKEN}}
  VLLM_API_KEY: ${{secrets.VLLM_KEY}}
environment:
  image: vllm/vllm-openai:v0.8.3
  conda_file: conda.yml

إنشاء conda.yml:

channels:
  - conda-forge
dependencies:
  - python=3.10
  - pip
  - pip:
    - vllm==0.8.3
    - transformers
    - accelerate

2.5 إنشاء نقطة النهاية والنشر

az ml online-endpoint create --name llama4-endpoint \\\\
  --resource-group your-resource-group --workspace-name llama4-workspace

az ml online-deployment create --file deployment.yml \\\\
  --resource-group your-resource-group --workspace-name llama4-workspace

2.6 اختبار النشر

az ml online-endpoint invoke --name llama4-endpoint --request-file request.json \\\\
  --resource-group your-resource-group --workspace-name llama4-workspace

حيث يحتوي request.json على:

{
  "model": "meta-llama/Llama-4-Scout-17B-16E-Instruct",
  "prompt": "الأرض إلى Llama 4. ماذا يمكنك أن تفعل؟",
  "max_tokens": 1000
}

3. نشر Llama 4 على Hugging Face

3.1 إعداد حساب Hugging Face

  1. إنشاء حساب Hugging Face على https://huggingface.co/
  2. قبول اتفاقية الترخيص لنماذج Llama 4 على https://huggingface.co/meta-llama

3.2 النشر باستخدام مساحات Hugging Face

انتقل إلى https://huggingface.co/spaces واضغط على "إنشاء مساحة جديدة"

قم بتكوين مساحتك:

استنساخ مستودع المساحة:

git clone <https://huggingface.co/spaces/YOUR_USERNAME/llama4-deployment>
cd llama4-deployment

3.3 إنشاء ملفات التطبيق

إنشاء app.py:

import gradio as gr
import torch
from transformers import pipeline, AutoModelForCausalLM, AutoTokenizer
import os

# أضف رمز HF الخاص بك إلى البيئة أو الأسرار
os.environ["HUGGING_FACE_HUB_TOKEN"] = "YOUR_HF_TOKEN"

# تحميل النموذج والمحلل مع التكوين المناسب
model_id = "meta-llama/Llama-4-Scout-17B-16E-Instruct"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(
    model_id,
    torch_dtype=torch.bfloat16,
    device_map="auto",
    trust_remote_code=True
)

# إنشاء خط أنابيب
pipe = pipeline(
    "text-generation",
    model=model,
    tokenizer=tokenizer,
    max_length=2048
)

def generate_text(prompt, max_length=1000, temperature=0.7):
    # تنسيق الطلب وفقًا لتنسيق Llama 4
    formatted_prompt = f"<|begin_of_text|><|user|>\\\\n{prompt}<|end_of_text|>\\\\n<|assistant|>"

    outputs = pipe(
        formatted_prompt,
        max_length=len(tokenizer.encode(formatted_prompt)) + max_length,
        temperature=temperature,
        do_sample=True,
    )

    return outputs[0]['generated_text'].replace(formatted_prompt, "")

# إنشاء واجهة Gradio
demo = gr.Interface(
    fn=generate_text,
    inputs=[
        gr.Textbox(lines=4, placeholder="أدخل طلبك هنا...", label="الطلب"),
        gr.Slider(minimum=100, maximum=2000, value=1000, step=100, label="الحد الأقصى للطول"),
        gr.Slider(minimum=0.1, maximum=1.0, value=0.7, step=0.1, label="درجة الحرارة")
    ],
    outputs="text",
    title="عرض Llama 4",
    description="توليد نص باستخدام نموذج Llama 4 من Meta",
)

demo.launch()

إنشاء requirements.txt:

accelerate>=0.20.3
bitsandbytes>=0.41.1
gradio>=3.50.0
torch>=2.0.1
transformers>=4.34.0

3.4 نشر على Hugging Face

ادفع إلى مساحة Hugging Face الخاصة بك:

git add app.py requirements.txt
git commit -m "إضافة نشر Llama 4"
git push

3.5 مراقبة النشر

  1. قم بزيارة عنوان URL الخاص بمساحة عملك: https://huggingface.co/spaces/YOUR_USERNAME/llama4-deployment
  2. ستستغرق عملية البناء الأولى بعض الوقت لأنها تحتاج إلى تنزيل النموذج وإعداده
  3. بمجرد النشر، سترى واجهة Gradio حيث يمكنك التفاعل مع النموذج

4. اختبار والتفاعل مع نشراتك

4.1 استخدام عميل بايثون للوصول إلى API (AWS وAzure)

import openai

# لـ AWS
client = openai.OpenAI(
    base_url="YOUR_AWS_URL/v1",  # من قائمة نشر tensorkube
    api_key="vllm-key"  # مفتاح API الخاص بك
)

# لـ Azure
client = openai.AzureOpenAI(
    azure_endpoint="YOUR_AZURE_ENDPOINT",
    api_key="YOUR_API_KEY",
    api_version="2023-05-15"
)

# إجراء طلب استكمال نص
response = client.completions.create(
    model="meta-llama/Llama-4-Scout-17B-16E-Instruct",
    prompt="اكتب قصيدة قصيرة عن الذكاء الاصطناعي.",
    max_tokens=200
)

print(response.choices[0].text)

# من أجل القدرات متعددة الوسائط (إذا كانت مدعومة)
import base64

# تحميل الصورة كقيمة مشفرة base64
with open("image.jpg", "rb") as image_file:
    image_base64 = base64.b64encode(image_file.read()).decode('utf-8')

# إنشاء استكمال دردشة مع الصورة
response = client.chat.completions.create(
    model="meta-llama/Llama-4-Scout-17B-16E-Instruct",
    messages=[
        {
            "role": "user",
            "content": [
                {"type": "text", "text": "صف هذه الصورة:"},
                {"type": "image_url", "image_url": {"url": f"data:image/jpeg;base64,{image_base64}"}}
            ]
        }
    ],
    max_tokens=300
)

print(response.choices[0].message.content)

الخاتمة

لديك الآن إرشادات خطوة بخطوة لنشر نماذج Llama 4 على AWS وAzure وHugging Face. تقدم كل منصة مزايا مختلفة:

اختر المنصة التي تناسب متطلباتك الخاصة من حيث التكلفة، والحجم، والأداء، وسهولة الإدارة.

ممارسة تصميم API في Apidog

اكتشف طريقة أسهل لبناء واستخدام واجهات برمجة التطبيقات