مرحباً أيها المطورون!
اليوم سنتعلم كيفية بناء أول سلسلة (Chain) باستخدام LangChain لتمرير البيانات تلقائياً بين المكونات، مما يفتح آفاقاً جديدة لأتمتة المهام المعقدة.
الخطوة 1: تهيئة البيئة واستيراد المكتبات الأساسية
في هذه الخطوة، سنقوم بتثبيت المكتبات الضرورية وتهيئتها، ثم استيراد المكونات الأساسية التي سنستخدمها من LangChain.
# تثبيت مكتبات LangChain و OpenAI (قم بتشغيل هذا الأمر في طرفيتك قبل البدء)
# pip install langchain openai
# استيراد الفئات الأساسية من LangChain
from langchain.llms import OpenAI
from langchain.prompts import PromptTemplate
from langchain.chains import LLMChain
import os # لاستخدام متغيرات البيئة
# تعيين مفتاح API الخاص بـ OpenAI كمتغير بيئة (أفضل ممارسة)
# تأكد من استبدال 'YOUR_OPENAI_API_KEY' بمفتاحك الحقيقي.
# يمكنك أيضاً تعيينه في نظام التشغيل الخاص بك (مثلاً: export OPENAI_API_KEY="sk-...")
os.environ["OPENAI_API_KEY"] = "YOUR_OPENAI_API_KEY"
ملاحظة تقنية: يفضل دائماً تخزين مفاتيح الـ API في متغيرات بيئة بدلاً من تضمينها مباشرة في الكود لتعزيز الأمان والمرونة.
الخطوة 2: تعريف النموذج اللغوي (LLM) وقالب الموجه (Prompt Template)
سنقوم الآن بتهيئة النموذج اللغوي الذي سيقوم بالمعالجة، وإنشاء قالب موجه (Prompt Template) لتحديد كيفية تنسيق المدخلات للنموذج.
# تهيئة النموذج اللغوي (Large Language Model)
# نستخدم هنا OpenAI GPT-3 (davinci-003 أو ما يعادله افتراضياً).
# درجة الحرارة (temperature) تتحكم في عشوائية الاستجابة: 0.0 يعني استجابة حتمية، وقيم أعلى تعني إبداعاً أكبر.
llm = OpenAI(temperature=0.7)
# تعريف قالب الموجه (Prompt Template)
# هذا القالب سيأخذ متغيراً واحداً هو 'topic' (الموضوع)
# وسيقوم بتضمينه في النص لإنشاء موجه كامل للنموذج اللغوي.
prompt = PromptTemplate(
input_variables=["topic"],
template="اكتب فقرة موجزة ومثيرة للاهتمام حول {topic}."
)
الخطوة 3: بناء السلسلة (Chain) وتنفيذها
في هذه الخطوة الأخيرة، سنجمع بين النموذج اللغوي والقالب في سلسلة واحدة (LLMChain)، ثم نقوم بتنفيذها لتمرير البيانات تلقائياً والحصول على النتيجة.
# بناء السلسلة (Chain)
# LLMChain تربط مباشرة بين نموذج لغوي وقالب موجه.
# سيتم أخذ المدخلات، وتنسيقها بواسطة قالب الموجه، ثم إرسالها إلى النموذج اللغوي.
chain = LLMChain(llm=llm, prompt=prompt)
# تنفيذ السلسلة وتمرير البيانات
# هنا يتم تمرير قيمة 'topic' التي سيستخدمها القالب لتكوين الموجه النهائي.
# النتيجة هي النص الذي يولده النموذج اللغوي.
generated_text = chain.run("مستقبل الذكاء الاصطناعي")
# طباعة النتيجة
print(generated_text)
الكود النهائي الكامل
هذا هو الكود الكامل الذي يمكنك نسخه وتشغيله بعد استبدال مفتاح الـ API الخاص بك:
# تثبيت مكتبات LangChain و OpenAI (قم بتشغيل هذا الأمر في طرفيتك قبل البدء)
# pip install langchain openai
# استيراد الفئات الأساسية من LangChain
from langchain.llms import OpenAI
from langchain.prompts import PromptTemplate
from langchain.chains import LLMChain
import os # لاستخدام متغيرات البيئة
# تعيين مفتاح API الخاص بـ OpenAI كمتغير بيئة
# استبدل 'YOUR_OPENAI_API_KEY' بمفتاحك الحقيقي أو قم بتعيينه في نظام التشغيل
# مثال (في Bash/Zsh): export OPENAI_API_KEY="sk-..."
# مثال (في Windows CMD): set OPENAI_API_KEY="sk-..."
# إذا كنت تختبر بسرعة، يمكنك تعيينه مباشرة هنا:
os.environ["OPENAI_API_KEY"] = "YOUR_OPENAI_API_KEY"
# 1. تهيئة النموذج اللغوي (LLM)
# درجة الحرارة (temperature) تتحكم في عشوائية الاستجابة: 0.0 يعني استجابة حتمية، وقيم أعلى تعني إبداعاً أكبر.
llm = OpenAI(temperature=0.7)
# 2. تعريف قالب الموجه (Prompt Template)
# هذا القالب سيأخذ متغيراً واحداً هو 'topic' وسيقوم بتضمينه في النص.
prompt = PromptTemplate(
input_variables=["topic"],
template="اكتب فقرة موجزة ومثيرة للاهتمام حول {topic}."
)
# 3. بناء السلسلة (Chain)
# LLMChain تربط مباشرة بين نموذج لغوي وقالب موجه.
# المدخلات ستمر عبر القالب، ثم إلى النموذج اللغوي.
chain = LLMChain(llm=llm, prompt=prompt)
# 4. تنفيذ السلسلة وتمرير البيانات
# هنا يتم تمرير قيمة 'topic' التي سيستخدمها القالب لتكوين الموجه النهائي.
# النتيجة هي النص الذي يولده النموذج اللغوي.
generated_text = chain.run("مستقبل الذكاء الاصطناعي")
# طباعة النتيجة
print(generated_text)
النتيجة المتوقعة
عند تشغيل السكربت، ستحصل على نص مولد بواسطة النموذج اللغوي حول الموضوع الذي حددته. قد تختلف الصياغة قليلاً في كل مرة بسبب طبيعة النماذج اللغوية، ولكن المضمون سيكون مشابهاً للمثال التالي:
مستقبل الذكاء الاصطناعي واعد ومليء بالتحولات الجذرية في مختلف جوانب الحياة. من القيادة الذاتية والرعاية الصحية المخصصة إلى الأنظمة الذكية التي تتنبأ بالاحتياجات البشرية، سيصبح الذكاء الاصطناعي جزءًا لا يتجزأ من نسيج مجتمعاتنا. ومع ذلك، يثير هذا التقدم تحديات أخلاقية واجتماعية تتطلب منا التعامل معها بحكمة لضمان أن يكون هذا المستقبل مفيدًا للبشرية جمعاء.