انشر الوكلاء المحليين في كل مكان باستخدام LFM2.5-2.6B
اكتشف كيف يتيح نموذج LFM2.5-2.6B وكلاء ذكاء اصطناعي خفيفي الوزن يحافظون على الخصوصية على الأجهزة الطرفية. يوفّر هذا النموذج المدمج قدرات قوية في الاستدلال واستخدام الأدوات، مما يجعل الأتمتة المحلية عمليةً لإنترنت الأشياء والأجهزة المحمولة والبيئات غير المتصلة بالإنترنت دون التضحية بالأداء.
الوسوم
ملخص سريع
اكتشف كيف يتيح نموذج LFM2.5-2.6B وكلاء ذكاء اصطناعي خفيفي الوزن يحافظون على الخصوصية على الأجهزة الطرفية. يوفّر هذا النموذج المدمج قدرات قوية في الاستدلال واستخدام الأدوات، مما يجعل الأتمتة المحلية عمليةً لإنترنت الأشياء والأجهزة المحمولة والبيئات غير المتصلة بالإنترنت دون التضحية بالأداء.
انشر وكلاء محليين في كل مكان باستخدام LFM2.5-2.6B
أصبح الذكاء الاصطناعي الوكيل (Agentic AI) السمة المهيمنة في تطوير البرمجيات الحديثة. من تحديثات خارطة طريق OpenAI إلى إعلانات Microsoft للمؤسسات حول الذكاء الاصطناعي وعمل Anthropic على النماذج التي تستخدم الأدوات، تظل الرسالة ثابتة: المستقبل ينتمي إلى الأنظمة التي تستطيع التخطيط، واستدعاء الأدوات، والعمل بشكل مستقل. ولكن بينما يحدث جزء كبير من هذا التقدم في مراكز البيانات السحابية الضخمة، هناك ثورة أكثر هدوءًا تحدث في الخلفية—وهي تشغيل وكلاء قادرين على الأجهزة التي تمتلكها فعليًا.
هذه الثورة مدعومة بنماذج صغيرة الحجم لكنها قوية مفتوحة الأوزان. نموذج LFM2.5-2.6B، وهو نموذج أساسي يحتوي على 2.6 مليار معامل من جيل LFM (Liquid Foundation Model)، هو واحد من أكثر الإدخالات إثارة للاهتمام في هذا المجال. تم تسليط الضوء عليه في مدونة Hugging Face، وهو مصمم ليغطي النقطة المثالية بين الأداء الخام والكفاءة الحسابية. في هذه المقالة، ستتعلم كيفية تحويل هذا النموذج إلى وكيل محلي حقيقي يعمل فعليًا—تثبيته، وإعداده، وربطه لاستخدام الأدوات—بحيث يمكنك تشغيل مساعدين مستقلين على كمبيوتر محمول، أو خادم صغير، أو حتى جهاز حافة منخفض الطاقة.
لماذا تهم الوكلاء المحليون؟
قبل الغوص في التفاصيل التقنية، من الجدير أن نسأل لماذا تريد وكيلًا محليًا في المقام الأول. لقد أمضت مختبرات الذكاء الاصطناعي الكبيرة سنوات في بناء نماذج حدودية ضخمة بنوافذ سياق واسعة وقدرات متطورة لاستدعاء الأدوات. تلك النماذج مثيرة للإعجاب، لكنها تأتي مع قيود: فهي مستضافة عن بُعد، وتتطلب اتصالًا بالشبكة، وتتم معالجة استعلاماتك على بنية تحتية خارج سيطرتك.
تحل الوكلاء المحليون مجموعة مختلفة من المشكلات. عندما يعمل كل شيء على أجهزتك، لا تغادر بياناتك جهازك أبدًا، وهو أمر مهم للمستندات التجارية السرية والسجلات الطبية والمحادثات الشخصية. كما أن النشر المحلي يزيل تكاليف API لكل رمز مميز. لا يوجد عداد يعمل عند تشغيل نموذجك الخاص؛ التكلفة الوحيدة هي الكهرباء وسعر الأجهزة التي تمتلكها بالفعل.
هناك أيضًا قصة زمن الاستجابة (الكمون). يمكن للوكيل المحلي الإجابة على الأسئلة واستدعاء الأدوات في أجزاء من الألف من الثانية لأنه لا توجد رحلة ذهاب وإياب إلى مركز بيانات بعيد. بالنسبة للأتمتة التفاعلية—الروبوتات التي تتفاعل مع اختصارات لوحة المفاتيح، أو مشغلات المستشعرات، أو أحداث نظام الملفات—فإن زمن الاستجابة المنخفض ليس ترفًا؛ بل هو مطلب أساسي.
أخيرًا، هناك مسألة المرونة. يمكن للوكيل المثبت محليًا أن يتم ضبطه بدقة وتخصيصه وإعادة برمجته باستمرار دون الاصطدام بحدود المعدل أو سياسات المنتج. أنت تملك التكديس بأكمله، من الأوزان إلى كود الاستدلال.
تقديم LFM2.5-2.6B
تم بناء جيل LFM2.5 من نماذج Liquid Foundation Models مع وضع الكفاءة كهدف تصميم أساسي. البديل 2.6B—LFM2.5-2.6B—خفيف بما يكفي ليعمل على وحدة معالجة رسوميات استهلاكية، أو معالج كمبيوتر محمول حديث، أو حتى جهاز من فئة Raspberry Pi عند تحديد الكم (quantization) بشكل صحيح.
النموذج مصمم لسير العمل الوكيل: فهو يتعامل مع سياقات محادثة طويلة، ويمكنه توليد مخرجات منظمة مثل JSON لاستدعاء الدوال، وهو مُهيأ عمدًا لترك مساحة كافية في الذاكرة للبنية التحتية الداعمة التي يحتاجها الوكيل—مخططات الأدوات، وسجل المحادثة، وحلقة التنفيذ. ولأنه موزع علنًا على Hugging Face، تحصل على الأوزان الكاملة، ومحلل الرموز (tokenizer)، وبطاقة النموذج، مما يعني أنك لست مقيدًا بتنسيق API مملوك.
كل هذا يجعل LFM2.5-2.6B مثالًا نصيًا لفلسفة "انشر الوكلاء المحليين في كل مكان": صغير بما يكفي ليكون محمولًا، وقادر بما يكفي ليكون مفيدًا حقًا، ومفتوح بما يكفي ليشكله كما تتطلب احتياجات سير عملك.
المتطلبات
تعتمد المتطلبات الدقيقة على مدى عدوانية خطتك للتحسين، لكن إليك خطًا أساسيًا سيعمل مع معظم القراء:
- **Python 3.10 أو أحدث**، مع `pip` وأداة بيئة افتراضية.
- **جهاز بذاكرة وصول عشوائي (RAM) لا تقل عن 8 جيجابايت** للاستدلال بوحدة المعالجة المركزية (CPU) بدقة كاملة. إذا كنت تريد تجربة مريحة، فذاكرة 16 جيجابايت أفضل.
- **وحدة معالجة رسوميات بذاكرة فيديو (VRAM) لا تقل عن 4 جيجابايت**. تعد بطاقات NVIDIA هي الأبسط بسبب دعم CUDA و `bitsandbytes`. يعد Apple Silicon أيضًا خيارًا قابلاً للتطبيق عبر الواجهة الخلفية Metal (يدعم PyTorch ذلك خارج الصندوق).
- **Git مثبت** لاستنساخ المستودعات المساعدة مثل `llama.cpp`.
- **حساب مجاني على Hugging Face**، بما في ذلك رمز وصول للمستخدم، لتنزيل النموذج. بعض النماذج مقيدة؛ قد تحتاج إلى قبول الشروط على بطاقة النموذج على huggingface.co/models قبل التنزيل.
إذا لم يكن لديك أي من هذه ولكنك تمتلك جهاز كمبيوتر، فلا تقلق—التثبيت بالكامل مصمم ليعمل على أجهزة متواضعة، وسنقوم بتضمين تحديد الكم كخطوة من الدرجة الأولى.
التثبيت خطوة بخطوة
1. إنشاء بيئة معزولة
الخطوة الأولى هي إنشاء بيئة Python افتراضية جديدة. يمنع هذا تعارضات التبعيات مع المشاريع الأخرى على جهازك.
python3 -m venv lfm-agent
source lfm-agent/bin/activateيقوم أمر `source` بتنشيط البيئة؛ على نظام Windows، استبدله بـ `lfm-agent\Scripts\activate`.
2. تثبيت PyTorch ومكدس تحميل النموذج
PyTorch هو إطار عمل التعلم العميق الذي سينفذ النموذج. إذا كان لديك وحدة معالجة رسوميات NVIDIA، فقم بتثبيت البنية الممكّنة بـ CUDA؛ وإلا، استخدم بنية CPU. كلا الأمرين موضحان أدناه.
pip install --upgrade pip
pip install torch --index-url https://download.pytorch.org/whl/cu121للأجهزة التي تعمل بوحدة المعالجة المركزية فقط:
pip install torch --index-url https://download.pytorch.org/whl/cpuبعد ذلك، قم بتثبيت نظام Hugging Face البيئي: `transformers` هي مكتبة الاستدلال الرئيسية لدينا، بينما يتعامل `accelerate` مع وضع الأجهزة، ويمكّن `bitsandbytes` من تحديد الكم الفعال بـ 4 بت.
pip install "transformers>=4.45.0" accelerate bitsandbytes huggingface_hub sentencepiece3. المصادقة مع Hugging Face Hub
يتم توزيع العديد من النماذج مفتوحة المصدر، بما في ذلك العديد من عائلة LFM، من خلال Hugging Face Hub وقد تتطلب منك الإقرار بشروط الترخيص قبل التنزيل. أداة `huggingface-cli` مثبتة بالفعل كجزء من حزمة `huggingface_hub`. سجل الدخول باستخدام الرمز الخاص بك:
huggingface-cli loginيطلب الأمر الرمز الخاص بك، والذي تقوم بإنشائه تحت **Settings → Access Tokens** على hf.co. بمجرد كتابته، يتم تخزين الرمز مؤقتًا محليًا، وتستخدمه جميع التنزيلات اللاحقة تلقائيًا.
4. تنزيل أوزان النموذج
سنقوم بتنزيل النموذج في دليل محلي حتى نتمكن من تشغيل عدة واجهات خلفية مختلفة للاستدلال على نفس مجموعة الملفات. تذكر استبدال `your-org` بمساحة الاسم الفعلية الموضحة على بطاقة نموذج LFM2.5-2.6B.
from huggingface_hub import snapshot_download
repo_id = "your-org/LFM2.5-2.6B-instruct"
snapshot_download(repo_id=repo_id, local_dir="lfm2.5-2.6b-instruct")تحافظ دالة `snapshot_download` على بنية المستودع الدقيقة. إذا كنت تعاني من نقص في مساحة القرص، يمكنك تمرير `allow_patterns=["*.json", "*.safetensors"]` لتخطي الملفات غير الأساسية.
5. تحميل النموذج مع Transformers
إليك نصًا برمجيًا بسيطًا يقوم بتحميل النموذج بصيغة bfloat16 ويضعه بذكاء عبر أجهزتك باستخدام `device_map="auto"`. يجب أن يعمل هذا على وحدة معالجة رسوميات واحدة، أو إعداد متعدد وحدات معالجة الرسوميات، أو وحدة معالجة مركزية قوية.
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer
model_path = "lfm2.5-2.6b-instruct"
tokenizer = AutoTokenizer.from_pretrained(model_path)
model = AutoModelForCausalLM.from_pretrained(
model_path,
torch_dtype=torch.bfloat16,
device_map="auto",
)تعمل وسيطة `torch_dtype` على خفض استخدام الذاكرة إلى النصف مقارنة بدقة float32 الكاملة بتكلفة جودة لا تذكر.
6. تحديد الكم للأجهزة الأضعف
إذا كان جهازك يحتوي على أقل من 8 جيجابايت من ذاكرة الوصول العشوائي بدون وحدة معالجة رسوميات، فقم بتحميل النموذج في وضع 4 بت. تحديد الكم هو أكبر عامل تمكين لتشغيل الوكلاء المحليين على أجهزة الكمبيوتر المحمولة القديمة وأجهزة الحافة.
from transformers import BitsAndBytesConfig
quant_config = BitsAndBytesConfig(
load_in_4bit=True,
bnb_4bit_compute_dtype=torch.bfloat16,
)
model = AutoModelForCausalLM.from_pretrained(
model_path,
quantization_config=quant_config,
)مع تحديد الكم بـ 4 بت، يصبح LFM2.5-2.6B صغيرًا جدًا في الذاكرة. هناك انخفاض طفيف في جودة المخرجات، لكنك تكتسب القدرة على تشغيل الوكيل على أي كمبيوتر محمول تقريبًا.
7. بديل: تشغيله مع llama.cpp على وحدة المعالجة المركزية النقية
إذا كنت تفضل وقت تشغيل C++ عالي التحسين يعمل جيدًا على وحدات المعالجة المركزية ويدعم تحديد الكم GGUF، فإن `llama.cpp` خيار ممتاز. أولاً، استنسخه وقم ببنائه:
git clone https://github.com/ggerganov/llama.cpp
cd llama.cpp
cmake -B build
cmake --build build --config Releaseبعد ذلك، قم بتحويل أوزان Hugging Face إلى تنسيق GGUF:
python3 tools/convert_hf_to_gguf.py ../lfm2.5-2.6b-instruct --outfile lfm2.5-2.6b-q8.ggufأخيرًا، قم بتشغيل استدلال خام للتحقق من التثبيت:
./build/bin/llama-cli -m lfm2.5-2.6b-q8.gguf -p "Explain local agents in one sentence." -n 128إذا رأيت جملة منطقية مطبوعة في الطرفية، فإن النشر يعمل.
أمثلة الاستخدام
تثبيت النموذج هو نصف المعركة فقط. القيمة الحقيقية تأتي عندما تغلفه في حلقة وكيل يمكنها استخدام الأدوات. أدناه، ننتقل من استدعاء دردشة بسيط إلى وكيل كامل مع استدعاء الأدوات وواجهة برمجة تطبيقات HTTP.
1. توليد النص الأساسي
ابدأ بتوليد بسيط للتأكد من أن النموذج يعمل من البداية إلى النهاية. سنستخدم قالب الدردشة الخاص بالنموذج بحيث يتبع الإخراج تنسيق المحادثة.
prompt = tokenizer.apply_chat_template(
[{"role": "user", "content": "What is the fastest way to test an agent loop?"}],
tokenize=False,
add_generation_prompt=True,
)
inputs = tokenizer(prompt, return_tensors="pt").to(model.device)
outputs = model.generate(**inputs, max_new_tokens=256)
response = tokenizer.decode(outputs[0][inputs.input_ids.shape[1]:], skip_special_tokens=True)
print(response)إذا نجح هذا، فإن النموذج جاهز ليصبح وكيلًا.
2. بناء حلقة وكيل لاستدعاء الأدوات
الفكرة الأساسية للوكيل هي حلقة: يتلقى النموذج مهمة، ويقرر أي أداة يجب استدعاؤها، وتنفذ الأداة، وتُعاد النتيجة، وينتج النموذج الإجابة النهائية. أدناه تنفيذ بسيط ولكن كامل بلغة Python خالصة. يستخدم تعبيرات منتظمة لاستخراج إجراء JSON، مما يبقي التبعيات عند الصفر.
import json
import re
from transformers import pipeline
generator = pipeline("text-generation", model=model, tokenizer=tokenizer)
# Example tools: replace with your own functions
TOOLS = {
"get_weather": lambda city: f"The weather in {city} is 21°C and clear.",
"get_git_status": lambda repo: "3 files changed, 42 insertions(+)",
}
def run_agent(prompt: str, max_steps: int = 5) -> str:
messages = [
{
"role": "system",
"content": (
"You are a local agent. Choose a tool and respond with JSON "
'in this format: {"tool": "name", "args": {...}}. '
"Otherwise, reply in plain text."
),
},
{"role": "user", "content": prompt},
]
for _ in range(max_steps):
reply = generator(
messages,
max_new_tokens=120,
do_sample=False,
)[0]["generated_text"][-1]["content"]
match = re.search(r'\{"tool": "(.*?)", "args": (\{.*?\})\}', reply, re.DOTALL)
if not match:
return reply
tool_name, raw_args = match.group(1), match.group(2)
args = json.loads(raw_args)
result = TOOLS[tool_name](**args)
messages.append({"role": "assistant", "content": reply})
messages.append({"role": "tool", "content": result})
return "Max steps reached without conclusion."
print(run_agent("What's the weather in Brussels?"))دعنا نحلل ما يحدث هنا. يوجه prompt النظام النموذج لإصدار JSON عندما يريد استدعاء أداة. تكتشف الحلقة ذلك JSON، وتنفذ دالة Python المقابلة، وتضيف النتيجة كرسالة جديدة، وتترك النموذج يواصل. عندما يقرر النموذج عدم الحاجة إلى أداة، تنتهي الحلقة وتُرجع إجابة النص العادي.
هذا النمط خفيف عمدًا. لا يعتمد على LangChain أو أي إطار عمل وكيل، مما يعني أنه يمكن تشغيله في أي مكان—بما في ذلك داخل حاوية Docker على Raspberry Pi. إذا كنت بحاجة إلى تنسيق أكثر هيكلية، فراجع بطاقة نموذج LFM2.5 لمعرفة بناء جملة استدعاء الدوال المحدد الذي تم تدريبه عليه؛ تظل الحلقة العامة كما هي.
3. تقديم الوكيل كواجهة برمجة تطبيقات HTTP
يكون الوكيل المحلي أكثر فائدة عندما يمكن للعمليات الأخرى استدعاؤه. دعنا نعرض حلقة الوكيل من خلال خادم FastAPI صغير بحيث يمكن للبرامج النصية ولوحات المعلومات وحتى الأجهزة الأخرى على شبكتك المحلية التحدث معه.
أولاً، قم بتثبيت تبعيات الخادم:
pip install fastapi uvicorn pydanticاحفظ الكود التالي كـ `server.py`:
from fastapi import FastAPI
from pydantic import BaseModel
app = FastAPI()
class AgentRequest(BaseModel):
prompt: str
max_steps: int = 5
class AgentResponse(BaseModel):
output: str
@app.post("/agent", response_model=AgentResponse)
def agent_endpoint(req: AgentRequest):
return AgentResponse(output=run_agent(req.prompt, req.max_steps))ثم ابدأ الخادم:
uvicorn server:app --host 0.0.0.0 --port 8000علم `--host 0.0.0.0` يجعل الواجهة متاحة للأجهزة الأخرى على شبكتك، بحيث يمكن لهاتفك، أو كمبيوتر محمول زميل، أو وحدة إنترنت الأشياء إرسال الاستعلامات إلى نفس الوكيل المحلي.
اختبره باستخدام `curl`:
curl -X POST http://localhost:8000/agent \
-H "Content-Type: application/json" \
-d '{"prompt": "What is the weather in Brussels?"}'التوسع إلى عمليات نشر محلية بأسلوب الإنتاج
تغطي الأمثلة أعلاه استخدام مستخدم واحد. إذا كنت تخطط لنشر LFM2.5-2.6B كخدمة وكيل لفريق أو أسطول من الأجهزة، ففكر في الانتقال من `transformers` إلى محرك استدلال بدرجة إنتاجية مثل `vLLM`، والذي يوفر تجميعًا مستمرًا وإنتاجية أعلى بكثير. التثبيت مباشر:
pip install vllmثم ابدأ نقطة نهاية متوافقة مع OpenAI:
vllm serve your-org/LFM2.5-2.6B-instruct --max-model-len 8192بمجرد تشغيله، يمكن لمكتبات عميل OpenAI القياسية الاتصال به عن طريق توجيه عنوان URL الأساسي إلى `http://localhost:8000/v1`. يتيح لك هذا إعادة استخدام أطر عمل وأدوات الوكيل الحالية دون حرق أي أرصدة سحابية.
بالنسبة لنشر الأسطول عبر "كل مكان"—بما في ذلك أجهزة الحافة المختلطة بأجهزة GPU/CPU—احتفظ بنقطة تفتيش GGUF أو 4-bit مشتركة واحدة، وادفعها إلى كل جهاز عبر أداة إدارة التكوين القياسية لديك، وشغل نفس حلقة الوكيل في كل مكان.
الخاتمة
لم تعد الوكلاء المحليون هواية متخصصة. تتحرك صناعة الذكاء الاصطناعي في اتجاهين متكاملين في نفس الوقت: تواصل المختبرات الحدودية مثل OpenAI وMicrosoft وAnthropic دفع الوكلاء على نطاق سحابي، بينما يثبت مجتمع المصادر المفتوحة، الذي يتم تتبعه على نطاق واسع في مدونة Hugging Face Blog، أن النماذج الصغيرة يمكنها التعامل مع قدر مدهش من الأتمتة الواقعية. يتناسب LFM2.5-2.6B تمامًا في تلك الفئة الثانية.
في هذه المقالة، مررت بدورة الحياة الكاملة لنشر وكيل محلي: تثبيت بيئة Python، وسحب أوزان النموذج من Hugging Face، وتحميلها إما بدقة كاملة أو بكمية محددة، وبناء حلقة استدعاء أدوات من الصفر، وكشف هذه الحلقة عبر HTTP. كما رأيت المسار إلى إعداد بدرجة إنتاجية مع `vLLM` أو خلفية `llama.cpp` النقية لوحدة المعالجة المركزية.
الخلاصة بسيطة: مع حوالي 2.6 مليار معامل وخط أنابيب نشر صحيح، لست بحاجة إلى مركز بيانات لتشغيل وكيل. أنت بحاجة إلى كمبيوتر محمول، وبعض الأدوات، والاستعداد للتجربة. الوكلاء الذين تبنيهم يمكنهم قراءة ملفاتك، والاستعلام عن الويب، والتحقق من الطقس، وإدارة مستودعات git، أو أتمتة منزلك—كل ذلك محليًا، وبخصوصية، وبدون رسوم متكررة.
هذا هو وعد نشر الوكلاء المحليين في كل مكان. النموذج محمل. الأدوات متصلة. ماذا سيفعل وكيلك؟
المصادر
أسئلة شائعة
عن ماذا يتحدث هذا المقال؟
يتناول هذا المقال موضوع "انشر الوكلاء المحليين في كل مكان باستخدام LFM2.5-2.6B" ضمن تصنيف وكلاء الذكاء الاصطناعي. اكتشف كيف يتيح نموذج LFM2.5-2.6B وكلاء ذكاء اصطناعي خفيفي الوزن يحافظون على الخصوصية على الأجهزة الطرفية. يوفّر هذا النموذج المدمج قدرات قوية في الاستدلال واستخدام الأدوات، مما يجعل الأتمتة المحلية عمليةً لإنترنت الأشياء والأجهزة المحمولة والبيئات غير المتصلة بالإنترنت دون التضحية بالأداء.
لمن يفيد هذا المقال؟
يفيد القراء المهتمين بفهم أدوات وتقنيات الذكاء الاصطناعي بطريقة عملية وواضحة.
ما الخطوة التالية؟
اقرأ المقال كاملاً، راجع المصادر المرفقة، ثم جرّب الأفكار المناسبة لاحتياجك بحذر.



