mirror of
https://github.com/QuivrHQ/quivr.git
synced 2024-12-15 01:21:48 +03:00
08e015af6c
# Description Please include a summary of the changes and the related issue. Please also include relevant motivation and context. ## Checklist before requesting a review Please delete options that are not relevant. - [ ] My code follows the style guidelines of this project - [ ] I have performed a self-review of my code - [ ] I have commented hard-to-understand areas - [ ] I have ideally added tests that prove my fix is effective or that my feature works - [ ] New and existing unit tests pass locally with my changes - [ ] Any dependent changes have been merged ## Screenshots (if appropriate): --------- Co-authored-by: Antoine Dewez <44063631+Zewed@users.noreply.github.com>
29 lines
1.0 KiB
Python
29 lines
1.0 KiB
Python
from typing import Dict, List, Tuple
|
|
|
|
from langchain.schema import AIMessage, BaseMessage, HumanMessage, SystemMessage
|
|
from modules.chat.dto.outputs import GetChatHistoryOutput
|
|
|
|
|
|
def format_chat_history(
|
|
history: List[GetChatHistoryOutput],
|
|
) -> List[Dict[str, str]]:
|
|
"""Format the chat history into a list of HumanMessage and AIMessage"""
|
|
formatted_history = []
|
|
for chat in history:
|
|
formatted_history.append(HumanMessage(chat.user_message))
|
|
formatted_history.append(AIMessage(chat.assistant))
|
|
return formatted_history
|
|
|
|
|
|
def format_history_to_openai_mesages(
|
|
tuple_history: List[Tuple[str, str]], system_message: str, question: str
|
|
) -> List[BaseMessage]:
|
|
"""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
|