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数据类的实例,其中包括模型响应文本,发送到模型的实际输入消息以及其他相关详细信息,例如令牌计数和完成的估计价格。