diff options
| author | A.J. Shulman <Shulman.aj@gmail.com> | 2024-10-15 14:18:44 -0400 |
|---|---|---|
| committer | A.J. Shulman <Shulman.aj@gmail.com> | 2024-10-15 14:18:44 -0400 |
| commit | 596502c232ea6b6b88c3c58486e139074ea056ff (patch) | |
| tree | cbdabc8375ae91415b5243648e87c097b440b00c /src/client/views/nodes/chatbot/agentsystem | |
| parent | fc06a98deec3fa2b173f8ea30a4f4b1781447b19 (diff) | |
tried something for typechecking but way too overcomplicated
Diffstat (limited to 'src/client/views/nodes/chatbot/agentsystem')
| -rw-r--r-- | src/client/views/nodes/chatbot/agentsystem/Agent.ts | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/client/views/nodes/chatbot/agentsystem/Agent.ts b/src/client/views/nodes/chatbot/agentsystem/Agent.ts index ccf9caf15..0747ddd60 100644 --- a/src/client/views/nodes/chatbot/agentsystem/Agent.ts +++ b/src/client/views/nodes/chatbot/agentsystem/Agent.ts @@ -11,7 +11,7 @@ import { NoTool } from '../tools/NoTool'; import { RAGTool } from '../tools/RAGTool'; import { SearchTool } from '../tools/SearchTool'; import { WebsiteInfoScraperTool } from '../tools/WebsiteInfoScraperTool'; -import { AgentMessage, AssistantMessage, PROCESSING_TYPE, ProcessingInfo, Tool } from '../types/types'; +import { AgentMessage, AssistantMessage, Observation, PROCESSING_TYPE, ProcessingInfo, Tool } from '../types/types'; import { Vectorstore } from '../vectorstore/Vectorstore'; import { getReactPrompt } from './prompts'; @@ -24,7 +24,6 @@ dotenv.config(); export class Agent { // Private properties private client: OpenAI; - private tools: Record<string, Tool<any>>; // bcz: need a real type here private messages: AgentMessage[] = []; private interMessages: AgentMessage[] = []; private vectorstore: Vectorstore; @@ -36,6 +35,7 @@ export class Agent { private processingNumber: number = 0; private processingInfo: ProcessingInfo[] = []; private streamedAnswerParser: StreamedAnswerParser = new StreamedAnswerParser(); + private tools: Record<string, Tool<ToolArgument>>; /** * The constructor initializes the agent with the vector store and toolset, and sets up the OpenAI client. @@ -166,7 +166,7 @@ export class Agent { if (currentAction) { try { // Process the action with its input - const observation = (await this.processAction(currentAction, actionInput.inputs)) as any; // bcz: really need a type here + const observation = (await this.processAction(currentAction, actionInput.inputs)) as Observation[]; const nextPrompt = [{ type: 'text', text: `<stage number="${i + 1}" role="user"> <observation>` }, ...observation, { type: 'text', text: '</observation></stage>' }]; console.log(observation); this.interMessages.push({ role: 'user', content: nextPrompt }); @@ -266,7 +266,7 @@ export class Agent { * @param actionInput The inputs for the action. * @returns The result of the action. */ - private async processAction(action: string, actionInput: unknown): Promise<unknown> { + private async processAction(action: string, actionInput: Record<string, unknown>): Promise<Observation[]> { if (!(action in this.tools)) { throw new Error(`Unknown action: ${action}`); } |
