@hashgraphonline/conversational-agent
Version:
Hashgraph Online conversational AI agent implementing HCS-10 communication, HCS-2 registries, and content inscription on Hedera
49 lines (47 loc) • 1.55 kB
TypeScript
import { BaseLanguageModelCallOptions } from '@langchain/core/language_models/base';
import { BaseChatModel } from '@langchain/core/language_models/chat_models';
/**
* Framework-agnostic AI provider interface for multi-framework support
*/
export interface AIProvider {
/**
* Generate a response from the AI model
*/
generate(prompt: string, options?: BaseLanguageModelCallOptions): Promise<string>;
/**
* Stream a response from the AI model
*/
stream?(prompt: string, options?: BaseLanguageModelCallOptions): AsyncGenerator<string>;
/**
* Get the underlying model if available
*/
getModel?(): BaseChatModel | unknown;
}
/**
* LangChain AI provider implementation
*/
export declare class LangChainProvider implements AIProvider {
private model;
constructor(model: BaseChatModel);
generate(prompt: string, options?: BaseLanguageModelCallOptions): Promise<string>;
stream(prompt: string, options?: BaseLanguageModelCallOptions): AsyncGenerator<string>;
getModel(): BaseChatModel;
}
/**
* Vercel AI SDK provider interface (forward-thinking)
*/
export interface VercelAIProvider extends AIProvider {
/**
* Use Vercel AI SDK's streamText function
*/
streamText?(prompt: string, options?: unknown): Promise<unknown>;
}
/**
* BAML provider interface (forward-thinking)
*/
export interface BAMLProvider extends AIProvider {
/**
* Execute a BAML function
*/
executeFunction?(name: string, args: Record<string, unknown>): Promise<unknown>;
}