Class ConstitutionalChain

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, LLMType>
constitutionalPrinciples: ConstitutionalPrinciple[]
critiqueChain: LLMChain<string, LLMType>
revisionChain: LLMChain<string, LLMType>
memory?: BaseMemory

Accessors

  • get inputKeys(): string[]
  • Returns string[]

  • get outputKeys(): string[]
  • Returns string[]

Methods

  • Call the chain on all inputs in the list

    Parameters

    • inputs: ChainValues[]
    • Optional config: (BaseCallbackConfig | Callbacks)[]

    Returns Promise<ChainValues[]>

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

    Wraps _call and handles memory.

    Parameters

    • values: ChainValues & {
          signal?: AbortSignal;
          timeout?: number;
      }
    • Optional config: BaseCallbackConfig | Callbacks
    • Optional tags: string[]

      Deprecated

    Returns Promise<ChainValues>

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

    Parameters

    • input: ChainValues

      Input values for the chain run.

    • Optional config: BaseCallbackConfig

      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: BaseCallbackConfig | Callbacks

    Returns Promise<string>

  • Load a chain from a json-like object describing it.

    Parameters

    Returns Promise<BaseChain<ChainValues, ChainValues>>

  • Static method that creates a new instance of the ConstitutionalChain class from a BaseLanguageModel object and additional options.

    Parameters

    • llm: BaseLanguageModel<any, BaseLanguageModelCallOptions>

      BaseLanguageModel instance.

    • options: Omit<ConstitutionalChainInput, "critiqueChain" | "revisionChain"> & {
          critiqueChain?: LLMChain<string, LLMType>;
          revisionChain?: LLMChain<string, LLMType>;
      }

      Options for the ConstitutionalChain.

    Returns ConstitutionalChain

    New instance of ConstitutionalChain

  • Static method that returns an array of ConstitutionalPrinciple objects based on the provided names.

    Parameters

    • Optional names: string[]

      Optional array of principle names.

    Returns ConstitutionalPrinciple[]

    Array of ConstitutionalPrinciple objects

Generated using TypeDoc