مقدمة
أدت التطورات السريعة في الذكاء الاصطناعي (AI) وهندسة البرمجيات إلى تطوير أنظمة برمجية معقدة تدمج عوامل الذكاء الاصطناعي وهندسة سير العمل المعيارية. تتمتع هذه الأنظمة بالقدرة على إحداث ثورة في الطريقة التي نتعامل بها مع أتمتة وتنسيق DevOps. ومع ذلك، فإن تصميم أنظمة برمجية تعتمد على الذكاء الاصطناعي وقابلة للتطوير وأخلاقية يتطلب فهمًا عميقًا لأحدث التطورات في الذكاء الاصطناعي وهندسة البرمجيات والهندسة المعمارية.
في هذه المقالة، سوف نستكشف مبادئ التصميم وأفضل الممارسات لإنشاء أنظمة برمجية معيارية وقابلة للتطوير وأخلاقية تدمج عوامل الذكاء الاصطناعي وبنية سير العمل المعيارية. سنركز على الجمع بين أحدث التطورات في الذكاء الاصطناعي (نماذج اللغات الكبيرة (LLMs)، وتوليد الاسترجاع المعزز (RAG)) وهندسة البرمجيات (Python وRust وGo) والهندسة المعمارية لإنشاء أنظمة قوية وقابلة للصيانة.
هندسة سير العمل المعيارية
إن بنية سير العمل المعيارية هي نمط تصميم يقسم الأنظمة المعقدة إلى وحدات أصغر ومستقلة يمكن صيانتها وتحديثها وتوسيع نطاقها بسهولة. كل وحدة مسؤولة عن مهمة أو وظيفة محددة، وتتواصل مع بعضها البعض من خلال واجهات محددة جيدًا.
فيما يلي مثال بسيط لبنية سير العمل المعيارية في بايثون:
# سير العمل.py
سير العمل الصفي:
تعريف __init__(الذات):
الوحدات الذاتية = []
def add_module(self,module):
self.modules.append(الوحدة النمطية)
تشغيل ديف (النفس):
للوحدة النمطية في self.modules:
الوحدة النمطية.تشغيل ()
#module1.py
الوحدة النمطية للفئة 1:
تشغيل ديف (النفس):
طباعة ("الوحدة 1 قيد التشغيل")
#module2.py
الوحدة النمطية للفئة 2:
تشغيل ديف (النفس):
طباعة ("الوحدة 2 قيد التشغيل")
# main.py
إذا كان __name__ == "__main__":
سير العمل = سير العمل ()
سير العمل.add_module(Module1())
سير العمل.add_module(Module2())
سير العمل.تشغيل()
في هذا المثال، لدينا فئة Workflow التي تدير قائمة من الوحدات. كل وحدة مسؤولة عن مهمة محددة، ويتم إضافتها إلى سير العمل باستخدام طريقة add_module. يتم استخدام طريقة "التشغيل" لتنفيذ كل وحدة في سير العمل.
وكلاء الذكاء الاصطناعي
وكلاء الذكاء الاصطناعي عبارة عن مكونات برمجية تستخدم خوارزميات التعلم الآلي لاتخاذ القرارات واتخاذ الإجراءات في النظام. ويمكن استخدامها لأتمتة المهام، وتحسين تجربة المستخدم، وتحسين أداء النظام.
هناك عدة أنواع من وكلاء الذكاء الاصطناعي، بما في ذلك:
- الوكلاء المستندون إلى القواعد: يستخدم هؤلاء الوكلاء قواعد محددة مسبقًا لاتخاذ القرارات.
- وكلاء التعلم الآلي: يستخدم هؤلاء العملاء خوارزميات التعلم الآلي للتعلم من البيانات واتخاذ القرارات.
- الوكلاء المختلطون: يجمع هؤلاء الوكلاء بين أساليب التعلم الآلي والقائمة على القواعد لاتخاذ القرارات.
فيما يلي مثال لوكيل الذكاء الاصطناعي البسيط في بايثون باستخدام خوارزمية التعلم الآلي:
# وكيل.py
من sklearn.ensemble استيراد RandomForestClassifier
من sklearn.model_selection استيراد Train_test_split
من sklearn.datasets قم باستيراد Load_iris
وكيل الطبقة:
تعريف __init__(الذات):
self.model = RandomForestClassifier()
قطار ديف (الذات، X، ص):
X_train، X_test، y_train، y_test = Train_test_split(X، y، test_size=0.2، Random_state=42)
self.model.fit(X_train، y_train)
توقع بالتأكيد (الذات، X):
إرجاع self.model.predict(X)
# main.py
إذا كان __name__ == "__main__":
القزحية = Load_iris()
X = iris.data
y = iris.target
الوكيل = الوكيل ()
وكيل.القطار (X، ص)
التنبؤات = الوكيل.توقع (X)
طباعة (التنبؤات)
في هذا المثال، لدينا وكيل ذكاء اصطناعي بسيط يستخدم مصنف غابة عشوائيًا لإجراء التنبؤات. يتم تدريب الوكيل على مجموعة بيانات القزحية ويقوم بالتنبؤات على نفس مجموعة البيانات.
الجمع بين وكلاء الذكاء الاصطناعي وهندسة سير العمل المعيارية
يتيح لنا الجمع بين عوامل الذكاء الاصطناعي وبنية سير العمل المعيارية إنشاء أنظمة معقدة تدمج عملية صنع القرار المستندة إلى الذكاء الاصطناعي مع بنية معيارية وقابلة للتطوير.
فيما يلي مثال لنظام يجمع بين عوامل الذكاء الاصطناعي وبنية سير العمل المعيارية:
# سير العمل.py
سير العمل الصفي:
تعريف __init__(الذات):
الوحدات الذاتية = []
self.agent = لا شيء
def add_module(self,module):
self.modules.append(الوحدة النمطية)
def add_agent(self, agent):
self.agent = agent
تشغيل ديف (النفس):
للوحدة النمطية في self.modules:
الوحدة النمطية.تشغيل ()
إذا self.agent:
self.agent.predict()
#module1.py
الوحدة النمطية للفئة 1:
تشغيل ديف (النفس):
طباعة ("الوحدة 1 قيد التشغيل")
#module2.py
الوحدة النمطية للفئة 2:
تشغيل ديف (النفس):
طباعة ("الوحدة 2 قيد التشغيل")
# وكيل.py
من sklearn.ensemble استيراد RandomForestClassifier
من sklearn.model_selection استيراد Train_test_split
من sklearn.datasets قم باستيراد Load_iris
وكيل الطبقة:
تعريف __init__(الذات):
self.model = RandomForestClassifier()
قطار ديف (الذات، X، ص):
X_train، X_test، y_train، y_test = Train_test_split(X، y، test_size=0.2، Random_state=42)
self.model.fit(X_train، y_train)
توقع بالتأكيد (الذات، X):
إرجاع self.model.predict(X)
# main.py
إذا كان __name__ == "__main__":
سير العمل = سير العمل ()
سير العمل.add_module(Module1())
سير العمل.add_module(Module2())
الوكيل = الوكيل ()
وكيل.القطار (X، ص)
سير العمل.add_agent(وكيل)
سير العمل.تشغيل()
في هذا المثال، لدينا نظام يجمع بين عوامل الذكاء الاصطناعي وبنية سير العمل المعيارية. يحتوي النظام على وحدتين وعامل ذكاء اصطناعي يستخدم مصنف غابة عشوائيًا لإجراء التنبؤات. تتم إضافة الوكيل إلى سير العمل باستخدام طريقة "add_agent"، ويقوم بالتنبؤات بعد تشغيل الوحدات.
أهم 5-10 أوامر/مقتطفات الأكثر استخدامًا
فيما يلي بعض الأوامر والمقتطفات الأكثر استخدامًا لتصميم أنظمة برمجية تعتمد على الذكاء الاصطناعي وقابلة للتطوير وأخلاقية مع بنية سير عمل معيارية ووكلاء الذكاء الاصطناعي:
- Python:
استيراد الباندا كـ pd(استيراد مكتبة الباندا) - Python:
pd.read_csv('data.csv')(قراءة ملف CSV في إطار بيانات الباندا) - Python:
agent.train(X, y)(تدريب وكيل الذكاء الاصطناعي على مجموعة بيانات) - Python:
agent.predict(X)(إجراء التنبؤات باستخدام وكيل الذكاء الاصطناعي) - الصدأ:
let mut agent = Agent::new()(إنشاء وكيل ذكاء اصطناعي جديد في Rust) - Rust:
agent.train(X, y)(تدريب وكيل الذكاء الاصطناعي على مجموعة بيانات في Rust) - Go:
agent := NewAgent()(إنشاء وكيل AI جديد في Go) - Go:
agent.Train(X, y)(تدريب وكيل الذكاء الاصطناعي على مجموعة بيانات في Go) - Chart.js:
const Chart = new Chart(ctx, { type: 'bar', data: { labels: ['Label 1', 'Label 2'], datasets: [{ label: 'Dataset 1', data: [10, 20] }] } });(إنشاء مخطط شريطي باستخدام Chart.js) - Chart.js:
chart.data.datasets[0].data.push(30)(إضافة نقطة بيانات جديدة إلى مخطط باستخدام Chart.js)
التصور
فيما يلي مثال لمخطط شريطي باستخدام Chart.js:
{
"النوع": "شريط"،
"البيانات": {
"التسميات": ["التسمية 1"، "التسمية 2"]،
"مجموعات البيانات": [
{
"label": "مجموعة البيانات 1"،
"البيانات": [10، 20]
}
]
}
}
يحتوي هذا المخطط على تسميتين ومجموعة بيانات واحدة تحتوي على نقطتي بيانات. يمكن تخصيص المخطط باستخدام خيارات وإعدادات مختلفة.
الخلاصة
يتطلب تصميم أنظمة برمجية تعتمد على الذكاء الاصطناعي وقابلة للتطوير وأخلاقية مع بنية سير العمل المعيارية ووكلاء الذكاء الاصطناعي فهمًا عميقًا لأحدث التطورات في الذكاء الاصطناعي وهندسة البرمجيات والهندسة المعمارية. من خلال الجمع بين عوامل الذكاء الاصطناعي وبنية سير العمل المعيارية، يمكننا إنشاء أنظمة معقدة تدمج عملية صنع القرار المستندة إلى الذكاء الاصطناعي مع بنية معيارية وقابلة للتطوير.
في هذه المقالة، استكشفنا مبادئ التصميم وأفضل الممارسات لإنشاء أنظمة برمجية معيارية وقابلة للتطوير وأخلاقية تدمج عوامل الذكاء الاصطناعي وبنية سير العمل المعيارية. لقد قدمنا أيضًا أمثلة على عوامل الذكاء الاصطناعي البسيطة وبنية سير العمل المعيارية في Python وRust وGo، بالإضافة إلى مثال مرئي باستخدام Chart.js.
من خلال اتباع الإرشادات وأفضل الممارسات الموضحة في هذه المقالة، يمكن للمطورين إنشاء أنظمة برمجية قوية وقابلة للصيانة تعتمد على الذكاء الاصطناعي وتلبي احتياجات التطبيقات والصناعات الحديثة.