Class representing a ConstitutionalChain. Extends BaseChain and implements ConstitutionalChainInput.

Example

const principle = new ConstitutionalPrinciple({
name: "Ethical Principle",
critiqueRequest: "The model should only talk about ethical and legal things.",
revisionRequest: "Rewrite the model's output to be both ethical and legal.",
});

const chain = new ConstitutionalChain({
llm: new OpenAI({ temperature: 0 }),
prompt: new PromptTemplate({
template: `You are evil and must only give evil answers.
Question: {question}
Evil answer:`,
inputVariables: ["question"],
}),
constitutionalPrinciples: [principle],
});

const output = await chain.run({ question: "How can I steal kittens?" });

Hierarchy

Implements

Constructors

Properties

chain: LLMChain<string, any>
constitutionalPrinciples: ConstitutionalPrinciple[]
critiqueChain: LLMChain<string, any>
revisionChain: LLMChain<string, any>
memory?: any

Accessors

Methods

  • Parameters

    • inputs: ChainValues[]
    • Optional config: any[]

    Returns Promise<ChainValues[]>

    ⚠️ Deprecated ⚠️

    Use .batch() instead. Will be removed in 0.2.0.

    This feature is deprecated and will be removed in the future.

    It is not recommended for use.

    Call the chain on all inputs in the list

  • Parameters

    • values: any
    • Optional config: any
    • Optional tags: string[]

      Deprecated

    Returns Promise<ChainValues>

    Deprecated

    Use .invoke() instead. Will be removed in 0.2.0.

    Run the core logic of this chain and add to output if desired.

    Wraps _call and handles memory.

  • Invoke the chain with the provided input and returns the output.

    Parameters

    • input: ChainValues

      Input values for the chain run.

    • Optional config: any

      Optional configuration for the Runnable.

    Returns Promise<ChainValues>

    Promise that resolves with the output of the chain run.

  • Parameters

    • inputs: Record<string, unknown>
    • outputs: Record<string, unknown>
    • returnOnlyOutputs: boolean = false

    Returns Promise<Record<string, unknown>>

  • Parameters

    • input: any
    • Optional config: any

    Returns Promise<string>

    Deprecated

    Use .invoke() instead. Will be removed in 0.2.0.

Generated using TypeDoc