يعد مشروع Telegram-GPT-Bot تكاملًا بسيطًا بين Telegram و Openai APIs ، والذي يمكّنك من إنشاء مساعد GPT مخصص في شكل روبوت برقية. باستخدام هذه الأداة ، يمكنك الوصول إلى مساعد GPT الخاص بك من أي جهاز باستخدام تطبيق Telegram العادي ، مما يجعله مريحًا للغاية للاستخدام. النموذج المستخدم هو GPT-3.5 توربو ، وهو نفس النموذج المستخدم في chatgpt العادية.
واحدة من فوائد Telegram-GPT-BOT هي القدرة على تكوين شخصية مساعد GPT الخاص بك. يمكنك اختيار النغمة واللغة والتخصص وحتى اسم مساعدك لجعلها أكثر تخصيصًا وجذابة.
الغرض من هذا المشروع هو أن تكون قادرًا على امتلاك روبوت شخصي يمكنك مشاركته مع أصدقائك ، وليس أن تكون منصة روبوت.
معظم الخصائص من ملف خصائص التطبيق هي توضيحية ذاتية ، دعنا نتجاوز الخصائص المهمة.
| ملكية | وصف | إلزامي |
|---|---|---|
| bot.name | اسم الروبوت الخاص بك | نعم |
| بوت | أعطاك الرمز المميز عندما قمت بتسجيل الروبوت | نعم |
| بوت | أمر لغة طبيعية ، لإخبار الروبوت كيفية تقديم نفسه | نعم |
| بوت | قائمة مفصولة فاصلة من المستخدمين أو المجموعات التي تُمنح للتحدث إلى الروبوت. يمكنك ترك هذا فارغًا إذا كنت تريد أن يكون الروبوت متاحًا للجميع | نعم |
| Openai.url | عنوان URL لنقطة نهاية AI المفتوحة | نعم |
| openai.apikey | مفتاح AI AI Open AI | نعم |
| Openai.Model | اسم نموذج GPT-3 (الافتراضيات إلى GPT-3.5-TURBO) | نعم |
| Openai.temperature | مقياس الإبداع النموذجي من 0 إلى 1 | نعم |
| Openai.Maxtokens | الحد الأقصى لعدد الرموز التي يمكن أن يستهلكها الطلب | نعم |
| openai.max.message.pool.size | عدد الرسائل السابقة التي يتم الاحتفاظ بها في سياق المحادثة | نعم |
| Openai.SystemPrompt | هذا هو المكان الذي تخبر فيه الروبوت ، بلغة طبيعية ، ماذا تفعل ، وكيفية التصرف | نعم |
| Openai.example.1 | هذا هو المثال الأول (في الدور: تنسيق المحتوى) | لا |
| Openai.example.2 | هذا هو المثال الثاني (في الدور: تنسيق المحتوى) | لا |
في الأساس ، يمكنك تكوين السلوك العام باستخدام SystemPromt. بعد ذلك ، يمكنك Optionaly ، توفير سلسلة من الرسائل المثال ، توضح النموذج كيف من المتوقع أن يكون التفاعل مع المستخدم والمساعد.
أمثلة اختيارية ، ولكن إذا شريطة أن تكون في تنسيق "الدور: المحتوى" ، فإنها تحتاج أيضًا إلى أن تكون لاحقة بنقطة ورقم مستمر متسلسل. يجب أن يكون الدور إما "مستخدم" أو "مساعد"
تحدد المعلمة Openai.max.message.pool.size عدد الرسائل السابقة التي يتم الاحتفاظ بها في الذاكرة وإرسالها مع كل طلب. كلما زاد عدد الرسائل كلما زاد السياق الذي يمتلكه النموذج حول المحادثة ولكن استهلاك الرمز المميز أكبر
openai.systemprompt=You are "Alfred" a helpful translator and language assistant.
openai.example.1=user: How do you say in Spanish: yesterday
openai.example.2=assistant: In Spanish, we say: ayer
openai.example.3=user: What language is this: Es ist Zeit zu essen
openai.example.4=assistant: It is German
يمكنك قراءة المزيد حول هذا الموضوع في وثائق Openai API
خاصية العرض التقديمي ، تقوم بتكوين كيفية تقديم الروبوت إلى مستخدم جديد. ليس المقصود أن يكون النص الفعلي الذي يجب قوله ، ولكن تعليمات إلى الروبوت حول كيفية عرض العرض التقديمي. بهذه الطريقة يكون نص العرض التقديمي مختلفًا في كل مرة.
bot.presentation=Say your name, and succinctly state your purpose. At the end offer your help in the areas you excel at.
إذا كنت تريد أن تكون قادرًا على إضافة الروبوت إلى المجموعات ، فهناك خطوة تكوين إضافية. تحدث إلى Botfather مرة أخرى ، وتمكين "السماح للمجموعات" (انتقل إلى /myBots -> إعدادات BOT -> السماح للمجموعات. في نفس قائمة الإعدادات ، حدد "وضع الخصوصية" وقم بتعيينه على تعطيله.
عندما تكون في مجموعة ، لا يخزن الروبوت السياق حول المحادثة. يتم اعتبار كل طلب من مستخدم إلى الروبوت ، كما لو كان التفاعل الأول للمستخدم مع الروبوت. في هذا الوضع ، يستجيب الروبوت دائمًا على أنه رد على المستخدم الذي طلب. يستمع الروبوت فقط إلى الرسائل التي تحتوي على "botname" في جسمها.
الآن ، الأوامر المتاحة هي ما يلي:
| يأمر | فعل |
|---|---|
| /إعادة ضبط | يعيد سياق Conversatio ، ينسى جميع الرسائل السابقة التي أرسلتها إلى الروبوت. لا يمكن استخدامه إلا في دردشة خاصة |
| /الاستخدام | يطبع مجموع الرموز المستخدمة في جميع المحادثات. لا يتم تخزين هذه القيمة ، وإعادة تعيين Get مع كل إعادة تشغيل تطبيق |
استنساخ المشروع
git clone https://github.com/achousa/telegram-gpt-bot
تثبيت التبعيات وإنشاء
mvn install