Skip to content

Commit

Permalink
limit context to 8 user messages (and their responses) + 1 retrieval (#…
Browse files Browse the repository at this point in the history
  • Loading branch information
philipperolet committed Jun 20, 2023
1 parent d8f909c commit 7929372
Showing 1 changed file with 23 additions and 1 deletion.
24 changes: 23 additions & 1 deletion front/pages/w/[wId]/u/chat/[cId]/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -731,6 +731,28 @@ export default function AppChat({
}
};

const filterMessagesForModel = (messages: ChatMessageType[]) => {
// remove retrieval messages except the last one, and only keep the last 8 user messages

const lastRetrievalMessageIndex = messages
.map((m, i) => (m.role === "retrieval" ? i : -1))
.filter((i) => i !== -1)
.pop();

const eighthButLastUserMessageIndex =
messages
.map((m, i) => (m.role === "user" ? i : -1))
.filter((i) => i !== -1)
.reverse()[7] || 0;

const result = messages.filter(
(m, i) =>
i >= eighthButLastUserMessageIndex &&
(m.role !== "retrieval" || i === lastRetrievalMessageIndex)
);
return result;
};

const runChatAssistant = async (m: ChatMessageType[]) => {
const assistantMessage: ChatMessageType = {
role: "assistant",
Expand All @@ -752,7 +774,7 @@ export default function AppChat({
};

const res = await runActionStreamed(owner, "chat-assistant", config, [
{ messages: m, context },
{ messages: filterMessagesForModel(m), context },
]);
if (res.isErr()) throw new Error(res.error.message);
const { eventStream } = res.value;
Expand Down

0 comments on commit 7929372

Please sign in to comment.