You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
buffer_platform/app/static/ai_config.html

212 lines
10 KiB

<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>AI模型配置 - 期货智析</title>
<link rel="stylesheet" href="/static/ai_config.css">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
</head>
<body>
<div class="app-container">
<header class="top-nav">
<div class="nav-left">
<a href="/static/futures_analysis.html" class="back-link">
<i class="fas fa-arrow-left"></i> 返回期货智析
</a>
<div class="page-title">
<i class="fas fa-robot"></i>
<span>AI模型配置</span>
</div>
</div>
<div class="nav-right">
<a href="/" class="nav-icon-btn" title="返回首页">
<i class="fas fa-home"></i>
</a>
</div>
</header>
<main class="main-content">
<div class="config-container">
<!-- 当前启用的AI -->
<div class="config-card active-ai-card" id="active-ai-card" style="display:none;">
<div class="card-header">
<h3><i class="fas fa-check-circle"></i> 当前启用</h3>
</div>
<div class="active-ai-display">
<div class="active-ai-icon" id="active-ai-icon">
<i class="fas fa-robot"></i>
</div>
<div class="active-ai-info">
<div class="active-ai-name" id="active-ai-name">--</div>
<div class="active-ai-model" id="active-ai-model">--</div>
</div>
</div>
</div>
<!-- AI提供商选择 -->
<div class="config-card">
<div class="card-header">
<h3><i class="fas fa-cloud"></i> AI提供商</h3>
</div>
<div class="provider-grid" id="provider-grid">
<!-- 动态生成 -->
</div>
</div>
<!-- API配置 -->
<div class="config-card">
<div class="card-header">
<h3><i class="fas fa-key"></i> API配置</h3>
</div>
<div class="form-grid">
<div class="form-group">
<label>提供商</label>
<select id="api-provider" class="form-control">
<option value="openai">OpenAI</option>
<option value="anthropic">Anthropic Claude</option>
<option value="google">Google Gemini</option>
<option value="aliyun">阿里云通义千问</option>
<option value="aliyun_coding">阿里云通义灵码</option>
<option value="bailian">阿里百炼</option>
<option value="baidu">百度文心一言</option>
<option value="zhipu">智谱清言</option>
<option value="custom">自定义</option>
</select>
</div>
<div class="form-group">
<label>API Key</label>
<div class="input-with-toggle">
<input type="password" id="api-key" class="form-control" placeholder="sk-...">
<button type="button" class="toggle-visibility" onclick="toggleApiKeyVisibility()">
<i class="fas fa-eye"></i>
</button>
</div>
</div>
<div class="form-group">
<label>API Base URL</label>
<input type="text" id="api-base" class="form-control" placeholder="https://api.openai.com/v1">
</div>
<div class="form-group">
<label>模型ID</label>
<select id="model-id" class="form-control">
<option value="gpt-4o">gpt-4o</option>
<option value="gpt-4-turbo">gpt-4-turbo</option>
<option value="gpt-3.5-turbo">gpt-3.5-turbo</option>
</select>
</div>
<div class="form-group">
<label>自定义模型</label>
<input type="text" id="custom-model" class="form-control" placeholder="输入自定义模型名称(留空使用上方选择)">
</div>
</div>
<div class="form-actions">
<button class="btn btn-secondary" onclick="testConnection()">
<i class="fas fa-plug"></i> 测试连接
</button>
<span id="test-result" class="test-result"></span>
</div>
</div>
<!-- 模型参数 -->
<div class="config-card">
<div class="card-header">
<h3><i class="fas fa-sliders-h"></i> 模型参数</h3>
</div>
<div class="form-grid">
<div class="form-group">
<label>Temperature (创造力): <span id="temp-value">0.7</span></label>
<input type="range" id="temperature" class="form-range" min="0" max="2" step="0.1" value="0.7">
<div class="range-labels">
<span>精确</span>
<span>创造</span>
</div>
</div>
<div class="form-group">
<label>Max Tokens (最大输出)</label>
<input type="number" id="max-tokens" class="form-control" value="2000" min="100" max="8000">
</div>
</div>
</div>
<!-- 分析设置 -->
<div class="config-card">
<div class="card-header">
<h3><i class="fas fa-cogs"></i> 分析设置</h3>
</div>
<div class="settings-list">
<div class="setting-item">
<div class="setting-info">
<span class="setting-name">技术分析</span>
<span class="setting-desc">基于K线和技术指标进行分析</span>
</div>
<label class="switch">
<input type="checkbox" id="enable-technical" checked>
<span class="slider"></span>
</label>
</div>
<div class="setting-item">
<div class="setting-info">
<span class="setting-name">基本面分析</span>
<span class="setting-desc">结合宏观经济和行业数据</span>
</div>
<label class="switch">
<input type="checkbox" id="enable-fundamental">
<span class="slider"></span>
</label>
</div>
<div class="setting-item">
<div class="setting-info">
<span class="setting-name">情绪分析</span>
<span class="setting-desc">分析市场情绪和新闻舆情</span>
</div>
<label class="switch">
<input type="checkbox" id="enable-sentiment">
<span class="slider"></span>
</label>
</div>
<div class="form-group">
<label>风险偏好</label>
<select id="risk-tolerance" class="form-control">
<option value="conservative">保守型</option>
<option value="medium" selected>平衡型</option>
<option value="aggressive">激进型</option>
</select>
</div>
<div class="form-group">
<label>最大仓位比例 (%)</label>
<input type="number" id="max-position" class="form-control" value="10" min="1" max="100">
</div>
</div>
</div>
<!-- 已保存的模型 -->
<div class="config-card">
<div class="card-header">
<h3><i class="fas fa-database"></i> 已保存的模型</h3>
<button class="btn btn-primary btn-sm" onclick="addNewModel()">
<i class="fas fa-plus"></i> 添加模型
</button>
</div>
<div class="models-list" id="models-list">
<!-- 动态生成 -->
</div>
</div>
<!-- 保存按钮 -->
<div class="save-actions">
<button class="btn btn-primary btn-lg" onclick="saveConfig()">
<i class="fas fa-save"></i> 保存配置
</button>
<button class="btn btn-secondary btn-lg" onclick="loadConfig()">
<i class="fas fa-sync"></i> 重新加载
</button>
</div>
</div>
</main>
</div>
<script src="/static/ai_config.js"></script>
</body>
</html>