2023-08-18 11:32:22 +03:00
|
|
|
from typing import List, Tuple
|
2023-08-25 15:03:57 +03:00
|
|
|
|
|
|
|
from langchain.schema import AIMessage, BaseMessage, HumanMessage, SystemMessage
|
2023-08-18 11:32:22 +03:00
|
|
|
|
|
|
|
|
|
|
|
def format_chat_history(history) -> List[Tuple[str, str]]:
|
2023-07-04 18:56:54 +03:00
|
|
|
"""Format the chat history into a list of tuples (human, ai)"""
|
|
|
|
|
|
|
|
return [(chat.user_message, chat.assistant) for chat in history]
|
2023-08-18 11:32:22 +03:00
|
|
|
|
|
|
|
|
2023-08-25 15:03:57 +03:00
|
|
|
def format_history_to_openai_mesages(
|
|
|
|
tuple_history: List[Tuple[str, str]], system_message: str, question: str
|
|
|
|
) -> List[BaseMessage]:
|
2023-08-18 11:32:22 +03:00
|
|
|
"""Format the chat history into a list of Base Messages"""
|
|
|
|
messages = []
|
|
|
|
messages.append(SystemMessage(content=system_message))
|
|
|
|
for human, ai in tuple_history:
|
|
|
|
messages.append(HumanMessage(content=human))
|
|
|
|
messages.append(AIMessage(content=ai))
|
|
|
|
messages.append(HumanMessage(content=question))
|
|
|
|
return messages
|