يحتوي هذا الريبو على عروض توضيحية لـ IBM watsonx، ومنصة IBM للذكاء الاصطناعي والبيانات المصممة للأعمال.
يستخدم مثال تطبيق الذكاء الاصطناعي في هذا الريبو المكونات الرئيسية التالية:
وكمثال على ذلك، يتم استخدام سيناريو خدمة العملاء في شركة اتصالات. يتحدث الوكلاء البشريون مع العملاء لحل مشكلاتهم. يتم دعم الوكلاء البشريين بواسطة وكلاء رقميين لأتمتة الإصلاحات الضرورية قدر الإمكان.
فيما يلي نص محادثة مع عميل لديه مشكلة في جهاز توجيه Wi-Fi:
John (Teltop Customer Care Agent): Hello, this is John from Teltop customer care. How
can I assist you today?
Mary (Disappointed Subscriber): Hi John, it's Mary again. I've been having a nightmare
with your service. My home Wi-Fi is acting up, and the TV service over fiber is
terrible.
John: I'm sorry to hear about the troubles you're facing at home, Mary. Let's address
these issues. Can you please provide me with your account number or the phone number
associated with your account?
Mary: Sure, it's 123-555-1234.
[...]
John: Mary, it appears there are some issues with your router. We need to update the
router software.
في هذا المثال، يمكن تحديث برنامج أجهزة التوجيه عن بعد وبشكل تلقائي. إذا أمكن القيام بذلك بنجاح، فسيتم إرسال رسائل البريد الإلكتروني إلى العملاء.
يمكن إجراء نسخ المكالمات الهاتفية عبر خدمات تحويل الكلام إلى نص. يغطي الأصل الخطوات الثلاث التالية التي يتم تنفيذها بالتسلسل. لتحديث أجهزة التوجيه وإرسال رسائل البريد، يتم استدعاء الأدوات.
دعونا ننظر إلى الخطوة (2) بمزيد من التفصيل. إذا كان ملخص النص يحتوي على "تحديث جهاز التوجيه" كإجراء تصحيحي، فإن الوكيل يدرك أنه يتعين عليه استدعاء أداة باستخدام رقم هاتف العميل كمدخل.
Agent UpdateRouterIfNecessary LLM Output:
{
generated_text: 'Question: Update the router for Mary (123-555-1234) based on the
transcript summary.n' +
'Thought: I need to update the router for Mary (123-555-1234) based on the
transcript summary, so I will use the RouterUpdate tool.n' +
'Tool Name: RouterUpdaten' +
'Tool Caption: Updating router software for Mary (123-555-1234)n' +
'Tool Input: {"phoneNumber":"123-555-1234"}n' +
'Tool Output: ',
generated_token_count: 4465,
input_token_count: 1271,
stop_reason: 'not_finished'
}
تم تنفيذ الوكلاء باستخدام Bee Agent Framework في TypeScript. تم إنشاء إطار العمل بواسطة IBM Research وهو متاح كمصدر مفتوح. يعرض المقتطف التالي تعريف أداة التوجيه التي يتم وضعها في الموجه عند استدعاء نماذج اللغات الكبيرة.
export class RouterUpdateTool extends Tool <
RouterUpdateToolOutput , RouterUpdateToolOptions , RouterUpdateToolRunOptions > {
name = "RouterUpdate" ;
description = "Updates the software of routers remotely for a subscriber " +
"with a certain phone number." ;
inputSchema ( ) {
return z . object ( {
phoneNumber : z
. string ( { description : `Phone number of a subscriber, for example '123-456-7890'` } )
. min ( 1 )
. max ( 40 ) ,
} ) ;
}
بدلاً من الهلوسة بمخرجات الأداة، يقوم الوكيل بإيقاف الدفق من LLM بعد 'Tool Output:' وتنفيذ الأداة بدلاً من ذلك.
Agent UpdateRouterIfNecessary (tool_input) ? : {"phoneNumber":"123-555-1234"}
Input to Router Update tool - phoneNumber: 123-555-1234
Agent UpdateRouterIfNecessary (tool_output) ? : {"success":"true",
"text":"Router has been updated"}
هناك ثلاثة تدفقات مختلفة تنفذ نفس السيناريو.
يمكن تشغيل التطبيق الوكيل كتطبيق TypeScript مستقل، على سبيل المثال محليًا لأغراض التطوير. بالإضافة إلى ذلك، يمكن استخدام Watsonx Orchesstrate لاستدعاء الخطوات الثلاث وتمرير السياق بين الخطوات.
عند تحديد "إخفاء هذا النموذج من المستخدم"، يتم تنفيذ التدفق الكامل، على سبيل المثال في عميل الدردشة Orchesstrate أو عبر واجهة برمجة التطبيقات.
لتلخيص النصوص، يمكن استخدام النموذج الأكبر LLama 3.1 70b الذي يعمل على watsonx.ai. لتحقيق أوقات استجابة أسرع وتوفير تكاليف تشغيل النماذج، يمكن ضبط النماذج الأصغر حجمًا.
InstructLab هي مبادرة مفتوحة المصدر بقيادة Red Hat وIBM Research. بالإضافة إلى القدرة على ضبط نماذج الذكاء الاصطناعي التوليدية، فإنها تدعم أيضًا أجيالًا من البيانات الاصطناعية بحيث تكون هناك حاجة إلى بيانات حقيقية أقل.
على سبيل المثال، يمكن لـ InstructLab إنشاء المزيد من عينات النسخ (السياقات) استنادًا إلى عدد قليل من العينات الحقيقية المحددة في ملفات yaml.
version : 3
task_description : >-
Summarization of phone call transcripts between human agents
and clients of a telecommunication service provider about
technical issues.
created_by : nheidloff
seed_examples :
- context : >-
John (Teltop Customer Care Agent): Hello, this is John from Teltop customer
care. How can I assist you today?nnMary (Disappointed Subscriber): Hi
John, it'''s Mary. I'''ve been having a nightmare with your service.
My home Wi-Fi is acting up, and the TV service over fiber is terrible.
nnJohn: I'm sorry to hear about the troubles you're facing at home, Mary.
Let's address these issues. Can you please provide me with your account number
or the phone number associated with your account??nnMary: Sure, it'''s
123-555-1234. [...]
nnJohn: Mary, it appears there are some issues with your router. We need
to update the router software. [...]
question: >-
Summarize the transcript of the call. Identify the agent and the
subscriber. Add any specific issues mentioned by the subscriber. Add any
corrective actions taken as directed by the agent. Please mention if the
issue is resolved. Mention any follow-up actions and timelines. List the
phone number of the subscriber at the end.
answer: >-
**Agent:** Miken**Subscriber:** Saran [...]
**Corrective Actions:** Router software update [...]
**Subscriber's Phone Number:** 123-555-1234
يعرض المقتطف التالي بعض أمثلة الإخراج. وبالمثل، يمكن لـ InstructLab إنشاء ملخصات (إجابات) وتقييمها.
[Start of Context]
Raj (Customer Care Agent): Hello, this is Raj from customer care. How can I assist
you today?
Samantha (Customer): Hi Raj, I'm having trouble with my internet connection. It's
been really slow lately [cut ... cut]
[End of Context]
يمكن استيراد نماذج ونماذج الأساس المخصصة من HuggingFace إلى watsonx.ai ونشرها عليه.
لتقييم النماذج الأساسية، يوفر watsonx.governance آليات لمراقبة النماذج باستخدام مقاييس مختلفة جاهزة بالإضافة إلى مقاييس مخصصة.
git clone https://github.com/IBM/watsonx-ai-platform-demos
cd watsonx-demos/applications/application
cp .env.template .env
# define WATSONX_API_KEY and WATSONX_PROJECT_ID
yarn install
yarn start:appOneLLMTwoAgents
راجع وثائق التطبيق للمزيد.
تم تنفيذ العروض التوضيحية لهذا الريبو بواسطة فريق IBM DACH CSM بالتعاون مع Tech Sales.