chatstack
1.0.0
該Python代碼使用OpenAI的GPT-3.5-Turbo或GPT-4聊天模型提供了上下文管理的聊天機器人實現。聊天機器人維護對話歷史記錄並幫助管理令牌中的上下文狀態和大小。
ChatStack通過OpenAI_API_KEY環境變量找到您的OpenAI API密鑰。
ChatRoleMessage :具有角色,文本和令牌的消息的基礎數據類。SystemMessage :用於表示具有“系統”角色的消息的數據類。ContextMessage :代表模型其他信息上下文的數據類。AssistantMessage :一個用於代表“助手”角色的消息的數據類。UserMessage :用於代表“用戶”角色的消息的數據類。ChatContext :管理對話上下文並使用OpenAI消息接口模型生成響應的類。ChatReponse :包含對用戶消息的模型響應以及發送給模型的輸入上下文的記錄以及其他重要細節(例如所使用的模型,所使用的令牌數量以及請求的估計成本)的數據類。ChatContext類。ChatContext類的實例。user_message或user_message_stream方法,以獲取聊天機器人的響應。例子:
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的主要方法是用戶_message(),用於將輸入上下文組裝到模型上並生成完成。
user_message(msg_text: str) -> ChatResponse此方法將用戶的消息文本作為輸入,並使用對話上下文從聊天機器人中生成響應。
user_message_stream(msg_text: str) -> ChatResponse此方法是一種發電機,將用戶的消息文本作為輸入,並通過對話上下文產生包含來自聊天機器人的增量和累積響應文本的ChatResponse對象。
add_message(msg : ChatRoleMessage)將消息添加到上下文中,以在隨後的完成請求中向模型介紹。
msg_text (str):用戶消息的文本。 ChatResponse : ChatResponse數據類的實例,其中包括模型響應文本,發送到模型的實際輸入消息以及其他相關詳細信息,例如令牌計數和完成的估計價格。