تنفيذ بنية برمجية آمنة وقابلة للتطوير تعتمد على الذكاء الاصطناعي باستخدام أدوات التنسيق | B4N1

تنفيذ بنية برمجية آمنة وقابلة للتطوير تعتمد على الذكاء الاصطناعي باستخدام أدوات التنسيق

3 months ago · b4n1 Read time: 4 min

مقدمة

لقد أحدث دمج الذكاء الاصطناعي (AI) في التطبيقات البرمجية ثورة في الطريقة التي نتعامل بها مع حل المشكلات، واتخاذ القرار، والأتمتة. ومع ذلك، مع تزايد تعقيد التطبيقات المعتمدة على الذكاء الاصطناعي، أصبحت الحاجة إلى بنية آمنة وقابلة للتطوير مصدر قلق ملح. في هذه المقالة، سنستكشف التقاطع بين الذكاء الاصطناعي وهندسة البرمجيات وDevOps، مع التركيز بشكل خاص على استخدام أدوات التنسيق مثل DSPy وLangChain لدمج وكلاء الذكاء الاصطناعي في مسارات DevOps.

تحديات هندسة البرمجيات المعتمدة على الذكاء الاصطناعي

تشكل التطبيقات البرمجية التي تعتمد على الذكاء الاصطناعي تحديات فريدة لمهندسي البرمجيات وفرق DevOps. وتشمل بعض التحديات الرئيسية ما يلي:

  • قابلية التوسع: تتطلب نماذج الذكاء الاصطناعي موارد حسابية كبيرة، مما قد يؤدي إلى مشكلات تتعلق بقابلية التوسع في بيئات الإنتاج.
  • الأمان: يمكن أن تكون نماذج الذكاء الاصطناعي عرضة للهجمات، مثل تسميم البيانات وهجمات عكس النماذج.
  • التكامل: يجب دمج نماذج الذكاء الاصطناعي مع أنظمة البرامج الحالية، وهو ما قد يكون مهمة معقدة.
  • المراقبة والصيانة: تتطلب نماذج الذكاء الاصطناعي مراقبة وصيانة مستمرة لضمان دقتها وموثوقيتها.

أدوات التنسيق: DSPy وLangChain

توفر أدوات التنسيق مثل DSPy وLangChain حلاً لهذه التحديات من خلال تمكين دمج وكلاء الذكاء الاصطناعي في مسارات DevOps. توفر هذه الأدوات إطارًا لبناء نماذج الذكاء الاصطناعي ونشرها وإدارتها، مما يضمن بنية آمنة وقابلة للتطوير للتطبيقات التي تعتمد على الذكاء الاصطناعي.

دي إس بي باي

DSPy هي أداة تنسيق مفتوحة المصدر مبنية على لغة Python. فهو يوفر واجهة برمجة تطبيقات بسيطة وبديهية لإنشاء نماذج الذكاء الاصطناعي ونشرها وإدارتها. يدعم DSPy مجموعة واسعة من أطر عمل الذكاء الاصطناعي، بما في ذلك TensorFlow وPyTorch وscikit-learn.

لانجشين

LangChain هي أداة تنسيق أخرى مفتوحة المصدر توفر إطارًا لبناء نماذج الذكاء الاصطناعي ونشرها وإدارتها. تم بناء LangChain على قمة Rust ويوفر واجهة برمجة تطبيقات عالية الأداء لدمج وكلاء الذكاء الاصطناعي في خطوط أنابيب DevOps.

تنفيذ بنية برمجية آمنة وقابلة للتطوير تعتمد على الذكاء الاصطناعي باستخدام DSPy

في هذا القسم، سنستكشف مثالًا بسيطًا لتنفيذ بنية برمجية آمنة وقابلة للتطوير تعتمد على الذكاء الاصطناعي باستخدام DSPy.

مثال: بناء نموذج ذكاء اصطناعي بسيط باستخدام DSPy

لنفكر في مثال بسيط لبناء نموذج التعلم الآلي باستخدام DSPy. سوف نستخدم مكتبة scikit-learn لبناء نموذج الانحدار الخطي.

استيراد dspy كـ dsp
من sklearn.linear_model استيراد LinearRegression
من sklearn.datasets قم باستيراد Load_diabetes

# تحميل مجموعة بيانات مرض السكري
مجموعة البيانات = Load_diabetes()

# تقسيم مجموعة البيانات إلى مجموعات تدريب واختبار
X_train، X_test، y_train، y_test = dsp.split_dataset(dataset.data, dataset.target, test_size=0.2)

# بناء نموذج الانحدار الخطي
النموذج = الانحدار الخطي ()

# تدريب النموذج على بيانات التدريب
model.fit(X_train، y_train)

# تقييم النموذج على بيانات الاختبار
الدقة = model.score(X_test, y_test)
طباعة (و"دقة النموذج: {الدقة: .2f}")

توضح كتلة التعليمات البرمجية هذه كيفية إنشاء نموذج بسيط للتعلم الآلي باستخدام DSPy. نقوم بتحميل مجموعة بيانات مرض السكري، وتقسيمها إلى مجموعات تدريب واختبار، وبناء نموذج انحدار خطي، وتدريبها على بيانات التدريب، وتقييم دقتها على بيانات الاختبار.

تنفيذ بنية برمجية آمنة وقابلة للتطوير تعتمد على الذكاء الاصطناعي باستخدام LangChain

في هذا القسم، سنستكشف مثالًا بسيطًا لتنفيذ بنية برمجية آمنة وقابلة للتطوير تعتمد على الذكاء الاصطناعي باستخدام LangChain.

مثال: بناء نموذج ذكاء اصطناعي بسيط باستخدام LangChain

لنفكر في مثال بسيط لبناء نموذج التعلم الآلي باستخدام LangChain. سوف نستخدم مكتبة TensorFlow لبناء نموذج للشبكة العصبية.

''''الصدأ استخدم langchain كـ lc؛ استخدم Tensorflow::prelude::*;

// تحديد نموذج شبكة عصبية بسيط نموذج fn (الإدخال: &Tensor) -> Tensor { دع الإخراج = input.matmul(&Tensor::new(1, 1)); الإخراج }

// إنشاء وكيل LangChain دع الوكيل = lc::Agent::new(model);

// تحديد مجموعة البيانات دع مجموعة البيانات = lc::Dataset::new(vec![ lc::مثال::new(vec![1.0, 2.0], vec![3.0]), lc::مثال::new(vec![4.0, 5.0], vec![6.0]), ]);

// تدريب النموذج على مجموعة البيانات agent.train(&dataset);

// تقييم النموذج في مجموعة البيانات دع الدقة = agent.evaluate(&dataset); println!("دقة النموذج: {}"، الدقة)؛


توضح كتلة التعليمات البرمجية هذه كيفية إنشاء نموذج بسيط للتعلم الآلي باستخدام LangChain. نقوم بتعريف نموذج شبكة عصبية بسيط، وإنشاء وكيل LangChain، وتحديد مجموعة بيانات، وتدريب النموذج على مجموعة البيانات، وتقييم دقته على مجموعة البيانات.

## أهم 5-10 أوامر/مقتطفات الأكثر استخدامًا

فيما يلي أهم 5-10 أوامر/مقتطفات الأكثر استخدامًا لـ DSPy وLangChain:

### دي إس بي باي

* `dsp.split_dataset(data, target, test_size=0.2)`: يقسم مجموعة البيانات إلى مجموعات تدريب واختبار.
* `dsp.build_model(model_name, model_params)`: إنشاء نموذج تعلم آلي باستخدام اسم النموذج والمعلمات المحددة.
* `dsp.train_model(model, data)`: تدريب نموذج التعلم الآلي على البيانات المحددة.
* `dsp.evaluate_model(model, data)`: يقيم أداء نموذج التعلم الآلي على البيانات المحددة.
* `dsp.deploy_model(model, server_url)`: ينشر نموذج التعلم الآلي على عنوان URL المحدد للخادم.

### لانجشين

* `lc::Agent::new(model)`: إنشاء وكيل LangChain باستخدام النموذج المحدد.
* `lc::Dataset::new(examples)`: إنشاء مجموعة بيانات LangChain باستخدام الأمثلة المحددة.
* `lc::train(agent, dataset)`: تدريب وكيل LangChain على مجموعة البيانات المحددة.
* `lc::evaluate(agent, dataset)`: يقيم أداء وكيل LangChain في مجموعة البيانات المحددة.
* `lc::deploy(agent, server_url)`: ينشر وكيل LangChain إلى عنوان URL للخادم المحدد.

## التصور

فيما يلي تصور بسيط لبنية البرامج المعتمدة على الذكاء الاصطناعي باستخدام Chart.js:

```جافا سكريبت
const ctx = document.getElementById('myChart').getContext('2d');
مخطط ثابت = مخطط جديد (ctx، {
    النوع: "شريط"،
    البيانات: {
        التسميات: ["وقت التدريب"، "وقت الاستدلال"، "دقة النموذج"]،
        مجموعات البيانات: [{
            التسمية: "DSPy"،
            البيانات: [10، 5، 90]،
            لون الخلفية: 'rgba(255، 99، 132، 0.2)'،
            لون الحدود: 'rgba(255، 99، 132، 1)'،
            عرض الحدود: 1
        }، {
            التسمية: "لانج تشين"،
            البيانات: [8، 6، 92]،
            لون الخلفية: 'rgba(54، 162، 235، 0.2)'،
            لون الحدود: 'rgba(54، 162، 235، 1)'،
            عرض الحدود: 1
        }]
    },
    الخيارات: {
        المقاييس: {
            ص: {
                beginAtZero: صحيح
            }
        }
    }
});

تقوم كتلة التعليمات البرمجية هذه بإنشاء مخطط شريطي بسيط باستخدام Chart.js لتصور أداء DSPy وLangChain.

الخلاصة

في هذه المقالة، استكشفنا التقاطع بين الذكاء الاصطناعي وهندسة البرمجيات وDevOps، مع التركيز بشكل خاص على استخدام أدوات التنسيق مثل DSPy وLangChain لدمج وكلاء الذكاء الاصطناعي في مسارات DevOps. لقد أظهرنا كيفية تنفيذ بنية برمجية آمنة وقابلة للتطوير تعتمد على الذكاء الاصطناعي باستخدام DSPy وLangChain، وقدمنا ​​مثالًا بسيطًا لبناء نموذج للتعلم الآلي باستخدام كل أداة. لقد قدمنا ​​أيضًا أهم 5 إلى 10 أوامر/مقتطفات الأكثر استخدامًا لكل أداة وتصورًا بسيطًا لبنية البرامج التي تعتمد على الذكاء الاصطناعي باستخدام Chart.js.


Have Questions?

Let's Talk

Contact me on LinkedIn