chatstack
1.0.0
يوفر رمز Python هذا تطبيق chatbot مع إدارة السياق باستخدام نماذج Openai GPT-3.5-Turbo أو GPT-4 الدردشة. يحافظ chatbot على تاريخ محادثة ويقوم بالمساعدة في إدارة حالة السياق والحجم في الرموز.
يجد ChatStack مفتاح Openai API عبر متغير بيئة OpenAI_API_KEY.
ChatRoleMessage : فئة بيانات أساسية للرسائل ذات الدور والنص والرموز.SystemMessage : فئة بيانات لتمثيل رسالة مع دور "النظام".ContextMessage : فئة بيانات تمثل سياق معلومات إضافية للنموذج.AssistantMessage : فئة بيانات لتمثيل رسالة مع دور "مساعد".UserMessage : فئة بيانات لتمثيل رسالة مع دور "المستخدم".ChatContext : فئة تدير سياق المحادثة وإنشاء ردود باستخدام نماذج واجهة الرسائل Openai.ChatReponse : فئة بيانات تحتوي على استجابة النموذج لرسالة المستخدم إلى جانب سجل لسياق الإدخال المرسلة إلى النموذج ، وتفاصيل مهمة أخرى مثل النموذج المستخدم ، وعدد الرموز المستخدمة ، والتكلفة المقدرة للطلب.ChatContext .ChatContext مع التكوين المطلوب.user_message أو user_message_stream مع نص رسالة المستخدم للحصول على استجابة من chatbot.مثال:
from chatstack import ChatContext
BASE_SYSTEM_PROMPT = "You are a clever bot. Do not apologize, or make excuses. "
BASE_SYSTEM_PROMPT += "Do not mention that you are an AI language model since that is annoying to users."
def main ():
chat_context = ChatContext ( base_system_msg_text = BASE_SYSTEM_PROMPT )
print ( "Welcome to the Chatbot!" )
while True :
user_input = input ( "You: " )
print ( "Chatbot:" )
response = chat_context . user_message ( user_input , stream = True )
print ( response . text )
if __name__ == "__main__" :
main () تقبل فئة ChatContext المعلمات التالية:
min_response_tokens : الحد الأدنى لعدد الرموز للحجز للاستجابة لإكمال النموذج.max_response_tokens : الحد الأقصى لعدد الرموز للسماح باستجابة إكمال النموذج.chat_context_messages : عدد رسائل المساعد والمستخدم الحديثة التي يجب الحفاظ عليها في السياق.model : اسم نموذج GPT لاستخدامه (افتراضي: "GPT-3.5-TURBO").temperature : درجة حرارة توليد استجابة النموذج.base_system_msg_text : نص رسالة النظام الأساسي لتوفير سياق للنموذج.الطريقة الأساسية لـ chatcontext هي user_message () التي تُستخدم لتجميع سياق الإدخال إلى النموذج وإنشاء إكمال.
user_message(msg_text: str) -> ChatResponseتأخذ هذه الطريقة نص رسالة المستخدم كمدخلات وإنشاء استجابة من chatbot باستخدام سياق المحادثة.
user_message_stream(msg_text: str) -> ChatResponse هذه الطريقة هي مولد يأخذ نص رسالة المستخدم كمدخلات ويعزى كائنات ChatResponse التي تحتوي على نص الاستجابة التدريجي والتراكمي من chatbot باستخدام سياق المحادثة.
add_message(msg : ChatRoleMessage)أضف رسالة إلى سياق العرض التقديمي للنموذج في طلبات الانتهاء اللاحقة.
msg_text (Str): نص رسالة المستخدم. ChatResponse : مثيل لفئة بيانات ChatResponse التي تتضمن نص استجابة النموذج ، ورسائل الإدخال الفعلية المرسلة إلى النموذج ، والتفاصيل ذات الصلة الأخرى مثل تعداد الرمز المميز والسعر المقدر للإكمال.