aboutsummaryrefslogtreecommitdiff
path: root/src/client/views/nodes/ChatBox/Agent.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/client/views/nodes/ChatBox/Agent.ts')
-rw-r--r--src/client/views/nodes/ChatBox/Agent.ts12
1 files changed, 9 insertions, 3 deletions
diff --git a/src/client/views/nodes/ChatBox/Agent.ts b/src/client/views/nodes/ChatBox/Agent.ts
index 63363ab0b..6757b2ce8 100644
--- a/src/client/views/nodes/ChatBox/Agent.ts
+++ b/src/client/views/nodes/ChatBox/Agent.ts
@@ -27,6 +27,11 @@ export class Agent {
};
}
+ private refreshSummaries(): void {
+ this.summaries = this.vectorstore ? this.vectorstore.getSummaries() : 'No documents available.';
+ this.tools.rag = new RAGTool(this.vectorstore, this.summaries);
+ }
+
private formatChatHistory(): string {
let history = '<chat_history>\n';
for (const message of this.messages) {
@@ -41,7 +46,7 @@ export class Agent {
}
async askAgent(question: string, maxTurns: number = 8): Promise<string> {
- this.tools.rag = new RAGTool(this.vectorstore, this.vectorstore ? this.vectorstore.getSummaries() : 'No documents available.');
+ this.refreshSummaries();
console.log(`Starting query: ${question}`);
this.messages.push({ role: 'user', content: question });
const chatHistory = this.formatChatHistory();
@@ -98,7 +103,7 @@ export class Agent {
try {
const observation = await this.processAction(currentAction, step[key]);
const nextPrompt = [{ type: 'text', text: '<observation>' }, ...observation, { type: 'text', text: '</observation>' }];
- console.log('Action result: ' + observation);
+ console.log(observation);
this.interMessages.push({ role: 'user', content: nextPrompt });
break;
} catch (error) {
@@ -114,11 +119,12 @@ export class Agent {
const answerContent = builder.build({ answer: step[key] });
this.messages.push({ role: 'assistant', content: answerContent });
this.interMessages = [];
+ console.log(this.messages);
return answerContent;
}
}
}
-
+ console.log(this.messages);
console.log('Reached maximum turns. Ending query.');
return '<error>Reached maximum turns without finding an answer</error>';
}