update openrouter
This commit is contained in:
@@ -3,8 +3,8 @@
|
||||
*/
|
||||
|
||||
import { createLogger } from "../../core/logger";
|
||||
import { ReplicateProvider } from "./replicate";
|
||||
import type { AiProvider, AiResponse } from "./types";
|
||||
import { OpenRouterProvider } from "./openrouter";
|
||||
import type { AiProvider, AiResponse, MessageStyle } from "./types";
|
||||
|
||||
const logger = createLogger("AI:Service");
|
||||
|
||||
@@ -12,7 +12,7 @@ export class AiService {
|
||||
private provider: AiProvider;
|
||||
|
||||
constructor(provider?: AiProvider) {
|
||||
this.provider = provider ?? new ReplicateProvider();
|
||||
this.provider = provider ?? new OpenRouterProvider();
|
||||
}
|
||||
|
||||
async health(): Promise<boolean> {
|
||||
@@ -26,6 +26,17 @@ export class AiService {
|
||||
logger.debug("Generating response", { promptLength: prompt.length });
|
||||
return this.provider.ask({ prompt, systemPrompt });
|
||||
}
|
||||
|
||||
/**
|
||||
* Classify a message to determine the appropriate response style
|
||||
*/
|
||||
async classifyMessage(message: string): Promise<MessageStyle> {
|
||||
if (this.provider.classifyMessage) {
|
||||
return this.provider.classifyMessage(message);
|
||||
}
|
||||
// Default to snarky if provider doesn't support classification
|
||||
return "snarky";
|
||||
}
|
||||
}
|
||||
|
||||
// Singleton instance
|
||||
@@ -38,4 +49,4 @@ export function getAiService(): AiService {
|
||||
return aiService;
|
||||
}
|
||||
|
||||
export type { AiProvider, AiResponse } from "./types";
|
||||
export type { AiProvider, AiResponse, MessageStyle } from "./types";
|
||||
|
||||
Reference in New Issue
Block a user