المفاهيم الأساسية
كمستخدم لـ Casibase، يجب أن تكون على دراية بـ 4 مفاهيم أساسية على الأقل: Provider
(المزود)، و Storage
(التخزين)، و Chat
(الدردشة)، و Vector
(المتجه).
المزودون (Providers)
المزودون هم الدعامات الأساسية لـ Casibase، حيث يقدمون الخدمات الأساسية ويتكاملون مع الأنظمة الخارجية. تعريف فئة Provider هو كما يلي:
type Provider struct {
Owner string `xorm:"varchar(100) notnull pk" json:"owner"`
Name string `xorm:"varchar(100) notnull pk" json:"name"`
CreatedTime string `xorm:"varchar(100)" json:"createdTime"`
DisplayName string `xorm:"varchar(100)" json:"displayName"`
Category string `xorm:"varchar(100)" json:"category"`
Type string `xorm:"varchar(100)" json:"type"`
ClientId string `xorm:"varchar(100)" json:"clientId"`
ClientSecret string `xorm:"varchar(2000)" json:"clientSecret"`
ProviderUrl string `xorm:"varchar(200)" json:"providerUrl"`
}
هناك نوعان رئيسيان من المزودين في Casibase:
مزودو التخزين (Storage Providers). مزودو التخزين مسؤولون عن تخزين البيانات واسترجاعها في Casibase. ويدعم خيارات تخزين متعددة، بما في ذلك:
- AWS
- Azure
- نظام الملفات المحلي
مزودو الذكاء الاصطناعي (AI Providers). مزودو الذكاء الاصطناعي مسؤولون عن معالجة المهام والخدمات المتعلقة بالذكاء الاصطناعي في Casibase. ويدعم نماذج وتقنيات ذكاء اصطناعي متعددة، بما في ذلك:
- OpenAI
- ChatGLM
- InternLM
المتجهات (Vectors)
المتجهات في Casibase تمثل تمثيلًا رقميًا لأنواع مختلفة من البيانات. تمكن هذه المتجهات من معالجة المعلومات وتحليلها بكفاءة. تشمل أنواع المتجهات المتاحة:
- متجهات النص
- متجهات الصور
- ... (أنواع متجهات أخرى)
تعريف فئة Vector هو كما يلي:
type Vector struct {
Owner string `xorm:"varchar(100) notnull pk" json:"owner"`
Name string `xorm:"varchar(100) notnull pk" json:"name"`
CreatedTime string `xorm:"varchar(100)" json:"createdTime"`
DisplayName string `xorm:"varchar(100)" json:"displayName"`
Store string `xorm:"varchar(100)" json:"store"`
File string `xorm:"varchar(100)" json:"file"`
Text string `xorm:"mediumtext" json:"text"`
Data []float64 `xorm:"mediumtext" json:"data"`
}
الدردشات (Chats)
الدردشات هي جوهر التواصل التفاعلي بين المستخدمين ونماذج الذكاء الاصطناعي في Casibase. وتتكون من ثلاثة مكونات أساسية:
- السؤال (Question): مدخلات المستخدم أو استفساره، بحثًا عن معلومات أو مساعدة.
- موجه الاستعلام (Query Prompt): نسخة منسقة من سؤال المستخدم، مُعدة للمعالجة بواسطة نموذج الذكاء الاصطناعي.
- الإجابة (Answer): الرد الذي ينشئه الذكاء الاصطناعي على سؤال المستخدم، مقدمًا معلومات أو حلولًا ذات صلة.
تعريف فئة Chat هو كما يلي:
type Chat struct {
Owner string `xorm:"varchar(100) notnull pk" json:"owner"`
Name string `xorm:"varchar(100) notnull pk" json:"name"`
CreatedTime string `xorm:"varchar(100)" json:"createdTime"`
UpdatedTime string `xorm:"varchar(100)" json:"updatedTime"`
DisplayName string `xorm:"varchar(100)" json:"displayName"`
Category string `xorm:"varchar(100)" json:"category"`
Type string `xorm:"varchar(100)" json:"type"`
User1 string `xorm:"varchar(100)" json:"user1"`
User2 string `xorm:"varchar(100)" json:"user2"`
Users []string `xorm:"varchar(100)" json:"users"`
MessageCount int `json:"messageCount"`
}
التضمين (Embedding)
التضمين هو عملية تحويل أنواع مختلفة من البيانات (مثل النص والصور) إلى تمثيلات متجهية كثيفة. هذه الخطوة ضرورية لمعالجة البيانات وتحليلها بكفاءة في Casibase.
من خلال التضمين، يتم تحويل الأسئلة في الدردشات وملفات المعرفة في التخزين إلى متجهات تُستخدم للبحث عن المعرفة في الخطوة التالية.
طريقة التضمين الافتراضية في Casibase مقدمة من OpenAI ويمكن استدعاؤها حتى ثلاث مرات في الدقيقة. نوصي بتقليل الاقتران بين ملفات المعرفة لتسهيل التضمين والمعالجة الإضافية.