Class representing a chain for moderating text using the OpenAI Moderation API. It extends the BaseChain class and implements the OpenAIModerationChainInput interface.

Example

const moderation = new ChatOpenAIModerationChain({ throwError: true });

const badString = "Bad naughty words from user";

try {
const { output: moderatedContent, results } = await moderation.call({
input: badString,
});

if (results[0].category_scores["harassment/threatening"] > 0.01) {
throw new Error("Harassment detected!");
}

const model = new OpenAI({ temperature: 0 });
const promptTemplate = "Hello, how are you today {person}?";
const prompt = new PromptTemplate({
template: promptTemplate,
inputVariables: ["person"],
});
const chain = new LLMChain({ llm: model, prompt });
const response = await chain.call({ person: moderatedContent });
console.log({ response });
} catch (error) {
console.error("Naughty words detected!");
}

Hierarchy (view full)

Implements

  • OpenAIModerationChainInput

Constructors

Properties

caller: AsyncCaller
client: OpenAIClient
clientConfig: ClientOptions
inputKey: string = "input"
outputKey: string = "output"
throwError: boolean
memory?: any
openAIApiKey?: string
openAIOrganization?: string

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 options: any

    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