llm 분석기능

This commit is contained in:
Macbook
2026-06-17 13:40:52 +09:00
parent 3ed09cd966
commit 7a2509a045
28 changed files with 2783 additions and 3 deletions
+36
View File
@@ -556,6 +556,8 @@ export interface AppSettingsDto {
tradeAlertTimeFormat?: string;
/** 추세검색 기본 설정 */
trendSearchSettings?: import('./trendSearchAppSettings').TrendSearchAppSettings | null;
/** LLM(AI 검증) 연결·모델 설정 */
llmSettings?: import('./llmSettings').LlmAppSettings | null;
/** UI 설정 통합 (편집기·팔레트·가상투자 목록·패널 크기 등) */
uiPreferences?: import('../types/uiPreferences').UiPreferences | null;
}
@@ -1676,6 +1678,40 @@ export async function fetchLiveConditionScanSignals(
return list ?? [];
}
export interface StrategyEvaluationAiVerifyResponse {
analysis: string;
model: string;
latencyMs: number;
/** 서버 Ta4j 재평가·Rule·trace (백엔드 ai-verify 재평가) */
ta4jDiagnostics?: Record<string, unknown> | null;
}
/** 전략 평가 — LLM 기반 Rule·시그널 일치 검증 */
export async function fetchStrategyEvaluationAiVerify(
context: Record<string, unknown>,
): Promise<StrategyEvaluationAiVerifyResponse> {
return requestOrThrow<StrategyEvaluationAiVerifyResponse>('/strategy/evaluation/ai-verify', {
method: 'POST',
cache: 'no-store',
body: JSON.stringify({ context }),
});
}
export interface LlmConnectionTestResponse {
ok: boolean;
message: string;
model?: string;
latencyMs?: number;
}
/** 설정 화면 — LLM 서버 연결 테스트 (저장된 설정 기준) */
export async function fetchLlmConnectionTest(): Promise<LlmConnectionTestResponse> {
return requestOrThrow<LlmConnectionTestResponse>('/strategy/evaluation/llm-test', {
method: 'POST',
cache: 'no-store',
});
}
/** 전략 DSL에 포함된 평가 시간봉 목록 (실시간 체크·STOMP 구독용) */
export async function loadStrategyTimeframes(strategyId: number): Promise<string[]> {
if (!hasRegisteredUser()) return ['1m'];