هذا عرض توضيحي للذكاء الاصطناعي التوليدي في الوقت الفعلي باستخدام Confluent Cloud. تأثرت الفكرة بهذا التدريب الرائع في Udemy بقيادة Eden Marco (LangChain- تطوير التطبيقات التي تدعم LLM باستخدام LangChain). أعطاني إيدن ماركو الرابط الذي تمت ترقيته. يقدم Eden Marco مقدمة جيدة في تطوير Lngchain LLM في Python. أخذت فكرة كسر الجمود ونقلتها إلى حالة استخدام حقيقية لتشغيل Data in Motion with Confluent وAI.
سيتم نشر الريبو:
يرجى استنساخ هذا المستودع على سطح المكتب الخاص بك:
cd $HOME # or what-ever directory you want to use
git clone https://github.com/ora0600/genai-with-confluent.git
cd genai-with-confluent/terraform/
يتم تنفيذ العرض التجريبي تلقائيًا بالكامل، ولكن قبل التنفيذ، تحتاج إلى إعداد شيئين هنا:
إنشاء حساب مطور Salesforce، الاشتراك هنا، تكوين Salesforce CDC، راجع متابعة إعداداتي باستخدام لقطات الشاشة هنا، خطوات عالية المستوى:
تحتاج إلى جميع المعلمات لموصل Salesforce CDC، لذا يرجى تخزينها بأمان.
أنت بحاجة إلى حساب عامل لـ Confluent Cloud. يعد التسجيل في Confluent Cloud أمرًا سهلاً للغاية وستحصل على ميزانية قدرها 400 دولار أمريكي لتجاربك الأولى مجانًا. إذا لم يكن لديك حساب Confluent Cloud صالح، فيرجى الاشتراك في Confluent Cloud.
pip3 install confluent_kafka
pip3 install requests
pip3 install fastavro
pip3 install avro
pip3 install jproperties
pip3 install langchain
pip3 install openai
pip3 install langchain_openai
pip3 install -U langchain-community
pip3 install google-search-results
pip3 install Flask
pip3 install langchain_core
pip3 install pydantic
بالنسبة إلى Confluent Cloud: قم بإنشاء مفتاح API في Confluent Cloud عبر CLI:
confluent login
confluent api-key create --resource cloud --description " API for terraform "
# It may take a couple of minutes for the API key to be ready.
# Save the API key and secret. The secret is not retrievable later.
# +------------+------------------------------------------------------------------+
# | API Key | <your generated key> |
# | API Secret | <your generated secret> |
# +------------+------------------------------------------------------------------+
انسخ جميع معلمات Confluent Cloud إلى ملف terraform.tfvars
عن طريق تنفيذ الأمر التالي مع بياناتك:
cat > $PWD /terraform/terraform.tfvars << EOF
confluent_cloud_api_key = "{Cloud API Key}"
confluent_cloud_api_secret = "{Cloud API Key Secret}"
sf_user= "salesforce user"
sf_password = "password"
sf_cdc_name = "LeadChangeEvent"
sf_password_token = "password token"
sf_consumer_key = "consumer key of connected app"
sf_consumer_secret = "consumer secret of connect app"
EOF
سيأخذ Terraform كل هذه المعلمات ويقوم بالتكوين نيابةً عنك وينشر أخيرًا جميع الموارد السحابية المتجانسة بما في ذلك حسابات الخدمة وربط الأدوار.
نحن نستخدم langchain LLM الإصدار 0.1 Langchain Docu
تَلمِيح:
الآن سوف يكلف المال. لسوء الحظ، API ليست مجانية. أنفق 10 دولارات على الذكاء الاصطناعي المفتوح، و10 دولارات على ProxyCurl API وSERP API لا يزال في حالة مجانية. |
نحتاج أولاً إلى مفتاح يسمح لنا باستخدام OpenAI. اتبع الخطوات من هنا لإنشاء حساب ثم مفتاح API فقط.
المهمة التالية: إنشاء مفتاح proxycurl API. سيتم استخدام ProxyCurl لاستخلاص Linkedin. قم بالتسجيل في proxyurl وشراء أرصدة مقابل 10 دولارات (أو أي شيء تعتقد أنه كافٍ، ربما تبدأ بمبلغ أقل)، اتبع هذه الخطوات
لتتمكن من البحث في Google عن عنوان URL الصحيح لملف تعريف LinkedIn، نحتاج إلى مفتاح API الخاص بـ SERP API من هنا.
الآن، ضع جميع المفاتيح في ملف env-vars
عن طريق تنفيذ الأمر:
cat > $PWD /terraform/env.vars << EOF
export PYTHONPATH=/YOURPATH
export OPENAI_API_KEY=YOUR openAI Key
export PROXYCURL_API_KEY=YOUR ProxyURL Key
export SERPAPI_API_KEY=Your SRP API KEy
EOF
مبروك الانتهاء من التحضير. أعلم أن هذا كان إعدادًا ضخمًا.
الآن يأتي الجزء السهل. فقط قم بتنفيذ Terraform. قم بتنفيذ Terraform وسيتم نشر جميع الموارد السحابية المتدفقة تلقائيًا:
cd terraform
terraform init
terraform plan
terraform apply
هذا سوف يستغرق بعض الوقت. سيتم توفير مورد Confluent Cloud. إذا تم ذلك، فسيتم فتح محطات iterm2 تلقائيًا وسيتم تنفيذ ثلاث خدمات.
حسنًا، أنت الآن بحاجة إلى إضافة عميل محتمل جديد إلى Salesforce. هذه هي الخطوة اليدوية الأخيرة.
سيأخذ الذكاء الاصطناعي التوليدي قيادة جديدة من مجموعة Kafka ويقوم بإجراء LLM من خلال الحصول على المعلومات من Linkedin وتنفيذ المطالبة تلقائيًا وفي الوقت الفعلي.
سيُنظر إلى الموجه على أنه مهمة لـ Chatgpt، وقد قمنا بصياغة المحتوى التالي:
نحن نقوم بتشغيل نموذج chatgpt-3.5-turbo
في هذا العرض التوضيحي. يحتوي هذا النموذج على عدد محدود من الرموز، ولكنه حاليًا هو النموذج الأسرع والأقدم. وبالطبع أرخص واحد. إذا حاولت استخدام Kai Waehner كعميل محتمل، فسوف ترى أن الرموز المميزة للنموذج الحالي ليست كافية. ما يمكنك فعله هو تغيير النموذج. ستكون هذه أبسط طريقة، وهناك طريقة أخرى لتقسيم المحتوى إلى أجزاء. يرجى إلقاء نظرة على النماذج الحالية للتحقق من عدد الرموز المميزة لكل نموذج.
أبدأ باختباراتي:
model_name="gpt-4-turbo"
في السطر 135 من Ice_breaker.py وأعد تشغيل العميل.العرض التوضيحي البسيط ليس حالة استخدام لنمط الجيل المعزز للاسترجاع (RAG) في رأيي. نحصل على جميع المعلومات من واجهة برمجة تطبيقات معينة وليس من المنطقي تخزين البيانات في قاعدة بيانات متجهة. يعد تحميل المعلومات عبر واجهة برمجة التطبيقات في الوقت الفعلي أكثر كفاءة بكثير، ثم تكون بيانات جديدة. استخدم النموذج المناسب لحالة الاستخدام الخاصة بك، وفي حالتنا يجب أن يكون نموذجًا سريعًا يحتوي على كمية أكبر من الرموز المميزة.
يقوم Salesforce بإعادة تعيين كلمة المرور الخاصة بك وتحتاج إلى تغييرها من وقت لآخر. إذا قمت بتغيير كلمة المرور، فستحصل أيضًا على رمز أمان جديد لكلمة المرور. من فضلك لا تنسى تغيير هذا في ملف terraform.tfvars
.
إذا انتهيت، يمكنك إيقاف البرامج في الوحدة الطرفية باستخدام CTRL+c وتدمير كل شيء في Confluent Cloud:
terraform destroy
إذا حصلت على خطأ، فقم بتنفيذ التدمير مرة أخرى، حتى يتم حذف كل شيء، فأنت متأكد تمامًا من عدم تشغيل أي موارد واستهلاك التكاليف.
terraform destroy
أنت بحاجة إلى حساب Confluent Cloud (يحصل الأشخاص الجدد على رصيد بقيمة 400 دولار مجانًا). أنت بحاجة إلى حساب OPenAI، برصيد حالي. أنت بحاجة إلى حساب ProxyCurl API، مع الاعتمادات الحالية. تحتاج إلى حساب SERP API، وهنا سوف تحصل على كمية أولية من الاتصالات. وكان هذا كافيا في حالتي.
في المجموع، أنفق 20 دولارًا (Open AI، ProxyCurl) وما زلت لم تنفد من الاعتمادات.