aquanet-bot-lib
Version:
A library for building aquaculture chatbots with LLM integration
71 lines (70 loc) • 1.82 kB
TypeScript
export declare enum LLMProviders {
DEEPSEEK = "deepseek"
}
export interface LLMConfig {
provider: LLMProviders;
apiKey: string;
model: string;
defaultParams?: {
temperature?: number;
maxTokens?: number;
topP?: number;
frequencyPenalty?: number;
presencePenalty?: number;
};
}
export interface LLMInput {
prompt: string;
systemPrompt?: string;
temperature?: number;
maxTokens?: number;
topP?: number;
frequencyPenalty?: number;
presencePenalty?: number;
}
export interface LLMResponse {
content: string;
usage?: {
promptTokens: number;
completionTokens: number;
totalTokens: number;
};
}
export interface ILLMProvider {
generateResponse(input: LLMInput): Promise<LLMResponse>;
generateStreamResponse(input: LLMInput): AsyncGenerator<string>;
}
export declare enum AquacultureTaskType {
WATER_QUALITY_ANALYSIS = "water_quality_analysis",
DISEASE_DIAGNOSIS = "disease_diagnosis",
FEEDING_OPTIMIZATION = "feeding_optimization",
GROWTH_PREDICTION = "growth_prediction",
COST_ANALYSIS = "cost_analysis",
TECHNICAL_ADVICE = "technical_advice",
MARKET_ANALYSIS = "market_analysis",
ENVIRONMENTAL_IMPACT = "environmental_impact"
}
export interface AquacultureData {
environmentalData: {
waterQuality: {
temperature: number;
pH: number;
dissolvedOxygen: number;
[key: string]: any;
};
[key: string]: any;
};
biologicalData: {
species: string;
stage: string;
[key: string]: any;
};
metadata: {
farmId: string;
pondId: string;
timestamp: Date;
source: string;
[key: string]: any;
};
[key: string]: any;
}