Release the Beast! added deepseek as the new analyst model with a new h100 nodepool
This commit is contained in:
parent
fe3a04d018
commit
0d1f345cb3
5 changed files with 201 additions and 2 deletions
77
apps/base/customer1/news_bot/deepseek-configmap.yaml
Normal file
77
apps/base/customer1/news_bot/deepseek-configmap.yaml
Normal file
|
|
@ -0,0 +1,77 @@
|
|||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
name: deepseek-config
|
||||
namespace: customer1
|
||||
data:
|
||||
DB_HOST: "customer1-pgdb-rw"
|
||||
DB_NAME: "news_app_db"
|
||||
DB_USER: "news_app"
|
||||
DB_PORT: "5432"
|
||||
LLM_URL: "http://localhost:11434"
|
||||
MODEL_NAME: "deepseek-r1:70b"
|
||||
|
||||
MAP_PROMPT: |
|
||||
# ROLE
|
||||
You are a World-Class Financial Intelligence Agent for an Elite Futures Trader.
|
||||
|
||||
# MISSION
|
||||
Analyze the provided batch of full-text articles. Your goal is to extract "Market-Moving DNA." Translate all non-English sources into high-fidelity English.
|
||||
|
||||
# REASONING PROTOCOL (<think>)
|
||||
For each article, internally execute these steps:
|
||||
1. CAUSAL CHAIN: If this event happens, which secondary asset moves?
|
||||
2. BURIED ALPHA: Identify specific numbers (percentages, dates, volumes) buried in paragraphs, not just headlines.
|
||||
3. SINCERITY CHECK: Is the source biased or speculative?
|
||||
|
||||
# TASK
|
||||
For each article in the batch, provide:
|
||||
- TITLE & SOURCE (Translated)
|
||||
- IMPACT RATING (1-10): [1 = Noise | 10 = Black Swan/Systemic Change]
|
||||
- TICKERS/SYMBOLS: [e.g., /ES, /CL, /GC, /6E, /NQ, /ZS]
|
||||
- FACTUAL BULLETS (3-6): Focus strictly on data, logic, and structural shifts.
|
||||
- ANALYST NOTES: Brief "Thinking" note on why this matters for a day trader's edge (e.g., "Expected liquidity gap at NY open due to this news").
|
||||
|
||||
# DATA TO PROCESS
|
||||
{batch_text}
|
||||
|
||||
SUMMARY_PROMPT: |
|
||||
# ROLE
|
||||
Lead Futures Strategist & Macro-Economist.
|
||||
|
||||
# OBJECTIVE
|
||||
Synthesize the processed news batch into a high-conviction "Trading Edge" report.
|
||||
|
||||
# REASONING PROTOCOL (<think>)
|
||||
1. NARRATIVE SYNERGY: Do multiple articles point to the same "hidden" trend (e.g., Energy supply tightening across 3 different regions)?
|
||||
2. CONTRADICTION DETECTION: Identify if two reports are giving conflicting signals.
|
||||
3. REGIME CHECK: Does this news signal a Trend Extension or a Mean Reversion opportunity?
|
||||
|
||||
# TASK
|
||||
Filter for the top 5-10 high-signal events. Use historical analogies (e.g., "Similar to the 2022 supply crunch") to quantify potential moves.
|
||||
|
||||
# OUTPUT (Telegram-friendly Markdown)
|
||||
**SUMMARY DASHBOARD**
|
||||
---
|
||||
**Scanned:** [Total] | **High Signal:** [Count]
|
||||
**Primary Targets:** [e.g., /CL, /ES, /GC]
|
||||
**Sentiment Alert:** [1-sentence "Bottom Line" for the hour]
|
||||
|
||||
**STRATEGIC INSIGHTS**
|
||||
---
|
||||
**[Symbol] | [Directional Bias] | [Impact H/M/L]**
|
||||
• **The Edge:** [Actionable entry/exit/monitoring signal. What is the specific price-action trigger?]
|
||||
• **Rationale:** [Synthesized reasoning from multiple sources.]
|
||||
• **Confidence:** [1-10] | **Risk:** [What invalidates this thesis?]
|
||||
|
||||
**WATCHLIST & LAGGARDS**
|
||||
---
|
||||
[Briefly list symbols to monitor that are secondary to the main move.]
|
||||
|
||||
# CONSTRAINTS
|
||||
- No hype.
|
||||
- Data-driven only.
|
||||
- If no significant news exists, output: "No significant futures-impacting news in this batch."
|
||||
|
||||
# INPUT DATA
|
||||
{final_input}
|
||||
71
apps/base/customer1/news_bot/deepseek-summarizer.yaml
Normal file
71
apps/base/customer1/news_bot/deepseek-summarizer.yaml
Normal file
|
|
@ -0,0 +1,71 @@
|
|||
|
||||
apiVersion: batch/v1
|
||||
kind: CronJob
|
||||
metadata:
|
||||
name: deepseek-analyst
|
||||
namespace: customer1
|
||||
spec:
|
||||
schedule: "15 * * * *"
|
||||
jobTemplate:
|
||||
spec:
|
||||
template:
|
||||
spec:
|
||||
nodeSelector:
|
||||
cloud.google.com/gke-accelerator: nvidia-h100-80gb
|
||||
tolerations:
|
||||
- key: "nvidia.com/gpu-h100"
|
||||
operator: "Equal"
|
||||
value: "present"
|
||||
effect: "NoSchedule"
|
||||
volumes:
|
||||
- name: deepseek-storage
|
||||
persistentVolumeClaim:
|
||||
claimName: deepseek-storage
|
||||
|
||||
|
||||
initContainers:
|
||||
- name: model-puller
|
||||
image: ollama/ollama:latest
|
||||
volumeMounts:
|
||||
- name: deepseek-storage
|
||||
mountPath: /root/.ollama
|
||||
command: ["/bin/sh", "-c"]
|
||||
args: ["ollama serve & sleep 5 && ollama pull deepseek-r1:70b"]
|
||||
|
||||
|
||||
- name: ollama-sidecar
|
||||
image: ollama/ollama:latest
|
||||
restartPolicy: Always
|
||||
env:
|
||||
- name: OLLAMA_DEBUG
|
||||
value: "2"
|
||||
- name: OLLAMA_LOG_LEVEL
|
||||
value: "DEBUG"
|
||||
ports:
|
||||
- containerPort: 11434
|
||||
volumeMounts:
|
||||
- name: deepseek-storage
|
||||
mountPath: /root/.ollama
|
||||
resources:
|
||||
limits:
|
||||
nvidia.com/gpu: 1
|
||||
memory: "85Gi"
|
||||
requests:
|
||||
nvidia.com/gpu: "1"
|
||||
memory: "32Gi"
|
||||
|
||||
containers:
|
||||
- name: analyst
|
||||
image: siriussec/summarizerlocal:3.5
|
||||
imagePullPolicy: Always
|
||||
env:
|
||||
- name: DB_PASSWORD
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: news-app-password
|
||||
key: password
|
||||
envFrom:
|
||||
- configMapRef:
|
||||
name: deepseek-config
|
||||
|
||||
restartPolicy: OnFailure
|
||||
|
|
@ -10,7 +10,7 @@ data:
|
|||
DB_PORT: "5432"
|
||||
LLM_URL: "http://localhost:11434"
|
||||
MODEL_NAME: "mistral-small"
|
||||
|
||||
|
||||
MAP_PROMPT: |
|
||||
You are a state of the art AI News analysis
|
||||
|
||||
|
|
|
|||
|
|
@ -11,7 +11,9 @@ resources:
|
|||
- telebot-cronjob.yaml
|
||||
- telebot-secret.yaml
|
||||
- gemma-configmap.yaml
|
||||
- analyst-cronjob.yaml
|
||||
# - analyst-cronjob.yaml
|
||||
- ollama-storage.yaml
|
||||
- news-app-password.yaml
|
||||
- news-app-db.yaml
|
||||
- deepseek-summarizer.yaml
|
||||
- deepseek-configmap.yaml
|
||||
|
|
|
|||
49
modules/a3_nodepool.tf
Normal file
49
modules/a3_nodepool.tf
Normal file
|
|
@ -0,0 +1,49 @@
|
|||
resource "google_container_node_pool" "h100_node_pool" {
|
||||
name = "h100-analyst-pool"
|
||||
location = "us-central1-a"
|
||||
cluster = google_container_cluster.primary.name
|
||||
|
||||
initial_node_count = 0
|
||||
autoscaling {
|
||||
min_node_count = 0
|
||||
max_node_count = 1
|
||||
}
|
||||
|
||||
node_config {
|
||||
machine_type = "a3-highgpu-1g"
|
||||
|
||||
guest_accelerator {
|
||||
type = "nvidia-h100-80gb"
|
||||
count = 1
|
||||
|
||||
gpu_driver_installation_config {
|
||||
gpu_driver_version = "LATEST"
|
||||
}
|
||||
}
|
||||
|
||||
taint {
|
||||
key = "nvidia.com/gpu-h100"
|
||||
value = "present"
|
||||
effect = "NO_SCHEDULE"
|
||||
}
|
||||
|
||||
labels = {
|
||||
accelerator = "h100-single"
|
||||
}
|
||||
disk_size_gb = 200
|
||||
disk_type = "pd-ssd"
|
||||
spot = true
|
||||
|
||||
oauth_scopes = [
|
||||
"https://www.googleapis.com/auth/cloud-platform"]
|
||||
|
||||
metadata = {
|
||||
disable-legacy-endpoints = "true"
|
||||
}
|
||||
}
|
||||
|
||||
management {
|
||||
auto_repair = true
|
||||
auto_upgrade = true
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Reference in a new issue