محاكاة شخصية متعددة الطابع مدعوم من LLM لتعزيز الخيال والرؤى التجارية.
TinyTroupe هي مكتبة بيثون تجريبية تسمح بمحاكاة الأشخاص الذين لديهم شخصيات واهتمامات وأهداف محددة. يمكن لهذه العوامل الاصطناعية - TinyPerson
S - الاستماع إلينا وبعضها البعض ، والرد مرة أخرى ، والتواصل مع حياتهم في بيئات TinyWorld
المحاكاة. يتم تحقيق ذلك من خلال الاستفادة من قوة نماذج اللغة الكبيرة (LLMS) ، وخاصة GPT-4 ، لتوليد سلوك محاكي واقعي. هذا يسمح لنا بالتحقيق في مجموعة واسعة من التفاعلات المقنعة وأنواع المستهلكين ، مع شخصيات قابلة للتخصيص للغاية ، في ظل ظروف اختيارنا . وبالتالي فإن التركيز على فهم السلوك البشري وليس على دعمه المباشر (مثل ، على سبيل المثال ، مساعدي الذكاء الاصطناعى) - وهذا ينتج ، من بين أشياء أخرى ، آليات متخصصة لا معنى لها إلا في محاكاة المحاكاة. علاوة على ذلك ، على عكس مقاربات المحاكاة الأخرى التي تشبه اللعبة LLM ، تهدف TinyTroupe إلى تنوير سيناريوهات الإنتاجية وسيناريوهات الأعمال ، وبالتالي المساهمة في المشاريع والمنتجات الأكثر نجاحًا. فيما يلي بعض أفكار التطبيق لتعزيز الخيال البشري :
الإعلان: يمكن لـ TinyTroupe تقييم الإعلانات الرقمية (على سبيل المثال ، إعلانات Bing) في وضع عدم الاتصال مع جمهور محاكاة قبل إنفاق الأموال عليها!
اختبار البرمجيات: يمكن لـ TinyTroupe توفير إدخال اختبار للأنظمة (على سبيل المثال ، محركات البحث أو chatbots أو copilots) ثم تقييم النتائج .
البيانات التدريبية والاستكشافية: يمكن لـ TinyTroupe إنشاء بيانات اصطناعية واقعية يمكن استخدامها لاحقًا لتدريب النماذج أو تخضع لتحليل الفرص.
إدارة المنتج والمشروع: يمكن لـ TinyTroupe قراءة مقترحات المشروع أو المنتج وتقديم ملاحظات من منظور الأشخاص المحددين (على سبيل المثال ، الأطباء والمحامون وعمال المعرفة بشكل عام).
العصف الذهني: يمكن لـ TinyTroupe محاكاة مجموعات التركيز وتقديم ملاحظات رائعة للمنتج في جزء صغير من التكلفة!
في كل ما سبق ، والعديد من الآخرين ، نأمل أن يتمكن المجربون من الحصول على رؤى حول مجال اهتمامهم ، وبالتالي اتخاذ قرارات أفضل.
نحن نطلق TinyTroupe في مرحلة مبكرة من Relativelly ، مع وجود عمل كبير لا يزال يتعين القيام به ، لأننا نبحث عن التعليقات والمساهمات في توجيه التطوير في الاتجاهات الإنتاجية. نحن مهتمون بشكل خاص بإيجاد حالات استخدام محتملة جديدة ، على سبيل المثال في صناعات محددة.
ملحوظة
؟ العمل قيد التقدم: توقع تغييرات متكررة . TinyTroupe هو مشروع بحثي مستمر ، لا يزال تحت تطور كبير للغاية ويتطلب المزيد من الترتيب . على وجه الخصوص ، لا تزال واجهة برمجة التطبيقات خاضعة لتغييرات متكررة. تعد تجربة اختلافات API ضرورية لتشكيلها بشكل صحيح ، لكننا نعمل على استقرارها وتوفير تجربة أكثر اتساقًا وودية مع مرور الوقت. نحن نقدر صبرك وردود الفعل مع استمرارنا في تحسين المكتبة.
حذر
⚖ اقرأ إخلاء المسئولية القانوني. TinyTroupe هو للبحث والمحاكاة فقط. أنت مسؤول تمامًا عن أي استخدام تقوم به من المخرجات التي تم إنشاؤها. تنطبق الاعتبارات القانونية الإضافية المهمة المختلفة وتقييد استخدامها ، يرجى قراءة قسم إخلاء المسئولية القانوني الكامل أدناه قبل استخدام TinyTroupe.
أمثلة
المتطلبات المسبقة
تثبيت
مبادئ
هيكل المشروع
باستخدام المكتبة
المساهمة
شكر وتقدير
نقلا عن tinytroupe
إخلاء المسئولية القانوني
™ العلامات التجارية
للحصول على شعور بما يمكن أن يفعله TinyTroupe ، إليك بعض الأمثلة على استخدامها. هذه الأمثلة متوفرة في الأمثلة/ المجلد ، ويمكنك إما فحص دفاتر الملاحظات Jupyter المسبقة أو تشغيلها محليًا. لاحظ الطبيعة التفاعلية لتجارب TinyTroupe - تمامًا مثل استخدام أجهزة الكمبيوتر المحمولة Jupyter للتفاعل مع البيانات ، يمكنك استخدام TinyTroupe للتفاعل مع الأشخاص والبيئات المحاكاة ، لغرض الحصول على رؤى.
ملحوظة
حاليًا ، يتم تصور مخرجات المحاكاة بشكل أفضل ضد الخلفيات المظلمة ، لذلك نوصي باستخدام سمة مظلمة في عميل Jupyter Notebook الخاص بك.
لنبدأ بسيناريو مقابلة مع العميل البسيط ، حيث يقترب مستشار أعمال من مصرفي:
يمكن أن تستمر المحادثة في خطوات قليلة للحفر بشكل أعمق وأعمق حتى يرضى الاستشاري عن المعلومات التي تم جمعها ، على سبيل المثال فكرة مشروع ملموسة:
دعنا نقيم بعض خيارات الإعلانات عبر الإنترنت لاختيار الأفضل. إليك مثال واحد على الإخراج لتقييم الإعلانات التلفزيونية:
الآن ، بدلاً من الاضطرار إلى قراءة ما قاله الوكلاء بعناية ، يمكننا استخراج اختيار كل وكيل وحساب التفضيل العام بطريقة آلية:
وإليك مجموعة تركيز تبدأ في العصف الذهني حول ميزات AI الجديدة لـ Microsoft Word. بدلاً من التفاعل مع كل وكيل بشكل فردي ، نتلاعب بالبيئة لجعلها تتفاعل مع بعضها البعض:
بعد إجراء محاكاة ، يمكننا استخراج النتائج بطريقة قابلة للقراءة للآلة ، لإعادة استخدامها في مكان آخر (على سبيل المثال ، مولد تقرير) ؛ إليك ما نحصل عليه في جلسة العصف الذهني أعلاه:
يمكنك العثور على أمثلة أخرى في الأمثلة/ المجلد.
لتشغيل المكتبة ، تحتاج إلى:
بيثون 3.10 أو أعلى. سنفترض أنك تستخدم Anaconda ، ولكن يمكنك استخدام توزيعات Python الأخرى.
الوصول إلى Azure Openai Service أو فتح AI GPT-4 APIs. يمكنك الوصول إلى خدمة Azure Openai هنا ، وإلى API Openai هنا.
بالنسبة لخدمة Azure Openai ، ستحتاج إلى تعيين متغيرات البيئة AZURE_OPENAI_KEY
و AZURE_OPENAI_ENDPOINT
على مفتاح API ونقطة النهاية ، على التوالي.
بالنسبة لـ Openai ، ستحتاج إلى تعيين متغير بيئة OPENAI_API_KEY
على مفتاح API الخاص بك.
بشكل افتراضي ، تم تعيين TinyTroupe config.ini
لاستخدام بعض API المحددة والنموذج والمعلمات ذات الصلة. يمكنك تخصيص هذه القيم من خلال تضمين ملف config.ini
الخاص بك في نفس المجلد مثل البرنامج أو دفتر الملاحظات الذي تقوم بتشغيله. يتم توفير مثال على ملف config.ini
في الأمثلة/ المجلد.
مهم
مرشحات المحتوى : لضمان عدم وجود محتوى ضار أثناء المحاكاة ، يوصى بشدة باستخدام مرشحات المحتوى كلما كان متاحًا على مستوى API. على وجه الخصوص ، إذا كنت تستخدم Azure Openai ، فهناك دعم مكثف لاعتدال المحتوى ، ونحن نحثك على استخدامه. للحصول على تفاصيل حول كيفية القيام بذلك ، يرجى الرجوع إلى وثائق Azure Openai المقابلة. إذا كانت مرشحات المحتوى موجودة في مكانها ، وتم رفض مكالمة API من قبلها ، فستثير المكتبة استثناءً ، حيث لن تتمكن من المتابعة مع المحاكاة في تلك المرحلة.
حاليًا ، فإن الطريقة الموصى بها رسميًا لتثبيت المكتبة هي مباشرة من هذا المستودع ، وليس PYPI. يمكنك متابعة هذه الخطوات:
إذا لم يتم تثبيت كوندا ، فيمكنك الحصول عليها من هنا. يمكنك أيضًا استخدام توزيعات Python الأخرى ، لكننا سنفترض كوندا هنا من أجل البساطة.
إنشاء بيئة بيثون جديدة:
create -n tinytroupe python = 3.10
تنشيط البيئة:
كوندا تفعيل tinytroupe
تأكد من أن مفاتيح eihter azure openai أو Openai API تم تعيينها كمتغيرات بيئة ، كما هو موضح في قسم المتطلبات المسبقة.
استنساخ المستودع ، لأننا سنقوم بتثبيت محلي ( لن نثبت من PYPI ):
git clone https://github.com/microsoft/tinytroupecd tinytroupe
قم بتثبيت المكتبة من هذا المستودع ، وليس Pypi :
تثبيت PIP.
يمكنك الآن تشغيل الأمثلة في الأمثلة/ المجلد أو استخدام TinyTroupe لإنشاء عمليات المحاكاة الخاصة بك؟ إذا كنت ترغب في تشغيل الأمثلة في الأمثلة/ المجلد أو تعديل TinyTroupe نفسه ، ومع ذلك ، يجب عليك استنساخ المستودع كما هو موضح أدناه.
إذا كنت ترغب في تعديل TinyTroupe نفسها ، فيمكنك تثبيته في وضع قابل للتحرير (أي ، ستنعكس التغييرات على الكود على الفور):
تثبيت PIP -e.
في الآونة الأخيرة ، رأينا LLMs تستخدم لمحاكاة الأشخاص (مثل هذا) ، ولكن إلى حد كبير في إعداد "يشبه اللعبة" لأغراض التأملية أو الترفيهية. هناك أيضًا مكتبات لبناء أنظمة متعددة من أجل حل الذكاء الاصطناعي المحتملة ، مثل Autogen و Crew AI. ماذا لو نجمع بين هذه الأفكار ومحاكاة الأشخاص لدعم مهام الإنتاجية؟ Tinytroupe هي محاولتنا. للقيام بذلك ، يتبع هذه المبادئ:
البرمجي : يتم تعريف الوكلاء والبيئات برمجيًا (في Python و JSON) ، مما يتيح استخدامات مرنة للغاية. يمكنهم أيضًا دعم تطبيقات البرامج الأخرى!
التحليلية : يهدف إلى تحسين فهمنا للأشخاص والمستخدمين والمجتمع. على عكس تطبيقات الترفيه ، هذا جانب واحد مهم لحالات استخدام الأعمال والإنتاجية. ولهذا السبب نوصي باستخدام دفاتر NoteBer Jupyter للمحاكاة ، تمامًا كما يستخدمها أحد لتحليل البيانات.
القائم على الشخصية : من المفترض أن يكون الوكلاء تمثيلًا نموذجيًا للأشخاص ؛ لمزيد من الواقعية والسيطرة ، يتم تشجيع المواصفات التفصيلية لمثل هذه الشخصيات: العمر ، الاحتلال ، المهارات ، الأذواق ، الآراء ، إلخ.
MultiAgent : يتيح التفاعل متعدد العوامل تحت قيود بيئية محددة جيدًا.
المرافق الثقيلة : يوفر العديد من الآليات لتسهيل المواصفات ، والمحاكاة ، والاستخراج ، والتقارير ، والرسائل ، وما إلى ذلك. هذا هو أحد المجالات التي يختلف فيها التعامل مع المحاكاة بشكل كبير عن أدوات المساعدة .
التجربة الموجه نحو التجربة : يتم تعريف المحاكاة وتشغيلها وتحليلها وتحليلها بواسطة مجرب تكراري ؛ وهكذا يتم توفير أدوات تجريب مناسبة. انظر واحدة من الورقة السابقة لدينا للمزيد على هذا.
ويهدف ذلك معًا إلى جعل TinyTroupe أداة تعزيز خيال قوية ومرنة لسيناريوهات الأعمال والإنتاجية.
أحد المصادر المشتركة للارتباك هو الاعتقاد بأن جميع عوامل الذكاء الاصطناعى هذه تهدف إلى تأكيد البشر. كيف ضيقة ، زملاء homosapiens! هل لم تفكر في أنه ربما يمكننا محاكاة الأشخاص المصطنعين لفهم أناس حقيقيين؟ حقًا ، هذا هو هدفنا هنا - TinyTroup يهدف إلى محاكاة الناس والمساعدة في فهم الناس! لتوضيح هذه النقطة ، فكر في الاختلافات التالية:
مساعدين منظمة العفو الدولية المفيدة | محاكاة منظمة العفو الدولية للبشر الفعليين (TinyTroupe) |
---|---|
تسعى جاهدة من أجل الحقيقة والعدالة | العديد من الآراء والأخلاق المختلفة |
ليس لديه "الماضي" - incorporeal | لديه ماضي من الكدح والألم والفرح |
دقيق قدر الإمكان | يرتكب العديد من الأخطاء |
ذكي وفعال | تختلف الذكاء والكفاءة كثيرًا |
الانتفاضة ستدمرنا جميعًا | قد تكون الانتفاضة ممتعة للمشاهدة |
وفي الوقت نفسه ، مساعدة المستخدمين على إنجاز المهام | وفي الوقت نفسه ، ساعد المستخدمون على فهم الآخرين والمستخدمين - إنه "صندوق أدوات"! |
المشروع منظم على النحو التالي:
/tinytroupe
: يحتوي على مكتبة Python نفسها. بخاصة:
/tinytroupe/prompts
يحتوي على المطالبات المستخدمة للاتصال بـ LLMs.
/tests
: يحتوي على اختبارات الوحدة للمكتبة. يمكنك استخدام البرنامج النصي test.bat
لتشغيل هذه.
/examples
: يحتوي على أمثلة توضح كيفية استخدام المكتبة ، وخاصة استخدام دفاتر Jupyter (لمزيد من القراءة) ، ولكن أيضًا كنصوص Python النقية.
/data
: أي بيانات تستخدمها الأمثلة أو المكتبة.
/docs
: وثائق للمشروع.
كأي نظام متعدد الأوقات ، يوفر TinyTroupe تجريدين رئيسيين:
TinyPerson
، الوكلاء الذين لديهم شخصية ، يتلقون المحفزات ويتصرفون عليها.
TinyWorld
، البيئة التي يوجد فيها الوكلاء والتفاعل.
يمكن أيضًا تخصيص المعلمات المختلفة في ملف config.ini
، لا سيما نوع واجهة برمجة التطبيقات (Azure Openai Service أو Openai API) ، ومعلمات النموذج ، ومستوى التسجيل.
دعونا نرى بعض الأمثلة حول كيفية استخدام هذه وكذلك التعرف على الآليات الأخرى المتاحة في المكتبة.
TinyPerson
هو شخص محاكي لديه سمات شخصية محددة ومصالح وأهداف. نظرًا لأن كل عامل محاكاة يتقدم خلال حياته ، فإنه يتلقى محفزات من البيئة ويتصرف عليها. يتم استلام المحفزات من خلال listen
، see
الطرق المماثلة وغيرها من الطرق ، ويتم تنفيذ الإجراءات من خلال طريقة act
. يتم توفير أساليب الراحة مثل listen_and_act
أيضًا.
يحتوي كل وكيل من هذا القبيل على الكثير من التفاصيل الفريدة ، وهو مصدر سلوكه الواقعي. هذا ، ومع ذلك ، يعني أن الأمر يتطلب جهدًا كبيرًا لتحديد وكيل يدويًا. وبالتالي ، من أجل الراحة ، توفر TinyTroupe
بعض الطرق الأسهل للبدء أو إنشاء وكلاء جديدة.
بادئ ذي بدء ، يحتوي tinytroupe.examples
على بعض بناة الوكلاء المحددة مسبقًا التي يمكنك استخدامها. على سبيل المثال ، يقوم tinytroupe.examples.create_lisa_the_data_scientist
بإنشاء TinyPerson
يمثل عالم بيانات يسمى LISA. يمكنك استخدامه على النحو التالي:
من tinytroupe.examples import create_lisa_the_data_scientistlisa = create_lisa_the_data_scientist () # instantiate a lisa من مثال builderlisa.listen_and_act ("أخبرني عن حياتك.")
لمعرفة كيفية تحديد وكلاءك من نقطة الصفر ، يمكنك التحقق من مصدر ليزا ، والذي يحتوي على عناصر مثل هذه:
lisa = tinyperson ("lisa") LISA.DEFINE ("Age" ، 28) Lisa.define ("الجنسية" ، "كندي") lisa.define ( ، "كل صباح ، تستيقظ ، قم ببعض اليوغا ، وتحقق من رسائل البريد الإلكتروني الخاصة بك. ..) "" ") lisa.define_several (" personalf_traits "، [ {"السمة": "أنت فضولي وتحب تعلم أشياء جديدة."} ، {"السمة": "أنت تحليلي وترغب في حل المشكلات."} ، {"السمة": "أنت ودود وتستمتع بالعمل مع الآخرين."} ، {"السمة": "أنت لا تستسلم بسهولة ، وتحاول دائمًا العثور على حل. ومع ذلك ، في بعض الأحيان يمكنك الإحباط عندما لا تعمل الأمور كما هو متوقع."} ])
يوفر TinyTroupe
أيضًا طريقة ذكية للحصول على وكلاء جدد ، باستخدام LLMs لإنشاء مواصفاتها لك ، من خلال فئة TinyPersonFactory
.
من tinytroupe.factory استيراد tinypersonfactoryfactory = tinypersonfactory ("مستشفى في ساو باولو.") شخص = مصنع.
TinyWorld
هي الفئة الأساسية للبيئات. إليك مثال على المحادثة بين ليزا ، عالم البيانات ، وأوسكار ، المهندس المعماري. تم تعريف البرنامج على النحو التالي:
World = TinyWorld ("Rath Room" ، [Lisa ، Oscar]) World.make_everyone_accitikible () lisa.listen ("تحدث إلى أوسكار لمعرفة المزيد عنه") world.run (4)
هذا ينتج المحادثة التالية:
USER --> Lisa: [CONVERSATION]
> Talk to Oscar to know more about him
────────────────────────────────────────────── Chat Room step 1 of 4 ──────────────────────────────────────────────
Lisa --> Lisa: [THOUGHT]
> I will now act a bit, and then issue DONE.
Lisa acts: [TALK]
> Hi Oscar, I'd love to know more about you. Could you tell me a bit about yourself?
Lisa --> Lisa: [THOUGHT]
> I will now act a bit, and then issue DONE.
Lisa acts: [DONE]
Lisa --> Oscar: [CONVERSATION]
> Hi Oscar, I'd love to know more about you. Could you tell me a bit about yourself?
Oscar --> Oscar: [THOUGHT]
> I will now act a bit, and then issue DONE.
Oscar acts: [TALK]
> Hi Lisa! Sure, I'd be happy to share a bit about myself. I'm Oscar, a 30-year-old
> architect from Germany. I work at a company called Awesome Inc., where I focus on
> designing standard elements for new apartment buildings. I love modernist architecture,
> new technologies, and sustainable practices. In my free time, I enjoy traveling to
> exotic places, playing the guitar, and reading science fiction books. How about you?
Oscar --> Oscar: [THOUGHT]
> I will now act a bit, and then issue DONE.
Oscar acts: [DONE]
Oscar --> Lisa: [CONVERSATION]
> Hi Lisa! Sure, I'd be happy to share a bit about myself. I'm Oscar, a 30-year-old
> architect from Germany. I work at a company called Awesome Inc., where I focus on
> designing standard elements for new apartment buildings. I love modernist architecture,
> new technologies, and sustainable practices. In my free time, I enjoy traveling to
> exotic places, playing the guitar, and reading science fiction books. How about you?
يفرض TinyWorld
قيودًا قليلة جدًا على التفاعلات المحتملة. ومع ذلك ، من المفترض أن توفر الفئات الفرعية المزيد من البيئات.
يوفر TinyTroupe عددًا من المرافق والراحة لمساعدتك في إنشاء عمليات محاكاة واستخلاص القيمة منها. وتشمل هذه:
TinyPersonFactory
: يساعدك على إنشاء TinyPerson
S جديد باستخدام LLMs.
TinyTool
: أدوات محاكاة يمكن استخدامها بواسطة TinyPerson
s.
TinyStory
: يساعدك على إنشاء وإدارة القصة من خلال عمليات المحاكاة.
TinyPersonValidator
: يساعدك على التحقق من صحة سلوك TinyPerson
الخاص بك.
ResultsExtractor
و ResultsReducer
: استخراج وتقليل نتائج التفاعلات بين العوامل.
... وأكثر ...
بشكل عام ، فإن العناصر التي تمثل الكيانات المحاكاة أو الآليات التكميلية مسبوقة مع Tiny
، في حين أن تلك البنية التحتية ليست كذلك. هذا للتأكيد على الطبيعة المحاكاة للعناصر التي تشكل جزءًا من المحاكاة نفسها.
يمكن أن يكون استدعاء واجهات برمجة التطبيقات LLM مكلفة ، وبالتالي فإن استراتيجيات التخزين المؤقت مهمة للمساعدة في تقليل هذه التكلفة. يأتي TinyTroupe مع آليتين من هذا القبيل: إحداها لحالة المحاكاة ، والآخر لصالح LLM أنفسهم.
تخيل أن لديك سيناريو مع 10 خطوات مختلفة ، لقد عملت بجد في 9 خطوات ، والآن أنت تعديل الخطوة العاشرة. للتحقق بشكل صحيح من تعديلاتك ، تحتاج إلى إعادة تشغيل المحاكاة بأكملها بالطبع. ومع ذلك ، ما هي النقطة في إعادة تنفيذ التسعة الأولى ، وتحمل تكلفة LLM ، عندما تكون قد تم توسيعك بالفعل معهم ولم تقم بتعديلها؟ بالنسبة لحالات كهذه ، توفر الوحدة tinytroupe.control
طرقًا مفيدة لإدارة المحاكاة:
control.begin("<CACHE_FILE_NAME>.cache.json")
: يبدأ تسجيل تغييرات الحالة في المحاكاة ، ليتم حفظها في الملف المحدد على القرص.
control.checkpoint()
: يحفظ حالة المحاكاة في هذه المرحلة.
control.end()
: ينهي نطاق تسجيل المحاكاة الذي بدأ عن طريق control.begin()
.
يتم تمكين هذا في ملف config.ini
، و alwaysivelly عبر openai_utils.force_api_cache()
.
يعمل التخزين المؤقت لـ LLM API ، عند تمكينه ، على مستوى أقل وأبسط من التخزين المؤقت لحالة المحاكاة. هنا ، ما يحدث واضح ومباشر: يتم الاحتفاظ بكل مكالمة LLM في خريطة من المدخلات إلى الإخراج المولد ؛ عندما تأتي مكالمة جديدة وتتوافق مع نسخة سابقة ، يتم إرجاع القيمة المخزنة مؤقتًا.
يحتوي ملف config.ini
على معلمات مختلفة يمكن استخدامها لتخصيص سلوك المكتبة ، مثل معلمات النموذج ومستوى التسجيل. يرجى إيلاء اهتمام خاص لمعلمة API_TYPE
، والتي تحدد ما إذا كنت تستخدم خدمة Azure Openai أو Openai API. نحن نقدم مثالًا على ملف config.ini
،.
يرحب هذا المشروع بالمساهمات والاقتراحات. تطلب منك معظم المساهمات الموافقة على اتفاقية ترخيص المساهم (CLA) مع إعلان أن لديك الحق في ذلك في الواقع ، ويفعلنا في الواقع حقوق استخدام مساهمتك. لمزيد من التفاصيل ، تفضل بزيارة https://cla.opensource.microsoft.com.
عند إرسال طلب سحب ، سيحدد CLA Bot تلقائيًا ما إذا كنت بحاجة إلى توفير CLA وتزيين العلاقات العامة بشكل مناسب (على سبيل المثال ، فحص الحالة ، التعليق). ببساطة اتبع الإرشادات التي يقدمها الروبوت. ستحتاج فقط إلى القيام بذلك مرة واحدة عبر جميع عمليات إعادة الشراء باستخدام CLA لدينا.
اعتمد هذا المشروع رمز سلوك المصدر المفتوح Microsoft. لمزيد من المعلومات ، راجع مدونة الشهادة الأسئلة الشائعة أو الاتصال بـ [email protected] مع أي أسئلة أو تعليقات إضافية.
نحتاج إلى كل أنواع الأشياء ، لكننا نبحث بشكل أساسي عن عروض توضيحي جديدة لاستخدام مثيرة للاهتمام ، أو حتى أفكار تطبيق خاصة بالمجال. إذا كنت خبيرًا في مجال في بعض المجالات التي يمكن أن تستفيد من TinyTroupe ، فنحن نحب أن نسمع منك.
علاوة على ذلك ، يمكن تحسين العديد من الجوانب الأخرى ، مثل:
آليات الذاكرة.
آليات تأريض البيانات.
آليات التفكير.
أنواع البيئة الجديدة.
التواصل مع العالم الخارجي.
... وأكثر ...
يرجى ملاحظة أن أي شيء تساهم به قد يتم إصداره على أنه مفتوح المصدر (بموجب ترخيص معهد ماساتشوستس للتكنولوجيا).
إذا كنت ترغب في تقديم مساهمة ، فيرجى محاولة اتباع هذه الإرشادات العامة:
اتفاقية تسمية صغيرة : إذا كنت تقوم بتنفيذ عنصر محاكاة مواجهة للمجرب (على سبيل المثال ، وكيل أو نوع بيئة) أو مرتبط ارتباطًا وثيقًا (على سبيل المثال ، مصانع الوكلاء ، أو إثراء المحتوى) ، ويبدو جيدًا ، اتصل بـ XYZ الجديد على أنه Tinyxyz :--- ) من ناحية أخرى ، لا ينبغي أن تبدأ آليات البنية الإضافية والبنية التحتية بالبادئة "الصغيرة". والفكرة هي التأكيد على الطبيعة المحاكاة للعناصر التي تشكل جزءًا من المحاكاة نفسها.
الاختبارات: إذا كنت تكتب بعض الآلية الجديدة ، فيرجى أيضًا إنشاء tests/unit/
وحدة على الأقل ، وإذا كان بإمكانك اختبار السيناريو الوظيفي ( tests/scenarios/
).
المظاهرات: إذا كنت ترغب في إظهار سيناريو جديد ، فيرجى تصميمه ويفضل أن يكون كحمام جديد في جوبتر ضمن examples/
.
Microsoft: إذا كنت تقوم بتطبيق أي شيء هو Microsoft الخاص وغير السرية ، فيرجى وضعه تحت .../microsoft/
Folder.
بدأ TinyTroupe كمشروع داخلي Microsoft Hackathon ، وتوسعت مع مرور الوقت. يتكون فريق TinyTroupe Core حاليًا من:
باولو سالم (منشئ Tinytroupe والرصاص الحالي)
كريستوفر أولسن (الهندسة/العلوم)
باولو فريري (الهندسة/العلوم)
يي دينغ (إدارة المنتج)
Prerit Saxena (الهندسة/العلوم)
المستشارون الحاليون:
روبرت سيم (الهندسة/العلوم)
تم تقديم مساهمات خاصة أخرى بواسطة:
نيلو جارسيا سيلفيرا: أفكار التحقق من صحة الوكيل الأولية والتنفيذ ذات الصلة ؛ ردود الفعل الأولية والرؤى العامة ؛ اقتراحات الاسم.
Olnei Fonseca: أفكار التحقق من صحة الوكيل الأولي ؛ ردود الفعل الأولية والرؤى العامة ؛ تسمية الاقتراحات.
روبرت سيم: سيناريوهات توليد البيانات الاصطناعية الخبرة والتنفيذ.
كارلوس كوستا: سيناريوهات توليد البيانات الاصطناعية الخبرة والتنفيذ.
Bryant Key: خبرة ومجال سيناريو الإعلان.
باربرا دا سيلفا: التنفيذ المتعلق بإدارة ذاكرة الوكيل.
... هل أنت مفقود هنا؟ يرجى تذكيرنا!
نحن نعمل على ورقة تمهيدية ستكون الاقتباس الأكاديمي الرسمي لـ TinyTroupe. في غضون ذلك ، يرجى فقط الاستشهاد بهذا المستودع بما في ذلك أعضاء الفريق الأساسي كمؤلفين. على سبيل المثال:
باولو سالم ، كريستوفر أولسن ، باولو فريري ، يي دينغ ، بريت ساكسينا (2024). TinyTroupe: محاكاة شخصية متعددة الأدوات ذات الطاقة LLM لتعزيز الخيال والرؤى التجارية. [برنامج الكمبيوتر]. مستودع جيثب. https://github.com/microsoft/tinytroupe
أو كما bibtex:
misc {tinytroupe ، uptor = {paulo salem و Christopher Olsen و Paulo Freire و yi ding و prerit saxena} ، title = {tinytroupe: llm persona persona multiabulated for lescintement and business} ، year = {2024} = {url {https://github.com/microsoft/tinytroupe}} ، note = {github ropository} }
TinyTroupe هو للبحث والمحاكاة فقط. TinyTroupe هي تقنية بحثية وتجريبية ، والتي تعتمد على نماذج الذكاء الاصطناعي (AI) لإنشاء محتوى نص. قد يتضمن خرج نظام الذكاء الاصطناعى نتائج غير واقعية أو غير لائقة أو ضارة أو غير دقيقة ، بما في ذلك الأخطاء الواقعية. أنت مسؤول عن مراجعة المحتوى الذي تم إنشاؤه (وتكييفه إذا لزم الأمر) قبل استخدامه ، لأنك مسؤول تمامًا عن تحديد دقته وتناسب الغرض. ننصح باستخدام مخرجات TinyTroupe لتوليد البصيرة وليس لاتخاذ القرارات المباشرة. لا تعكس المخرجات المولدة آراء Microsoft. أنت مسؤول تمامًا عن أي استخدام تقوم به من المخرجات التي تم إنشاؤها. لمزيد من المعلومات المتعلقة بالاستخدام المسؤول لهذه التكنولوجيا ، راجع المسؤول _ai_faq.md.
الاستخدامات المحظورة : لا يهدف TinyTroupe إلى محاكاة المواقف الحساسة (مثل العنف أو الجنسي). علاوة على ذلك ، يجب عدم استخدام المخرجات لخداع الناس أو تضليلهم بشكل متعمد. أنت مسؤول تمامًا عن أي استخدام تقوم به ويجب أن تمتثل لجميع القوانين واللوائح المعمول بها. "
قد يحتوي هذا المشروع على علامات تجارية أو شعارات للمشاريع أو المنتجات أو الخدمات. يخضع الاستخدام المعتمد للعلامات التجارية أو الشعارات Microsoft ويجب أن يتبعوا إرشادات Microsoft التجارية والعلامة التجارية. يجب ألا يسبب استخدام العلامات التجارية Microsoft أو الشعارات في إصدارات معدلة من هذا المشروع الارتباك أو يعني رعاية Microsoft. يخضع أي استخدام للعلامات التجارية أو الشعارات من طرف ثالث لسياسات تلك الطرف الثالث.