magnitude-core
Version:
Magnitude e2e testing agent
28 lines (27 loc) • 1.19 kB
TypeScript
import { MultiMediaContentPart } from "@/memory/rendering";
import { ModelHarnessEvents } from "./modelHarness";
import { LLMClient } from "./types";
import { ActionDefinition } from "@/actions";
import { AgentContext } from "./baml_client";
import { Action } from "@/actions/types";
import { Image } from '@/memory/image';
import EventEmitter from "eventemitter3";
import z from "zod";
export declare class MultiModelHarness {
/**
* Delegates model responsibilites to different LLMs and consolidates their usage
*/
private roles;
private uniqueModels;
readonly events: EventEmitter<ModelHarnessEvents>;
constructor(clients: LLMClient[]);
setup(): Promise<void>;
describe(): string;
partialAct<T>(context: AgentContext, task: string, data: MultiMediaContentPart[], actionVocabulary: ActionDefinition<T>[]): Promise<{
reasoning: string;
actions: Action[];
}>;
extract<T extends z.Schema>(instructions: string, schema: T, screenshot: Image, domContent: string): Promise<z.infer<T>>;
query<T extends z.Schema>(context: AgentContext, query: string, schema: T): Promise<z.infer<T>>;
get numUniqueModels(): number;
}