chatstack
1.0.0
このPythonコードは、OpenAIのGPT-3.5-ターボまたは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の主な方法は、入力コンテキストをモデルに組み立てて完了を生成するために使用されるuser_message()です。
user_message(msg_text: str) -> ChatResponseこのメソッドは、ユーザーのメッセージテキストを入力として受け取り、会話のコンテキストを使用してチャットボットからの応答を生成します。
user_message_stream(msg_text: str) -> ChatResponseこのメソッドは、ユーザーのメッセージテキストを入力として撮影し、会話のコンテキストを使用してチャットボットからのインクリメンタルおよび累積応答テキストを含むChatResponseオブジェクトを生成するジェネレーターです。
add_message(msg : ChatRoleMessage)後続の完了要求で、モデルにプレゼンテーションのためにコンテキストにメッセージを追加します。
msg_text (str):ユーザーのメッセージのテキスト。 ChatResponse :モデル応答テキスト、モデルに送信された実際の入力メッセージ、およびトークンカウントや完了の推定価格などのその他の関連する詳細を含むChatResponseデータクラスのインスタンス。