llm 분석기능
This commit is contained in:
@@ -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'];
|
||||
|
||||
Reference in New Issue
Block a user