geo/frontend/types/ai-engines.ts

61 lines
1.6 KiB
TypeScript

export type AIEngineType =
| "chatgpt"
| "perplexity"
| "kimi"
| "wenxin"
| "doubao"
| "deepseek"
| "qwen"
| "gemini"
| "yuanbao";
export interface AIEngineOption {
value: AIEngineType;
label: string;
group: "domestic" | "international";
}
export const AI_ENGINE_OPTIONS: AIEngineOption[] = [
{ value: "chatgpt", label: "ChatGPT", group: "international" },
{ value: "perplexity", label: "Perplexity", group: "international" },
{ value: "gemini", label: "Google Gemini", group: "international" },
{ value: "kimi", label: "Kimi", group: "domestic" },
{ value: "wenxin", label: "文心一言", group: "domestic" },
{ value: "doubao", label: "豆包", group: "domestic" },
{ value: "deepseek", label: "DeepSeek", group: "domestic" },
{ value: "qwen", label: "通义千问", group: "domestic" },
{ value: "yuanbao", label: "腾讯元宝", group: "domestic" },
];
export interface AIQueryResult {
engine_type: string;
query: string;
raw_response: string;
has_brand_citation: boolean;
has_competitor_citation: boolean;
brand_context: string | null;
competitor_contexts: string[];
response_time_ms: number;
timestamp: string;
}
export interface CitationRate {
total_engines: number;
brand_citation_count: number;
brand_citation_rate: number;
competitor_citation_count: number;
competitor_citation_rate: number;
}
export interface AIEnginesResponse {
results: AIQueryResult[];
citation_rate: CitationRate;
avg_response_time_ms: number;
}
export interface AIQueryRequest {
engines: AIEngineType[];
query: string;
brand_name: string;
}