UNPKG

magnitude-core

Version:
28 lines (27 loc) 1.19 kB
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; }