dadeumi
Version:
Dadeumi - An AI-powered literary translation workflow inspired by the Korean method of iterative textile refinement
35 lines (34 loc) • 1.05 kB
TypeScript
import { ConversationMessage } from "../../types";
import { AiResponse, AiRequestOptions, AiProvider } from "./interfaces";
export type { AiResponse, AiRequestOptions, AiProvider };
/**
* Cost calculation result
*/
export interface CostResult {
inputCost: number;
outputCost: number;
totalCost: number;
}
/**
* Main AI service that orchestrates different providers
*/
export declare class AiService {
private openAiProvider;
private anthropicProvider;
constructor(openAiApiKey?: string, anthropicApiKey?: string);
/**
* Check which providers are available
*/
getAvailableProviders(): {
openai: boolean;
anthropic: boolean;
};
/**
* Generate a response from a conversation history using the appropriate provider
*/
generateResponse(messages: ConversationMessage[], options: AiRequestOptions): Promise<AiResponse>;
/**
* Calculate cost based on token usage
*/
calculateCost(model: string, inputTokens: number, outputTokens: number): CostResult;
}