سد LLMs وبياناتك

أصبح التحدث إلى البرامج أمرًا طبيعيًا الآن، حتى تحتاج إلى بيانات عمل حقيقية. هذا هو المكان الذي تنكسر فيه الأشياء عادة. يعمل MCPToolbox to Databases على إصلاح هذه المشكلة من خلال منح وكلاء الذكاء الاصطناعي وصولاً آمنًا وموثوقًا إلى قواعد بيانات الإنتاج من خلال واجهة MCP موحدة. تصبح قواعد البيانات أدوات من الدرجة الأولى يمكن للوكلاء فحصها والاستعلام عنها والتفكير فيها باستخدام لغة طبيعية نظيفة وجاهزة للإنتاج لـ SQL. في هذه المقالة، نوضح سبب أهمية MCP ونوضح كيفية إنشاء وكيل قاعدة بيانات الذكاء الاصطناعي الخاص بك.
يعمل MCPToolbox to Databases كخادم يحول عمليات قاعدة البيانات إلى أدوات يمكن لوكلاء الذكاء الاصطناعي استخدامها بأمان. تم إنشاؤه في الأصل بواسطة Google وLangChain، وهو يدعم بروتوكول سياق النموذج ويقع بين تطبيق LLM وقاعدة البيانات.
يمكنك تكوين الاتصالات مرة واحدة، وهي تتعامل مع التجميع وتنفيذ SQL للوكيل. يستخدمه المطورون عندما يحتاج الذكاء الاصطناعي إلى بيانات حقيقية، بدءًا من روبوتات الدعم التي تستعلم عن إدارة علاقات العملاء إلى الوكلاء الذين يقومون بفحص المخططات، عبر قواعد البيانات مثل PostgreSQL وMySQL وCloud Spanner.
تشمل الميزات الرئيسية ما يلي:
- البروتوكول المفتوح والمصدر المفتوح: ويستخدم بروتوكول سياق النموذج المفتوح. صندوق الأدوات كله مفتوح المصدر. سيضمن هذا أنك لست ملزمًا بمورد واحد.
- دعم قواعد البيانات المتعددة: تتصل قاعدة البيانات المتعددة بالعديد من قواعد البيانات. هذه هي SQL Server وقواعد بيانات الرسم البياني مثل Neo4j.
- المؤسسة جاهزة: يحتوي Toolbox على مصادقة آمنة. كما أنه يوفر إمكانية المراقبة في شكل OpenTelemetry للتسجيل والمراقبة.
ببساطة، يوفر MCPToolbox لقواعد البيانات نقطة وصول مركزية موحدة لتوفير الوصول إلى نماذج الذكاء الاصطناعي لقواعد البيانات. يتيح ذلك للمطورين التركيز على منطق الذكاء الاصطناعي بدلاً من كود التكامل.
شرح بروتوكول السياق النموذجي (MCP).
لرؤية قوة MCPToolkit، أول شيء عليك معرفته هو بروتوكول سياق النموذج (MCP). قبل MCP، كان من المعتاد ربط LLMs بأدوات خارجية من خلال أساليب مخصصة. تسبب هذا في تكامل هش غير قياسي.
يمنح MCP نموذج الذكاء الاصطناعي لغة عالمية للتواصل مع الأنظمة الخارجية مثل قواعد البيانات وواجهات برمجة التطبيقات. وإليك سبب أهمية ذلك:
- الواجهة القياسية: في حالة MCP، ليس لدى الذكاء الاصطناعي أي فكرة عن كيفية الاتصال بقاعدة بيانات معينة. يجب أن تحتوي ببساطة على معلومات حول الأداة التي سيتم استدعاؤها، على سبيل المثال، قائمة الاستعلام.
- فصل الذكاء الاصطناعي والأدوات: MCP يقسم المسؤوليات. يهتم LLM بالتفكير والتخطيط (على سبيل المثال، أريد أن أعرف سعر قهوة الإسبريسو). صندوق الأدوات الخاص بنا (خادم MCP) هو المكان الذي يتم فيه تنفيذ التنفيذ (على سبيل المثال “الاتصال بقاعدة البيانات وتشغيل استعلام SQL).
- إمكانية التشغيل البيني: يمكن استخدام أي خادم أدوات متوافق مع MCP، مثل Gemini by Google، مع أي طراز متوافق مع MCP.
MCPToolkit هو خادم MCP خاص بقاعدة البيانات، وبالتالي فهو أحد أفضل الخيارات لتحقيق تكامل قوي جدًا بين LLM وقواعد البيانات.
اقرأ المزيد: ما هو بروتوكول السياق النموذجي (MCP)؟
الدليل العملي: إنشاء وكيل ذكاء اصطناعي لقاعدة بيانات المقاهي
النظرية جيدة، لكن البناء يجعل الأفكار تتحقق. دعونا نبدأ معها.
الخطوة 1: إعداد مساحة العمل الخاصة بك
أول شيء عليك القيام به هو إنشاء مجلد مشروع جديد. افتح الوحدة الطرفية في هذا المجلد وقم بتثبيت مكتبات Python المطلوبة.
pip install google-genai toolbox-core
وفيما يلي تفصيل لهذه المكتبات:
google-genai: Python SDK للتواصل مع نماذج Google Gemini (الدماغ).toolbox-core: توفر المكتبة لتطبيقك إمكانية الاتصال بخادم MCPToolkit (ربط “الدماغ” بـ “الأيدي”).
الخطوة 2: إنشاء “قاعدة البيانات” المحلية الخاصة بك
يجب أن يكون لدى وكيلنا الذكي شيء يعمل به. يمكن استخدام برنامج Python النصي التالي لإنشاء ملف قهوة بسيط لقاعدة بيانات SQLite shop.db. يجب أن يحتوي هذا الملف على جدول قائمة يحتوي على بعض عينات البيانات، والتي يجب أن تحاكي مصدر بيانات حقيقي.
الملف: setup_db.py
import sqlite3
# Create the database file and a table
conn = sqlite3.connect("coffee_shop.db")
cursor = conn.cursor()
cursor.execute("""
CREATE TABLE IF NOT EXISTS menu (
id INTEGER,
item TEXT,
price REAL
)
""")
cursor.executemany(
"INSERT INTO menu VALUES (?, ?, ?)",
(
(1, "Espresso", 3.50),
(2, "Latte", 4.75),
(3, "Cappuccino", 4.25),
(4, "Blueberry Muffin", 3.00),
),
)
conn.commit()
conn.close()
print("Success! 'coffee_shop.db' created locally.")
قم بتشغيل البرنامج النصي من المحطة الطرفية الخاصة بك:
python setup_db.py
الخطوة 3: تحديد “الأدوات” في ملف YAML
ستكون الخطوة التالية هي إبلاغ خادم Toolbox بالإجراءات التي يمكن للذكاء الاصطناعي القيام بها. ويتم ذلك في ملف التكوين العاري. يعد هذا آمنًا نظرًا لأن معلومات اتصال قاعدة البيانات غير مرئية للذكاء الاصطناعي، بل للأدوات المسموح للذكاء الاصطناعي باستخدامها.
الملف: Tools.yaml
sources:
my-coffee-db:
kind: sqlite
database: "coffee_shop.db"
tools:
query_menu:
kind: sqlite-sql
source: my-coffee-db
description: "Use this to look up items and prices on the coffee shop menu."
statement: "SELECT * FROM menu WHERE item LIKE ?"
parameters:
- name: item_name
type: string
description: "The name of the item (e.g. 'Latte')"
toolsets:
coffee-tools:
- query_menu
دعونا نحلل هذا الملف:
- مصادر: يوفر هذا القسم اتصالات قاعدة البيانات الخاصة بك. نقوم بتطوير مصدر نسميه my-coffee-db والذي يشير إلى ملف Coffee-shop.db الخاص بنا.
- أدوات: في هذه الحالة، نعلن عن أداة تسمى
query_menu. - وصف: هذا هو القسم الأكثر أهمية في LLM. يقرأ هذا النص لفهم متى وكيف يتم استخدام الأداة. الوصف الواضح أمر حيوي.
- إفادة: هذا هو استعلام SQL الذي سيقوم الخادم بتنفيذه بالفعل. P هو رمز يمثل ما ستقدمه LLM.
- حدود: هذا ما تريده إحدى الأدوات كمدخل في هذه الحالة، وهو اسم العنصر.
- مجموعات الأدوات: يمكّنك هذا من تجميع الأدوات المرتبطة. نحن نشكل مجموعة من أدوات القهوة التي لها أداتنا الوحيدة.
الخطوة 4: بدء تشغيل خادم Toolbox (“الأيدي”)
عند هذه النقطة، قم بتشغيل خادم Toolbox على جهازك الطرفي. يقوم هذا الأمر بعد ذلك بتشغيل خادم MCP الذي يقرأ ملف Tools.yaml الخاص بك، ثم يتصل بقاعدة البيانات وينتظر أن يتم استدعاؤه بواسطة الذكاء الاصطناعي لتنفيذ أدواته.
npx @toolbox-sdk/server --tools-file tools.yaml
أبقِ هذه النافذة الطرفية مفتوحة. من المفترض أن تظهر لك رسالة تؤكد أن الخادم قيد الاستماع المنفذ 5000.
الإخراج:
الخطوة 5: اكتب عميل LLM (“العقل”)
الخادم يعمل الآن ويمكننا الآن كتابة برنامج Python النصي الذي سيستفيد من LLM للتواصل مع قاعدة البيانات الخاصة بنا. سيتم توصيل البرنامج النصي بخادم Toolbox، وتحميل الأدوات المتاحة، وتوفير إشارة إلى نموذج Gemini.
سوف تحتاج إلى مفتاح Gemini API في Google AI Studio، والذي عادةً ما يكون سخيًا جدًا للمطورين.
ملف: Ask_llm.py
import asyncio
from google import genai
from toolbox_core import ToolboxClient
# Replace with your free API Key from AI Studio
API_KEY = "YOUR_GOOGLE_API_KEY"
async def main():
async with ToolboxClient("http://127.0.0.1:5000") as toolbox:
# 1. Get the tools we defined earlier
tools = await toolbox.load_toolset("coffee-tools")
# 2. Set up the LLM
client = genai.Client(api_key=API_KEY)
# 3. Ask the question
prompt = (
"I have $4.00. Can I afford an Espresso? "
"Look at the menu tool to check."
)
print("--- LLM is checking the database file... ---")
response = client.models.generate_content(
model="gemini-2.5-flash",
contents=prompt,
config={"tools": tools},
)
print("\nANSWER:")
print(response.text)
if __name__ == "__main__":
asyncio.run(main())
شرح الكود:
- نقوم بتهيئة أ ToolboxClient للتواصل مع خادمنا الذي يعمل على المضيف المحلي:5000.
toolbox.load_toolset("coffee-tools")جلب تعريفات الأداة (الاسم والوصف والمعلمات) من الخادم قيد التشغيل.- نقوم بتهيئة GeneratorModel باستخدام مفتاح API الخاص بنا، والأهم من ذلك، الأدوات التي قمنا بتحميلها.
- عندما نتصل
generate_content_async، نرسل تعريفات الموجه والأداة إلى نموذج Gemini. سيتخذ النموذج بعد ذلك قرارًا ذكيًا بشأن ما إذا كان يجب عليه استخدام أداة للرد على السؤال أم لا.
النتيجة: ما يحدث خلف الكواليس
افتح محطة ثانية وقم بتشغيل البرنامج النصي للعميل:
python ask_llm.py
سيتم تحليل سؤال ووصف أداة قائمة الاستعلام بمساعدة LLM. سيثبت أنه يتطلب التحقق من سعر “الإسبريسو”. ستقوم Gemini API بدورها بأتمتة الخطوات التالية:
- يرسل طلبًا لاستخدام قائمة الاستعلام مع المعلمة اسم العنصر = اسبريسو والتي سوف تعطي طلب استدعاء الأداة.
- يتم تنفيذ هذا الطلب بواسطة ToolboxClient باستخدام ملف جينات جوجل مكتبة.
- يتم إرسال الطلب من قبل العميل إلى خادم Toolbox المحلي الخاص بك من خلال المنفذ 5000.
- يقوم خادم Toolbox بتشغيل استعلام SQL الذي تم تعريفه مسبقًا:
SELECT * FROM menu WHERE item=Espresso. - يتم إرجاع نتيجة قاعدة البيانات إلى نموذج الجوزاء عبر السلسلة.
- والآن أصبح النموذج مزودًا بالسعر، ليقوم بصياغة إجابة نهائية ومفيدة.
الإخراج:

خاتمة
يقدم MCPToolkit of Databases تنسيقًا أنيقًا وآمنًا للمهمة الحاسمة المتمثلة في تكامل قاعدة بيانات LLCM. لقد تعلمت الآن كيف أن التكوين المباشر المستند إلى YAML والتصميم المستند إلى الخادم والامتثال لبروتوكول سياق النموذج يجعل الذكاء الاصطناعي والبيانات المنظمة جسرًا هائلاً. باستخدام هذا النهج، يمكنك إنشاء تطبيقات معقدة يمكن من خلالها استخدام نموذج الذكاء الاصطناعي مفتوح المصدر بأمان وفعالية لمعالجة بياناتك الخاصة لتقديم استجابات ذكية.
الأسئلة المتداولة
ج: إنه خادم مفتوح المصدر يربط نماذج اللغات الكبيرة (LLMs) بقواعد البيانات باستخدام بروتوكول قياسي، مما يسمح لعملاء الذكاء الاصطناعي بالاستعلام بشكل آمن عن البيانات المنظمة والتفاعل معها.
ج. يعد MCP معيارًا مفتوحًا ونموذجًا شائعًا لكيفية تفاعل نماذج الذكاء الاصطناعي مع الأنظمة والأدوات الخارجية، بما في ذلك قواعد البيانات وواجهات برمجة التطبيقات.
ج: في مثالنا، تم تعريف SQL مسبقًا في ملف Tools.yaml للأمان والقدرة على التنبؤ. يمكن استخدام تكوينات أكثر تعقيدًا للسماح لـ LLM بإنتاج SQL، إلا أن هذا النهج يوفر المزيد من التحكم.
قم بتسجيل الدخول لمواصلة القراءة والاستمتاع بالمحتوى الذي ينظمه الخبراء.
Source link



