UNPKG

langchain

Version:
1 lines • 1.47 kB
{"version":3,"file":"decisions.cjs","names":[],"sources":["../../../../../src/agents/middleware/provider/openai/decisions.ts"],"sourcesContent":["type DecisionAnswer =\n | { type: \"predicate\"; probability: number }\n | {\n type: \"choice\";\n choice: string;\n confidence: number;\n probabilities: { value: string; probability: number }[];\n }\n | { type: \"score\" | \"refusal\" };\n\nexport type DecisionQuestions = Record<\n string,\n | { type: \"predicate\"; instructions: string }\n | { type: \"choice\"; instructions: string; choices: Record<string, string> }\n>;\n\n/** The part of `OpenAIDecisions` from `@langchain/openai` these middleware use. */\nexport interface OpenAIDecisionsLike {\n invoke(\n request: { input: never; questions: DecisionQuestions },\n config?: { signal?: AbortSignal }\n ): Promise<{ answers: Record<string, DecisionAnswer> }>;\n}\n\n/** Asks a single question and returns its answer. */\nexport function decider(\n model: OpenAIDecisionsLike,\n questions: DecisionQuestions\n) {\n return async (input: unknown, signal?: AbortSignal) => {\n const { answers } = await model.invoke(\n { input: input as never, questions },\n { signal }\n );\n return Object.values(answers)[0];\n };\n}\n"],"mappings":";;AAyBA,SAAgB,QACd,OACA,WACA;CACA,OAAO,OAAO,OAAgB,WAAyB;EACrD,MAAM,EAAE,YAAY,MAAM,MAAM,OAC9B;GAAS;GAAgB;EAAU,GACnC,EAAE,OAAO,CACX;EACA,OAAO,OAAO,OAAO,OAAO,CAAC,CAAC;CAChC;AACF"}