|
17 | 17 | from dialog.settings import Settings |
18 | 18 | from dialog.db import get_session |
19 | 19 |
|
| 20 | + |
20 | 21 | class DialogLLM(AbstractRAG): |
21 | 22 | def __init__(self, *args, **kwargs): |
22 | 23 | kwargs["dbsession"] = next(get_session()) |
@@ -47,24 +48,35 @@ def generate_prompt(self, text): |
47 | 48 | self.config.get("fallback").get("prompt") # maintaining compatibility with the previous configuration |
48 | 49 | header = prompt_config.get("header") |
49 | 50 | suggested = prompt_config.get("suggested") |
| 51 | + history_header = prompt_config.get("history_header") |
50 | 52 | messages = [] |
| 53 | + |
| 54 | + messages.append(SystemMessagePromptTemplate.from_template(header)) |
51 | 55 | if len(self.relevant_contents) > 0: |
52 | 56 | context = "Context: \n".join( |
53 | 57 | [f"{c.question}\n{c.content}\n" for c in self.relevant_contents] |
54 | 58 | ) |
55 | | - messages.append(SystemMessagePromptTemplate.from_template(header)) |
56 | | - messages.append(SystemMessagePromptTemplate.from_template( |
57 | | - f"{suggested}. {context}")) |
58 | 59 | messages.append( |
59 | | - MessagesPlaceholder( |
60 | | - variable_name="chat_history", optional=True)) |
61 | | - messages.append( |
62 | | - HumanMessagePromptTemplate.from_template("{user_message}")) |
| 60 | + SystemMessagePromptTemplate.from_template(f"{suggested}. {context}") |
| 61 | + ) |
63 | 62 | else: |
64 | 63 | messages.append( |
65 | | - SystemMessagePromptTemplate.from_template(fallback)) |
66 | | - messages.append( |
67 | | - HumanMessagePromptTemplate.from_template("{user_message}")) |
| 64 | + SystemMessagePromptTemplate.from_template(fallback) |
| 65 | + ) |
| 66 | + |
| 67 | + messages.append( |
| 68 | + SystemMessagePromptTemplate.from_template(history_header) |
| 69 | + ) |
| 70 | + |
| 71 | + messages.append( |
| 72 | + MessagesPlaceholder( |
| 73 | + variable_name="chat_history" |
| 74 | + ) |
| 75 | + ) |
| 76 | + |
| 77 | + messages.append( |
| 78 | + HumanMessagePromptTemplate.from_template("{user_message}") |
| 79 | + ) |
68 | 80 | self.prompt = ChatPromptTemplate.from_messages(messages) |
69 | 81 |
|
70 | 82 | if Settings().VERBOSE_LLM: |
|
0 commit comments