______ ______ ___ ____ / ____ / ___ / ____ / __ ____ / | / _/ // __/ __ // __/ _ / __ // | | / / / / / _ / / / _ / / / / / / / __ / / / ___ | _ / / A stired interface chat ____/ ____/ ____/ ___/_//_/_/| _/___/مكتوب في GO. بناء أنظمة بسيطة وآمنة وقابلة للتطوير مع GO. حقوق الطبع والنشر (© ️) 2024 @h0llyw00dzz جميع الحقوق محفوظة.
ملاحظة: هذا المستودع هو عمل مستمر (WIP).
وقت الوصول المقدر (ETA): غير معروف . تم تطوير هذا المشروع على أساس شخصي خلال وقت فراغي ولا يرتبط بأي شركة أو مساعي للمؤسسات.
من المثير للاهتمام أن بنيت في Terminal بعد رحلة جولة عبر لغة البرمجة GO ، بالإضافة إلى استكشاف إمكانيات AI من Google (حاليًا في الإصدار التجريبي مع الجوزاء).
ملحوظة
تم تصميم هذا المستودع خصيصًا للالتزام بمبادئ GO Idiomatic. ؟
النمو في GO يعزز قابلية التوسع. يدعم تصميمها المتمحور حول الأداء المعالجة المتزامنة وإدارة الموارد الفعالة ، مما يجعلها خيارًا ممتازًا للتطبيقات التي تحتاج إلى توسيع نطاقها بسلاسة مع زيادة الطلب.
تقلل إدارة الذاكرة في GO والكتابة الثابتة بشكل كبير من حدوث الأخطاء الحرجة مثل تسرب الذاكرة ، والتي تنتشر في اللغات المفسرة. هذا الاستقرار أمر بالغ الأهمية للتطبيقات الطرفية طويلة الأجل التي تتفاعل مع خدمات الذكاء الاصطناعي.
ملحوظة
Memory leaks هي مصدر قلق حاسم ، وخاصة في تطوير الذكاء الاصطناعي. إن نهج GO لإدارة الذاكرة يميزها ، حيث يخفف من مثل هذه القضايا بشكل أكثر فعالية من بعض اللغات الأخرى. هذا في تناقض صارخ مع العديد من المستودعات بلغات أخرى حيث تكون تسرب الذاكرة مشكلة متكررة وغالبًا ما تكون مربكًا (لا أفهم سخيف عندما تبدو ريبو أخرى في github ).
GitHub لا أفهمها. حقيقة ممتعة : هل تعلم؟ إذا كان رمز Go الخاص بك يشبه غابة if العبارات (فكر في 10+ طبقات متداخلة-لا يوجد شيء كبير!) ، فسيكون ذلك أقل وأكثر Go Stop-and-ask-for-directions . قم بتسطيح تلك الشرطية واترك الرمز الخاص بك يعمل بسلاسة مثل gopher مدهون على شريحة زلة! ؟
ملحوظة
هذه الميزة المتخصصة Realistic Typing Animation هي اقتصادية من حيث استهلاك الموارد (على سبيل المثال ، memory,cpu ) ، على عكس front-end languages أو other languages التي تميل إلى أن تكون أكثر كثافة في الموارد.
:quit على سبيل المثال ، للمستخدمين إنهاء جلستهم بطريقة منظمة. عند تنفيذ هذا الأمر ، يطالب بتسلسل إيقاف التعاوني مع الذكاء الاصطناعى ، والذي يولد رسالة وداعًا مناسبة. يعزز هذا التصميم المدروس تجربة المستخدم من خلال توفير إغلاق محادثة طبيعي ومهذب ، مما يضمن أن يكون إنهاء الجلسة جذابًا مثل المحادثة نفسها.DebugOrErrorLogger تقدم حزمة DebugOrErrorLogger نظام تسجيل مبسط وفعال ، مصمم خصيصًا لتطبيقات GO التي تتطلب خطأً قويًا وقدرات تسجيل التصحيح مع الحد الأدنى من النفقات العامة.DebugOrErrorLogger ميزات مفتاح ؟ تسجيل التصحيح الشرطي : يسمح المسجل بإخراج رسائل التصحيح بشكل مشروط استنادًا إلى متغير بيئة DEBUG_MODE . عند ضبطها على معلومات التصحيح true ، سيتم طباعة معلومات التصحيح التفصيلية إلى os.Stderr ، والمساعدة في عملية تطوير واستكشاف الأخطاء وإصلاحها.
؟ إخراج الأخطاء المترممة بالألوان : يتم تلوين الأخطاء بشكل واضح باللون الأحمر عند تسجيل الدخول ، مما يجعلها تبرز في المحطة لاهتمام فوري. يساعد هذا اللون في تحديد الأخطاء بسرعة وسط مخرجات السجل الأخرى.
؟ ؟ انتعاش الذعر : يتم توفير وظيفة الاسترداد للتعامل مع أي ذعر قد تحدث أثناء التشغيل وتسجيله بأمان. تضمن هذه الوظيفة أن يتم تسجيل رسالة ذعر بوضوح مع الإخراج الملون ، مما يمنع التطبيق من الانهيار بشكل غير متوقع ومساعدة في التشخيص السريع.
⚡ API البسيط : تعرض الحزمة واجهة برمجة تطبيقات بسيطة وبديهية ، مع طرق لخفض الأخطاء والخطأ التي تقبل سلاسل التنسيق والوسائط المتنوعة ، على غرار وظائف Printf القياسية و Println .
؟ التكوين المتغير للبيئة : يمكن تبديل وضع التصحيح بسهولة أو إيقاف تشغيله من خلال متغير البيئة ، مما يتيح تكوينًا مرنًا دون الحاجة إلى إعادة ترجمة التطبيق.
ملحوظة
قد تكون Current Features المذكورة أعلاه قديمة. للحصول على أحدث تحديثات الميزات ، يرجى قراءة الوثائق here .
ملحوظة
يشير مصطلح Streamlined Codebase إلى نمط شائع عالي المستوى في البرمجة Go . يؤكد هذا النمط على هيكل نظيف ومنظم جيدًا ، مما يسهل فهم الكود والحفاظ عليه. يتضمن عادةً فصل المخاوف ، والمكونات المعدنية ، وبعد الممارسات الاصطلاحية لإنشاء قاعدة كود فعالة وسهلة العمل معها.
ملحوظة
هذه الميزة المتخصصة ، أفضل من الكود تشبه غابة if if if if تم دمجها بنجاح.
من خلال تبني نظام معالجة الأوامر القابل للتطوير هذا ، يتم وضع تطبيق الدردشة بشكل جيد للتطور إلى جانب التطورات في توقعات AI وتوقعات المستخدم ، مما يضمن تجربة مستخدم قوية ومقاومة في المستقبل.
ملحوظة
تخطيط الموضوع لتحسين وإضافة ميزات بشكل مستمر ، وتعزيز الوظائف دون إضافة تعقيد غير ضروري. ترقبوا التحديثات!
تم تصميم Go ليكون واضحًا وفعالًا ، وتجنب التعقيدات غير الضرورية (تعقيدات اللعنة ، وهذا go مضاد للتعقيدات) غالبًا ما يتم مواجهته بلغات البرمجة الأخرى.
استخدام الموارد الأمثل : تم تصميم دردشة Gogenai Terminal لزيادة الأداء مع تقليل استخدام الموارد. من خلال الاستفادة من نموذج التجميع والتنفيذ الفعال في GO ، يضمن التطبيق أوقات الاستجابة السريعة وانخفاض النفقات العامة ، مما يجعله مثاليًا للأنظمة التي يكون فيها الحفاظ على الموارد أمرًا بالغ الأهمية.
إدارة التزامن الفعالة : بفضل goroutines خفيفة الوزن في GO ، وبدائل التزامن الفعالة ، يتعامل Gogenai Terminal Chat مع العمليات المتزامنة بسهولة. يمكن أن يخدم التطبيق عدة مستخدمين في وقت واحد دون زيادات كبيرة في استخدام الكمون أو استخدام الذاكرة ، مما يضمن أداء ثابت حتى تحت الحمل.
يحتوي هذا المستودع على رمز GO عالية الجودة يركز بشكل خاص على Retry Policy Logic Chat System Logic Other . تم تصميم كل وظيفة من أجل simplicity ، وتجنب عمدا stupid complexity غير الضروري ، حتى في السيناريوهات التي يمكن أن تتجاوز درجة stupid complexity من 10+ .
لاستخدام دردشة واجهة Gogenai Terminal ، تحتاج إلى تثبيت Docker على جهازك. إذا لم يكن لديك تثبيت Docker ، فيرجى اتباع دليل تثبيت Docker الرسمي.
بمجرد إعداد Docker ، يمكنك سحب الصورة من حزم Github عن طريق التشغيل:
docker pull ghcr.io/h0llyw00dzz/gogenai-terminal-chat:latestنصيحة
من أجل Master أو Advanced of Go Programming ، وخاصة تلك الموجودة في cloud engineering ، يمكن تشغيل GoGenAI Terminal Interface Chat في Cloud Shell ( for example, Google Cloud Shell ) دون استخدام Docker.
لبدء جلسة دردشة مع Gogenai ، قم بتشغيل الأمر التالي في المحطة الخاصة بك. تأكد من استبدال YOUR_API_KEY بمفتاح API الفعلي المقدم لك.
تحذير
بسبب هذه المشكلة here لبدء جلسة دردشة مع GoGenAI ، استخدم terminal أفضل يمكنها التعامل مع constant في هذا المستودع أو إنشاء نظام التشغيل الخاص بك باستخدام kernel أفضل يمكنه التعامل مع هذا constant في هذا المستودع
docker run -it --rm --name mychatapp -e API_KEY=YOUR_API_KEY ghcr.io/h0llyw00dzz/gogenai-terminal-chat:latestسيبدأ هذا الأمر تطبيق الدردشة الطرفية Gogenai في الوضع التفاعلي. ستتمكن من كتابة رسائلك وتلقي ردود من الذكاء الاصطناعي.
متغيرات البيئة هي أزواج قيمة رئيسية يمكن أن تؤثر على سلوك التطبيق الخاص بك. فيما يلي جدول للمتغيرات البيئية المستخدمة في تطبيق Gogenai-Terminal Chat ، إلى جانب أوصافها وما إذا كانت مطلوبة.
| عامل | وصف | مطلوب |
|---|---|---|
API_KEY | مفتاح API الخاص بك للوصول إلى نموذج AI التوليدي. الحصول على مفتاح API مجاني هنا. | نعم |
DEBUG_MODE | ضبط على true لتمكين DEBUG_MODE ، أو false لتعطيله. | لا |
SHOW_PROMPT_FEEDBACK | قم بالتعيين على true لعرض ملاحظات سريعة في تذييل الاستجابة ، أو false لإخفائه. | لا |
SHOW_TOKEN_COUNT | قم بتعيين true لعرض عدد الرمز المميز المستخدم في استجابة الذكاء الاصطناعى وسجل الدردشة ، أو false لإخفائه. | لا |
ملحوظة
يتم حساب Average Consumption دون تضمين استخدام نظام التخزين مثل قاعدة البيانات ويستند إلى افتراض أن كل وظيفة بسيطة نسبيًا ، مع تعقيد سيكلوماتي متوسط قدره 5 كحد أقصى. ومع ذلك ، قد يزداد الاستهلاك مع وظائف أكثر تعقيدًا (على سبيل المثال ، أولئك الذين لديهم تعقيد سيكلومي من 10 أو أكثر ، والتي لا ينصح بها).
ملحوظة
يعتمد Average Maximum Consumption على محاكاة سلوك الكتابة human . يتضمن ذلك تقديم شخصية استجابات الدردشة عن طريق الطابع لتقليد إيقاع وسرعة الكتابة human .
تحذير
قد تكون screenshots هذه قديمة بسبب تغييرات الإصدار.
ملحوظة
هذا ? Simple Debugging بسيطة على عكس رموز go codes المنطقية المعقدة التي تزيد من cyclomatic complexity
؟ أنت: مرحبا انت
؟ الذكاء الاصطناعي :: أنا نموذج لغة كبير ، تدربها Google.
؟ أنت: لدي سؤال حول K8s ، كيف يمكنني تمكين تسجيل التدقيق في Kubernetes ، وما الذي يجب أن أبحث عنه عند تحليل السجلات؟
؟ منظمة العفو الدولية: لتمكين تسجيل التدقيق في kubernetes ، يمكنك استخدام الخطوات التالية:
/etc/kubernetes/manifests/kube-apiserver.yaml .audit-policy : enabled: true
اختياريا ، يمكنك تكوين الإعدادات التالية:
policyFile : المسار إلى ملف يحتوي على قواعد سياسة التدقيق.logPath : المسار إلى الملف حيث سيتم تخزين سجلات التدقيق.logFormat : تنسيق سجلات التدقيق.maxBatchSize : الحد الأقصى لعدد أحداث التدقيق لتضمينه في دفعة واحدة.maxBatchWait : الحد الأقصى لمقدار الوقت لانتظار مجموعة من أحداث التدقيق قبل كتابتها إلى القرص.احفظ وإعادة تشغيل خادم Kubernetes API.
بمجرد تمكين تسجيل التدقيق ، يمكنك تحليل السجلات لاكتساب رؤى حول النشاط على مجموعة Kubernetes. بعض الأشياء التي قد ترغب في البحث عنها تتضمن:
من خلال تحليل سجلات التدقيق ، يمكنك تحديد مخاطر الأمان واستكشاف الأخطاء وإصلاحها ، واكتساب فهم أفضل لكيفية استخدام مجموعة Kubernetes الخاصة بك.
فيما يلي بعض الموارد الإضافية التي قد تجدها مفيدة:
$ go run cmd/main.go؟ الذكاء الاصطناعي: مرحبا! كيف يمكنني مساعدتك اليوم؟
؟ أنت: لدي سؤال هل هذا صحيح حول "السعي من أجل البساطة في كل وظيفة (تهدف إلى التعقيد السيكلومي بموجب 5 لإظهار الخبرة) ؛ البساطة هي علامة على إتقان البرمجة GO." ؟
؟ منظمة العفو الدولية: نعم ، بيان "السعي من أجل البساطة في كل وظيفة (الهدف من التعقيد السيكلومي تحت 5 سنوات لإظهار الخبرة) ؛ البساطة هي علامة على إتقان البرمجة".
التعقيد السيكلومي هو مقياس لتعقيد الوظيفة. يتم حسابه عن طريق حساب عدد المسارات المستقلة من خلال الوظيفة. يشير التعقيد السيكلومي العالي إلى أن الوظيفة يصعب فهمها وصيانتها.
البساطة هي مبدأ رئيسي لبرمجة GO. رمز GO عادةً موجز وسهل القراءة. هذا يجعل من السهل فهمها والصيانة.
يعد الهدف من التعقيد السيكلومي بموجب 5 وسيلة جيدة لضمان أن وظائفك بسيطة وسهلة الفهم. سيساعدك هذا على كتابة رمز أفضل وتجنب تقديم الأخطاء.
بالطبع ، هناك أوقات يكون فيها من الضروري كتابة وظائف أكثر تعقيدًا. ومع ذلك ، يجب أن تسعى دائمًا إلى البساطة كلما كان ذلك ممكنًا.
فيما يلي بعض النصائح لكتابة وظائف بسيطة:
باتباع هذه النصائح ، يمكنك كتابة وظائف بسيطة وسهلة الفهم تجعل الكود الخاص بك أكثر قابلية للصيانة وخالية من الأخطاء.
؟ أنت: حسنا شكرا للمعلومات
؟ الذكاء الاصطناعي: على الرحب والسعة! أنا سعيد لأنني يمكن أن أكون مفيدًا. إذا كان لديك أي أسئلة أخرى ، فلا تتردد في طرحها.
؟ أنت:: استقال
؟ منظمة العفو الدولية: لقد كان من دواعي سروري مساعدتك اليوم. تذكر ، أنا هنا دائمًا إذا كان لديك أي أسئلة أخرى. اعتني بنفسك واستمتع بيوم رائع!
يوفر تطبيق الدردشة الطرفية Gogenai واجهة سطر الأوامر للمستخدمين للتفاعل مع نموذج الذكاء الاصطناعي. يعالج التطبيق مدخلات المستخدم ، أوامر العمليات ، ويتواصل مع الذكاء الاصطناعي ، ويحافظ على سجل الدردشة. إنه مصمم ليكون قابلاً للتوسعة وقابلة للتطوير لاستيعاب النمو المستقبلي والميزات الإضافية.
تم تصميم الهندسة المعمارية البسيطة لحالات الاستخدام المباشر وتوفر الوظائف الأساسية المطلوبة لتطبيق الدردشة المستند إلى المحطة الطرفية.
مخطط انسيابي LR
ابدأ ([ابدأ]) -> | يقوم المستخدم بتشغيل التطبيق | init [تهيئة الجلسة]
init -> | إعداد معالجة الإشارة | SignalHandler [معالجة إشارات نظام التشغيل]
init -> | تحميل مفتاح API | ApikeyValidation {API Validation}
apikeyvalidation -> | ساري المفعول | SetupClient [Setup AI Client]
ApikeyValidation -> | غير صالح | نهاية ([نهاية])
SETUPCLIENT -> | العميل جاهز | Mainloop [أدخل الحلقة الرئيسية]
mainloop -> userInput [/user user/]
userInput -> | command | CommandHandler [Command Command]
UserInput -> | رسالة الدردشة | SendMessage [أرسل رسالة إلى الذكاء الاصطناعي]
CommandHandler -> | QUIT | نهاية
CommandHandler -> | أوامر أخرى | ProcessCommand [أمر العملية]
SendMessage -> | استلام استجابة الذكاء الاصطناعي | UpdateHistory [تحديث دردشة سجل]
UpdateHistory -> DisplayResponse [عرض استجابة الذكاء الاصطناعي]
ProcessCommand -> mainloop
DisplayResponse -> mainloop
SignalHandler -> | sigint/sigterm | التنظيف [موارد التنظيف]
التنظيف -> نهاية
تم تصميم الهندسة المعمارية القابلة للتطوير للتعامل مع النمو ، مما يسمح بإضافة أوامر جديدة ، وتحسين معالجة الأخطاء ، والتفاعلات الأكثر تعقيدًا مع واجهات برمجة التطبيقات الخارجية.
مخطط انسيابي LR
ابدأ ([ابدأ]) -> | يقوم المستخدم بتشغيل التطبيق | init [تهيئة الجلسة]
init -> | إعداد معالجة الإشارة | SignalHandler [معالجة إشارات نظام التشغيل]
init -> | تحميل مفتاح API | ApikeyValidation {API Validation}
apikeyvalidation -> | ساري المفعول | SetupClient [Setup AI Client]
ApikeyValidation -> | غير صالح | نهاية ([نهاية])
SETUPCLIENT -> | العميل جاهز | Mainloop [أدخل الحلقة الرئيسية]
mainloop -> userInput [/user user/]
userInput -> | command | commandregistry [سجل الأوامر]
UserInput -> | رسالة الدردشة | SendMessage [أرسل رسالة إلى الذكاء الاصطناعي]
commandregistry -> | QUIT | نهاية
commandregistry -> | أوامر أخرى | ProcessCommand [أمر العملية]
commandregistry -> | عدد الرمز المميز | TokencountingProcess [عملية العد الرمزية]
commandregistry -> | تحقق من النموذج | CheckModelProcess [CheckModelProcess]
SendMessage -> | استلام استجابة الذكاء الاصطناعي | UpdateHistory [تحديث دردشة سجل]
TokencountingProcess -> | استلام استجابة الذكاء الاصطناعي | DisplayResponse [عرض استجابة الذكاء الاصطناعي]
CheckModelProcess -> | استلام استجابة الذكاء الاصطناعي | DisplayResponse [عرض استجابة الذكاء الاصطناعي]
UpdateHistory -> DisplayResponse [عرض استجابة الذكاء الاصطناعي]
ProcessCommand -> mainloop
DisplayResponse -> mainloop
SignalHandler -> | sigint/sigterm | التنظيف [موارد التنظيف]
التنظيف -> نهاية
ProcessCommand -> | تفاعل API | apiclient [عميل API]
Apiclient -> | استجابة API | Compergence Command
Apiclient -> | خطأ API | errorHandler [معالج الخطأ]
ErrorHandler -> | التعامل مع خطأ | Compergence Command
ErrorHandler -> | خطأ فادح | نهاية
TokencountingProcess -> | المعالجة المتزامنة | ConcurrentProcessor [معالج متزامن]
ConcurrentProcessor -> | نتائج إجمالية | TokencountingProcess
ConcurrentProcessor -> | خطأ | errorHandler [معالج الخطأ]
تعبئة ClassDef القابلة للتطوير:#4C9F70 ، السكتة الدماغية:#333 ، السكتة الدماغية: 2px ؛
class commandregistry ، apiclient ، concurrentProcessor قابلة للتطوير ؛
ملحوظة
في الرسم البياني أعلاه ، تم تصميم المكونات ذات لون التعبئة green ( #4c9f70 ) لتكون قابلة للتطوير ، مما يشير إلى أنه يمكنه التعامل مع النمو وزيادة الحمل بشكل فعال. تتضمن هذه المكونات Command Registry ، API Client ، ومعالج Concurrent Processor .
ملحوظة
تعرض Scalable System's Architecture معالجة فعالة للتعقيد من خلال البساطة. في تطبيق GO هذا ، تم تصميم كل وظيفة للحفاظ على متوسط cyclomatic complexity of 5 أو less .
يرجى الرجوع إلى Contribution Guidelines الخاصة بنا للحصول على معلومات مفصلة حول كيفية المساهمة في هذا المشروع.
ملحوظة
هذه قائمة بالمهام لتحسين ميزات هذا المشروع وإصلاحها وتحسينها. تتم إضافة المهام إلى ملف readme.md هذا للتأكد من عدم نسيانها أثناء عملية التطوير.
ملحوظة
تم تصميم Reporting System لالتقاط أحداث الذعر في وقت التشغيل والتعامل معها في تطبيق GO ، مما يسهل الإبلاغ عن الأخطاء والتحليل.
ملحوظة
تم تصميم Create a Convert Result Table feature لإعادة تهيئة الإخراج من الذكاء الاصطناعي إلى بنية جدولية.
ملحوظة
تم تصميم ميزة Enable Additional Responses للسماح باستجابات إضافية من الذكاء الاصطناعي ، مثل التعليقات السريعة. لتفعيل هذه الميزة ، استخدم Environment Variable Configuration .
تنفيذ أي ميزات غير مستغلة
التفريخ الإضافي goroutines
ملحوظة
يتم حماية ميزات Processing Multiple Image & Text Datasets for Token Counting مقابل race conditions deadlocks . علاوة على ذلك ، يمكنهم التعامل efficiently مع multiple text data أو multiple image data .
ملحوظة
تم تصميم Pin Each Message for a Simpler Context Prompt لعلاق الرسائل المحملة من ملفات مثل json/txt/md . تعمل هذه الميزة بشكل جيد بشكل استثنائي مع تلخيص تلقائي أو يدوي ، على عكس ذلك عند كتابته interpreted language .
ملحوظة
يتم دمج ميزة Implement Gemini-Pro Vision Capabilities بشكل استراتيجي في وظائف الأوامر ، مثل مقارنة الصور وتحليل الصور والمزيد.
ملحوظة
هذا النظام مكتوب في go ، مما يضمن Scalability Stability . ؟
:help ملحوظة
تم تصميم ميزة Automate Summarizing Conversations لتلخيص محادثة تلقائيًا بشكل مشابه لـ ChatGptNextWeb. ومع ذلك ، تم تصميمه في واجهة طرفية ، مما يجعلها أكثر سهولة وبأسعار معقولة من OpenAI . علاوة على ذلك ، نظرًا لأن هذه الواجهة الطرفية مكتوبة في GO ، فإنها تتيح إنشاء أنظمة بسيطة وآمنة وقابلة للتطوير.
eg, issues with executing a scalable command handler ) :aitranslate ملحوظة
Improve :aitranslate commands إلى تحسين قدرات الترجمة ، بما في ذلك الترجمة من الملفات ، والتخفيض ، والمستندات ، و CSVs ، وربما أكثر. كما هو مكتوب في GO ، والتي لديها مكتبة قياسية قوية؟ ، يمكنك ، على سبيل المثال ، استخدام الأمر :aitranslate :file data.csv .
:safety AIResponse عن طريق تخزين استجابة الذكاء الاصطناعي في ChatHistory ملحوظة
إن التعزيز ، Improve AIResponse by Storing the Original AI Response in ChatHistory ، يتضمن توفير الاستجابة الأصلية من الذكاء الاصطناعى إلى ChatHistory . بالإضافة إلى ذلك ، يؤدي هذا الإجراء تلقائيًا إلى تحسين التحسينات لميزة Colorize .
ChatHistory عن طريق مزامنة تلقائيا للاستخدام متعدد الوسائط ( gemini-pro-vision ) ملحوظة
يستخدم التعزيز ، Leverage ChatHistory by automatically syncing for multi-modal use (gemini-pro-vision) ، من ChatHistory كحل لتخزين البيانات في الذاكرة عالية الكفاءة على عكس C أو لغة أخرى تسبب memory leaks . هذا يضمن التزامن السلس والأداء الأمثل عبر أوضاع مختلفة.
[صريح] يتم تطبيق retry policy ديناميكيًا على Goroutine الرئيسي ، مما يسمح بمحاولات معالجة الأخطاء المستقلة ومحاولات إعادة المحاولة.
[صريح] تحسين معالجة رسائل Error لجعلها أكثر ديناميكية.
Error ديناميكيًا أثناء عمليات Count Tokens ، والتواصل عبر قناة.توضيح لكيفية عمله:
Sequencediagram
المشارك الرئيسي مثل جوروتين الرئيسي
المشارك G1 كما goroutine 1
المشارك G2 كما goroutine 2
المشارك G3 كما goroutine 3
المشارك CH كقناة خطأ
جامع المشاركين كمجمع خطأ (المعروف باسم سياسة إعادة المحاولة)
Main->> CH: إنشاء قناة ذات سعة
الرئيسي->> G1: ابدأ Goroutine 1
الرئيسي->> G2: ابدأ Goroutine 2
Main->> G3: ابدأ Goroutine 3
G1->> CH: إرسال خطأ (إن وجد)
G2->> الفصل: أرسل خطأ (إن وجد)
G3->> CH: إرسال خطأ (إن وجد)
الرئيسي->> جامع: ابدأ في جمع الأخطاء
حلقة جمع الأخطاء
CH->> جامع: أرسل أخطاء إلى جامع
نهاية
رئيسي->> رئيسي: إغلاق قناة بعد اكتمال جميع goroutines
جامع->> الرئيسي: إرجاع أول خطأ غير NIL
تحسين Colorize لتعزيز قابلية التوسع ودمجها مع مكتبة قياسية لإعادة الأداء بشكل أفضل.
تبديل النموذج باستخدام الأوامر
ملحوظة
تهدف Plan for Google Cloud Deployment إلى دعم التوافق السحابي مع إمكانيات AI Vertex بمجرد الوصول إلى الإصدار V1.0.0 (هذا المستودع) ويعتبر قراءة مستقرة هنا.
لماذا؟ تم تطوير هذا المشروع وفقًا Terms of Service وسياسة Privacy Policy personal use . من المهم أن نلاحظ أن هذا المشروع قد تم تطويره على أساس شخصي خلال وقت فراغي ولا يرتبط بأي شركة أو مساعي للمؤسسات. هذا يتناقض مع العديد من الشركات التي تلبي احتياجات المؤسسات في المقام الأول. على سبيل المثال ، يمكن استخدام إمكانات Vertex AI على أساس شخصي للمهام مثل صقلها واستخدام بياناتك الخاصة ، دون التعقيد والنفقات العامة المرتبطة عادةً بمتطلبات مستوى المؤسسة.
ملحوظة
تم تصميم ميزة Web Interface Support لتسهيل دعم Webassembly (WASM) ، حيث تستفيد من تطورها في GO. يتيح ذلك إدارة الدردشة والوظائف الأخرى محليًا ، بدءًا من الإصدار v1.0.0+ (ربما V2) من هذا المستودع ، بمجرد الوصول إليه واعتبره مستقرًا. للحصول على أفضل الممارسات ، اقرأ هنا.
ملحوظة
تم Calculate the Size of the Code Base Volume لتقييم حجم قاعدة التعليمات البرمجية. على سبيل المثال ، يمكنه حساب حجم مشاريع Google Open Source ، أو مشاريع المصادر المفتوحة الأخرى ، والتي تحتوي على مليارات خطوط التعليمات البرمجية المكتوبة في Go .
Go Code إلى Mermaid Markdown ملحوظة
الميزة ، Convert Each Function in Go Code to Mermaid Markdown ، تم تصميمها لتقييم قاعدة رمز. إنها مستوحاة من Dead Code . على سبيل المثال ، سوف يحول كل وظيفة قابلة للوصول إلى تنسيق Mermaid Markdown .
متاح here