chatstack
1.0.0
이 Python 코드는 OpenAI의 GPT-3.5-Turbo 또는 GPT-4 채팅 모델을 사용하여 컨텍스트 관리와 함께 챗봇 구현을 제공합니다. 챗봇은 대화 기록을 유지하고 컨텍스트 상태와 크기를 토큰으로 관리하는 데 도움이됩니다.
ChatStack은 OpenAI_API_KEY 환경 변수를 통해 OpenAI API 키를 찾습니다.
ChatRoleMessage : 역할, 텍스트 및 토큰이있는 메시지의 기본 데이터 클래스.SystemMessage : '시스템'역할을 가진 메시지를 나타내는 데이터 클래스.ContextMessage : 모델에 대한 추가 정보 컨텍스트를 나타내는 데이터 클래스.AssistantMessage : 'Assistant'역할을 가진 메시지를 나타내는 데이터 클래스.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 데이터 클래스의 인스턴스.