@microsoft/teams-ai
Version:
SDK focused on building AI based applications for Microsoft Teams.
75 lines • 2.89 kB
TypeScript
/**
* @module teams-ai
*/
/**
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License.
*/
import { Plan } from '../planners';
import { TurnState } from '../TurnState';
import { TurnContext } from 'botbuilder';
import { OpenAIClient, CreateModerationResponseResultsInner } from '../internals';
import { Moderator } from './Moderator';
/**
* Options for the OpenAI based moderator.
*/
export interface OpenAIModeratorOptions {
/**
* OpenAI API key
*/
apiKey: string;
/**
* Which parts of the conversation to moderate.
*/
moderate: 'input' | 'output' | 'both';
/**
* Optional. OpenAI organization.
*/
organization?: string;
/**
* Optional. OpenAI endpoint.
*/
endpoint?: string;
/**
* Optional. OpenAI model to use.
*/
model?: string;
/**
* Optional. Azure Content Safety API version.
*/
apiVersion?: string;
}
/**
* A moderator that uses OpenAI's moderation API to review prompts and plans for safety.
* @remarks
* This moderation can be configure to review the input from the user, output from the model, or both.
* @template TState Optional. Type of the applications turn state.
*/
export declare class OpenAIModerator<TState extends TurnState = TurnState> implements Moderator<TState> {
private readonly _options;
private readonly _client;
/**
* Creates a new instance of the OpenAI based moderator.
* @param {OpenAIModeratorOptions} options Configuration options for the moderator.
*/
constructor(options: OpenAIModeratorOptions);
/**
* Reviews an incoming utterance for safety violations.
* @param {TurnContext} context - Context for the current turn of conversation.
* @param {TState} state - Application state for the current turn of conversation.
* @returns {Promise<Plan | undefined>} An undefined value to approve the prompt or a new plan to redirect to if not approved.
*/
reviewInput(context: TurnContext, state: TState): Promise<Plan | undefined>;
/**
* Reviews the SAY commands generated by the planner for safety violations.
* @param {TurnContext} context - Context for the current turn of conversation.
* @param {TState} state - Application state for the current turn of conversation.
* @param {Plan} plan - Plan generated by the planner.
* @returns {Promise<Plan>} The plan to execute. Either the current plan passed in for review or a new plan.
*/
reviewOutput(context: TurnContext, state: TState, plan: Plan): Promise<Plan>;
get options(): OpenAIModeratorOptions;
protected createClient(options: OpenAIModeratorOptions): OpenAIClient;
protected createModeration(input: string, model?: string): Promise<CreateModerationResponseResultsInner | undefined>;
}
//# sourceMappingURL=OpenAIModerator.d.ts.map