إنشاء بوت Slack مخصص باستخدام NVIDIA NIM و LangChain

في عالم الأعمال الحديث الديناميكي، حيث يعد التواصل وسير العمل الفعال أمراً حاسماً للنجاح، أصبحت حلول الذكاء الاصطناعي ميزة تنافسية. توفر وكلاء الذكاء الاصطناعي، المبنية على أحدث نماذج اللغة الكبيرة (LLMs) والمدعومة بـ NVIDIA NIM، طريقة سلسة لتعزيز الإنتاجية وتدفق المعلومات. NIM، جزء من NVIDIA AI Enterprise، هي مجموعة من الخدمات المصغرة سهلة الاستخدام مصممة للنشر الآمن والموثوق لاستدلال نماذج الذكاء الاصطناعي عالية الأداء عبر السحابات ومراكز البيانات ومحطات العمل.
هذا الدليل جزء من سلسلة NVIDIA Chat Labs، التي تشارك الرؤى وأفضل الممارسات المطورة من مشاريع الذكاء الاصطناعي التوليدي الداخلية لمساعدة الآخرين في تبني الذكاء الاصطناعي. من خلال الاستفادة من خدمات NIM المصغرة، يمكن للشركات استخدام النماذج من كتالوج واجهات برمجة التطبيقات وبناء بوتات Slack ذكية بسرعة تتجاوز الأتمتة البسيطة.
قدرات وبنية بوت Slack
يدعم التنفيذ الأولي لبوت Slack التفاعلات من خلال قنوات Slack والخيوط والرسائل الخاصة للبوت. النموذج الرئيسي الذي يدعم هذا التفاعل هو llama-3_1-405b-instruct، والذي يمكنه الوصول إلى أدوات خارجية للحصول على ردود محسنة.
الميزات الرئيسية لبوت Slack تشمل:
- دعم متعدد القنوات: يمكن دعوة بوت Slack إلى أي قناة والإجابة على الاستفسارات المتعلقة بسياق تلك القناة.
- التفاعل من خلال الإشارة: لبدء محادثة، يقوم المستخدمون بالإشارة إلى البوت وطرح سؤال شامل. يرد البوت في خيط، مع الإشارة إلى المستخدم في نفس القناة.
- ردود قابلة للتخصيص: قد يتابع بوت Slack بسؤال توضيحي أو يستخدم أدوات خارجية لتوليد الردود. كما يدعم الرسائل الخاصة.
دليل خطوة بخطوة لإنشاء وكيل بوت Slack
فيما يلي خطوات نشر بوت Slack على AWS:
- تثبيت المكتبات المطلوبة
- تعريف الوكيل الرئيسي
- إعداد DynamoDB لإدارة الذاكرة
- تكوين ذاكرة المحادثة
- تعريف استخدام الأدوات بناءً على الكلمات المفتاحية
- إنهاء الوكيل
- حفظ التفاعلات في Amazon Aurora PostgreSQL
المتطلبات الأساسية
قبل البدء في بناء بوت Slack، تأكد من:
- إعداد Slack.
- التعرف على LangChain والوكلاء.
المكتبات المطلوبة للتثبيت تشمل: openai، boto3، slack_bolt، slack-sdk، langchain، python-dotenv، langchain-community، langchain-nvidia-ai-endpoints، langchainhub.
تثبيت المكتبات المطلوبة
قبل إعداد الوكيل، تأكد من تثبيت المكتبات الضرورية:
pip install openai boto3 slack_bolt slack-sdk langchain python-dotenv langchain-community langchain-nvidia-ai-endpoints langchainhubتعريف الوكيل الرئيسي
بعد ذلك، قم بتعريف ميزات Slack الأساسية لتفاعل المستخدم ودمج نموذج NIM كوكيل رئيسي:
from slack_bolt import App
from slack_bolt.adapter.socket_mode import SocketModeHandler
from dotenv import load_dotenv
from langchain.agents import AgentExecutor, create_react_agent
from langchain.memory import ConversationBufferWindowMemory
from langchain_core.prompts import PromptTemplate
from langchain_nvidia_ai_endpoints import ChatNVIDIA
def agent(user_id, thread_id, channel_name, message_text):
try:
llm = ChatNVIDIA(
model="meta/llama-3.1-405b-instruct",
temperature=0.1,
top_p=1,
max_tokens=2000,
)إعداد DynamoDB لإدارة الذاكرة
لتتبع تفاعلات الوكيل، قم بتهيئة جدول DynamoDB وتكوين ذاكرة الجلسة:
# تحديد المنطقة حيث يتم إنشاء الجدول
boto3.setup_default_session(region_name='us-east-2')
# تهيئة DynamoDBChatMessageHistory
session_id = channel_name # استخدام اسم القناة كمعرف جلسة
history = DynamoDBChatMessageHistory(table_name="SessionTable", session_id=session_id)تكوين ذاكرة المحادثة
دمج سجل رسائل الدردشة في ذاكرة المحادثة للوكيل:
conversational_memory = ConversationBufferWindowMemory(
memory_key='chat_history',
k=10,
return_messages=True,
input_key='input',
output_key='output',
chat_memory=history
)إنهاء الوكيل
ReACT هو إطار عمل حيث تجمع نماذج اللغة الكبيرة بين التفكير والإجراءات. استخدمه لحل المهام بناءً على الأمثلة المقدمة:
# LLM هو وكيل NIM، مع موجه ReACT والأدوات المحددة
react_agent = create_react_agent(
llm=llm,
tools=tools,
prompt=prompt
)
# الاتصال بقاعدة البيانات للذاكرة
agent_executor = AgentExecutor(
agent=react_agent,
tools=tools,
verbose=True,
handle_parsing_errors=True,
return_intermediate_steps=True,
memory=conversational_memory
)الخلاصة
تعمل وكلاء الذكاء الاصطناعي على تحويل تطبيقات المؤسسات من خلال أتمتة المهام وتحسين العمليات وتعزيز الإنتاجية. توفر خدمات NVIDIA NIM المصغرة طريقة سلسة لدمج وكلاء وأدوات متعددة، مما يمكّن الشركات من إنشاء حلول مدعومة بالذكاء الاصطناعي مخصصة.
في هذا الدليل، أوضحت كيفية استخدام نقاط نهاية NIM AI لإنشاء وكيل بوت Slack شامل مع أدوات مخصصة. يعزز هذا الحل واجهة Slack البسيطة، مما يمكّنها من التعامل مع مهام أكثر تعقيداً وحل تحديات فريدة.
المرجع:
- المؤلف: Xhoni Shollaj
- المصدر: NVIDIA Developer Blog
ناقش مشروعك معنا
نحن هنا للمساعدة في احتياجات تطوير الويب الخاصة بك. حدد موعدًا لمناقشة مشروعك وكيف يمكننا مساعدتك.
دعنا نجد أفضل الحلول لاحتياجاتك.
مقالات ذات صلة

كيفية فتح حساب Flouci المهني المجاني للعاملين لحسابهم الخاص في تونس
دليل خطوة بخطوة حول كيفية فتح حساب Flouci المهني المجاني للعاملين لحسابهم الخاص والمهنيين في تونس.
إتقان إخراج البيانات المنظمة مع LangChain: استراتيجيات وتقنيات لنماذج المحادثة
إتقان إخراج البيانات المنظمة مع LangChain: اكتشف تقنيات واستراتيجيات خبراء لاستخدام نماذج المحادثة لتقديم بيانات JSON دقيقة مطابقة للمخططات لتعزيز التكامل مع قواعد البيانات والأنظمة اللاحقة.
ترقية وتخفيض الاشتراكات باستخدام Laravel و stripe-php
تعلم كيفية تنفيذ ترقيات وتخفيضات الاشتراكات في تطبيق Laravel الخاص بك باستخدام Stripe PHP SDK.