Trong thị trường crypto, những "con cá voi" (whale) có thể tạo ra biến động giá đáng kể chỉ với một giao dịch. Việc theo dõi và phân tích hành vi của các địa chỉ này trở thành chiến lược quan trọng cho các nhà giao dịch và nhà đầu tư. Bài viết này sẽ hướng dẫn bạn xây dựng hệ thống sự kiện (event-driven) để giám sát hoạt động của cá voi theo thời gian thực, đồng thời kích hoạt phân tích AI để đưa ra quyết định giao dịch sáng suốt.
So sánh: HolySheep vs API chính thức vs Dịch vụ Relay
| Tiêu chí | HolySheep AI | API chính thức (Alchemy/Infura) | Dịch vụ Relay (QuickNode) |
|---|---|---|---|
| Độ trễ trung bình | <50ms | 80-150ms | 60-120ms |
| Chi phí/1 triệu token | $0.42 (DeepSeek V3.2) | $3-15 tùy model | $5-20 (không bao gồm API blockchain) |
| Tích hợp AI | Có sẵn, native | Cần kết hợp nhiều dịch vụ | Không hỗ trợ |
| Webhook/WebSocket | Hỗ trợ đầy đủ | Cần cấu hình phức tạp | Hỗ trợ cơ bản |
| Thanh toán | WeChat/Alipay, USD | Chỉ thẻ quốc tế | Thẻ quốc tế |
| Tín dụng miễn phí | Có khi đăng ký | Có giới hạn | Không |
Phù hợp / không phù hợp với ai
✅ Nên sử dụng HolySheep khi:
- Bạn là nhà giao dịch crypto cần phân tích hành vi cá voi theo thời gian thực
- Cần xây dựng hệ thống event-driven với độ trễ thấp (<50ms)
- Muốn tích hợp AI analysis vào pipeline mà không cần quản lý nhiều service
- Ngân sách hạn chế nhưng cần hiệu suất cao
- Đội ngũ kỹ thuật nhỏ, cần giải pháp all-in-one
❌ Không phù hợp khi:
- Dự án cần custom blockchain节点 (node) riêng biệt
- Yêu cầu compliance với các regulation nghiêm ngặt của từng quốc gia
- Chỉ cần đọc dữ liệu blockchain đơn thuần, không cần AI analysis
Kiến trúc hệ thống Event-Driven Whale Monitoring
Trước khi đi vào code, hãy hiểu kiến trúc tổng thể của hệ thống:
┌─────────────────────────────────────────────────────────────────────┐
│ KIẾN TRÚC HỆ THỐNG WHALE MONITORING │
├─────────────────────────────────────────────────────────────────────┤
│ │
│ ┌──────────────┐ WebSocket ┌──────────────────────────┐ │
│ │ Blockchain │ ─────────────────► │ Event Listener Service │ │
│ │ Network │ (Pending Tx) │ - Lọc giao dịch lớn │ │
│ └──────────────┘ │ - Parse event data │ │
│ └────────────┬─────────────┘ │
│ │ │
│ ▼ │
│ ┌──────────────────────────┐ │
│ │ HolySheep AI Gateway │ │
│ │ base_url: │ │
│ │ https://api.holysheep │ │
│ │ .ai/v1 │ │
│ └────────────┬─────────────┘ │
│ │ │
│ ┌─────────────────────┼─────────────┐ │
│ ▼ ▼ ▼ │
│ ┌──────────────┐ ┌──────────────┐ ┌──────┐│
│ │ Phân tích │ │ Sinh alert │ │Lưu ││
│ │ Sentiment │ │ tự động │ │log ││
│ └──────────────┘ └──────────────┘ └──────┘│
│ │
└─────────────────────────────────────────────────────────────────────┘
Triển khai chi tiết: Python WebSocket Client + AI Analysis
Phần quan trọng nhất của hệ thống là client kết nối WebSocket để nhận sự kiện và gửi dữ liệu đến HolySheep AI để phân tích. Dưới đây là implementation hoàn chỉnh:
# whale_monitor.py
Hệ thống giám sát cá voi với AI analysis sử dụng HolySheep
import asyncio
import json
import websockets
import httpx
from datetime import datetime
from typing import Optional, Dict, List
from dataclasses import dataclass, asdict
from enum import Enum
============================================================
CẤU HÌNH - THAY ĐỔI THEO THÔNG TIN CỦA BẠN
============================================================
HOLYSHEEP_CONFIG = {
"base_url": "https://api.holysheep.ai/v1",
"api_key": "YOUR_HOLYSHEEP_API_KEY", # 👈 Thay bằng API key thực của bạn
"model": "deepseek-v3.2", # Chi phí thấp nhất: $0.42/1M tokens
}
Ngưỡng giao dịch để xem là "cá voi" (đơn vị: USD)
WHALE_THRESHOLD_USD = 100_000 # Giao dịch từ $100k trở lên
Danh sách địa chỉ cá voi quan trọng cần theo dõi
WATCHED_ADDRESSES = {
"0x28C6c06298d514Db089934071355E5743bf21d60": "Binance Hot Wallet",
"0x21a31Ee1afC51d94C2efCCa209AdAd2E46D575d1": "Binance Cold Wallet",
"0x0A869d79a7052C7F1b55a8EbA1EAc5cE94cB3e91": "Kraken Hot Wallet",
}
============================================================
DATA CLASSES
============================================================
class TransactionType(Enum):
TRANSFER = "transfer"
SWAP = "swap"
STAKE = "stake"
UNSTAKE = "unstake"
UNKNOWN = "unknown"
@dataclass
class WhaleTransaction:
tx_hash: str
from_address: str
to_address: str
amount_usd: float
token_symbol: str
token_address: str
timestamp: datetime
tx_type: TransactionType
gas_used: int
gas_price_gwei: float
def to_dict(self) -> Dict:
return {
"tx_hash": self.tx_hash,
"from_address": self.from_address,
"to_address": self.to_address,
"amount_usd": self.amount_usd,
"token_symbol": self.token_symbol,
"timestamp": self.timestamp.isoformat(),
"tx_type": self.tx_type.value,
"wallet_label": WATCHED_ADDRESSES.get(self.from_address) or WATCHED_ADDRESSES.get(self.to_address, "Unknown"),
}
@dataclass
class AIAnalysisResult:
sentiment: str # bullish / bearish / neutral
confidence: float
summary: str
recommended_action: str # buy / sell / hold
key_insights: List[str]
analyzed_at: datetime
============================================================
HOLYSHEEP AI CLIENT
============================================================
class HolySheepAIClient:
"""Client tương tác với HolySheep AI API"""
def __init__(self, api_key: str, base_url: str = "https://api.holysheep.ai/v1"):
self.base_url = base_url
self.headers = {
"Authorization": f"Bearer {api_key}",
"Content-Type": "application/json"
}
self.client = httpx.AsyncClient(timeout=30.0)
async def analyze_whale_activity(self, transaction: WhaleTransaction) -> AIAnalysisResult:
"""
Gửi thông tin giao dịch cá voi đến HolySheep AI để phân tích.
Chi phí: ~$0.42/1M tokens với DeepSeek V3.2
"""
prompt = f"""Bạn là chuyên gia phân tích thị trường crypto. Phân tích giao dịch sau:
THÔNG TIN GIAO DỊCH:
- Hash: {transaction.tx_hash}
- Từ: {transaction.from_address} ({transaction.to_dict()['wallet_label']})
- Đến: {transaction.to_address}
- Số lượng: ${transaction.amount_usd:,.2f} USD
- Token: {transaction.token_symbol}
- Thời gian: {transaction.timestamp.strftime('%Y-%m-%d %H:%M:%S')} UTC
- Loại: {transaction.tx_type.value}
YÊU CẦU:
1. Đánh giá sentiment (bullish/bearish/neutral)
2. Đưa ra khuyến nghị hành động (buy/sell/hold)
3. Liệt kê 3 insight quan trọng nhất
4. Đánh giá độ tin cậy (confidence) từ 0-1
Trả lời JSON format:
{{
"sentiment": "bullish/bearish/neutral",
"confidence": 0.0-1.0,
"summary": "tóm tắt 2-3 câu",
"recommended_action": "buy/sell/hold",
"key_insights": ["insight 1", "insight 2", "insight 3"]
}}
"""
payload = {
"model": HOLYSHEEP_CONFIG["model"],
"messages": [
{"role": "system", "content": "Bạn là chuyên gia phân tích thị trường crypto. Luôn trả lời JSON."},
{"role": "user", "content": prompt}
],
"temperature": 0.3,
"max_tokens": 500
}
response = await self.client.post(
f"{self.base_url}/chat/completions",
headers=self.headers,
json=payload
)
if response.status_code != 200:
raise Exception(f"HolySheep API Error: {response.status_code} - {response.text}")
result = response.json()
content = result["choices"][0]["message"]["content"]
# Parse JSON response
analysis = json.loads(content)
return AIAnalysisResult(
sentiment=analysis["sentiment"],
confidence=analysis["confidence"],
summary=analysis["summary"],
recommended_action=analysis["recommended_action"],
key_insights=analysis["key_insights"],
analyzed_at=datetime.utcnow()
)
async def analyze_batch(self, transactions: List[WhaleTransaction]) -> Dict:
"""Phân tích nhiều giao dịch cùng lúc để tối ưu chi phí"""
summary_text = "\n\n".join([
f"Giao dịch {i+1}: {t.tx_hash[:10]}... - ${t.amount_usd:,.2f} {t.token_symbol} - {t.to_dict()['wallet_label']}"
for i, t in enumerate(transactions)
])
prompt = f"""Phân tích tổng hợp {len(transactions)} giao dịch cá voi gần đây:
{summary_text}
Trả lời JSON:
{{
"overall_sentiment": "bullish/bearish/neutral",
"confidence": 0.0-1.0,
"summary": "tóm tắt xu hướng thị trường",
"recommended_action": "buy/sell/hold",
"key_insights": ["insight 1", "insight 2", "insight 3"],
"risk_level": "low/medium/high"
}}
"""
payload = {
"model": HOLYSHEEP_CONFIG["model"],
"messages": [
{"role": "system", "content": "Bạn là chuyên gia phân tích thị trường crypto."},
{"role": "user", "content": prompt}
],
"temperature": 0.3,
"max_tokens": 600
}
response = await self.client.post(
f"{self.base_url}/chat/completions",
headers=self.headers,
json=payload
)
return response.json()
============================================================
WEBSOCKET EVENT LISTENER
============================================================
class WhaleMonitor:
"""Service giám sát giao dịch cá voi qua WebSocket"""
def __init__(self, ai_client: HolySheepAIClient):
self.ai_client = ai_client
self.transaction_buffer: List[WhaleTransaction] = []
self.buffer_size = 10
self.last_analysis_time = datetime.min
async def process_pending_transactions(self, ws_url: str):
"""
Kết nối WebSocket để nhận pending transactions.
Thay đổi ws_url theo blockchain bạn sử dụng (ETH, BSC, Polygon...)
"""
async with websockets.connect(ws_url) as ws:
print(f"✅ Đã kết nối WebSocket: {ws_url}")
while True:
try:
message = await ws.recv()
data = json.loads(message)
# Parse transaction data (format phụ thuộc vào provider)
tx = self._parse_transaction(data)
if tx and tx.amount_usd >= WHALE_THRESHOLD_USD:
print(f"🐋 Phát hiện cá voi: ${tx.amount_usd:,.2f} {tx.token_symbol}")
# Thêm vào buffer để batch processing
self.transaction_buffer.append(tx)
# Khi buffer đầy hoặc cá voi lớn > $1M, xử lý ngay
if len(self.transaction_buffer) >= self.buffer_size or tx.amount_usd > 1_000_000:
await self._process_buffer()
except websockets.exceptions.ConnectionClosed:
print("⚠️ WebSocket disconnected, reconnecting...")
await asyncio.sleep(5)
except Exception as e:
print(f"❌ Error: {e}")
await asyncio.sleep(1)
def _parse_transaction(self, data: Dict) -> Optional[WhaleTransaction]:
"""Parse raw transaction data thành WhaleTransaction object"""
try:
return WhaleTransaction(
tx_hash=data.get("hash", ""),
from_address=data.get("from", "").lower(),
to_address=data.get("to", "").lower(),
amount_usd=float(data.get("value_usd", 0)),
token_symbol=data.get("token_symbol", "ETH"),
token_address=data.get("token_address", ""),
timestamp=datetime.fromisoformat(data.get("timestamp", datetime.utcnow().isoformat())),
tx_type=TransactionType(data.get("type", "transfer")),
gas_used=data.get("gas_used", 0),
gas_price_gwei=float(data.get("gas_price_gwei", 0))
)
except Exception:
return None
async def _process_buffer(self):
"""Xử lý buffer transactions - gọi AI analysis"""
if not self.transaction_buffer:
return
transactions = self.transaction_buffer.copy()
self.transaction_buffer.clear()
print(f"📊 Đang phân tích {len(transactions)} giao dịch với HolySheep AI...")
try:
# Single transaction analysis
for tx in transactions:
result = await self.ai_client.analyze_whale_activity(tx)
self._handle_analysis_result(tx, result)
# Batch analysis để có cái nhìn tổng quát
if len(transactions) > 1:
batch_result = await self.ai_client.analyze_batch(transactions)
print(f"\n📈 BÁO CÁO TỔNG HỢP:")
print(f" Sentiment: {batch_result['overall_sentiment']}")
print(f" Khuyến nghị: {batch_result['recommended_action']}")
print(f" Risk Level: {batch_result['risk_level']}")
except Exception as e:
print(f"❌ Lỗi khi phân tích: {e}")
# Return transactions to buffer for retry
self.transaction_buffer.extend(transactions)
def _handle_analysis_result(self, tx: WhaleTransaction, result: AIAnalysisResult):
"""Xử lý kết quả phân tích - gửi alert, lưu log, v.v."""
emoji = "🟢" if result.sentiment == "bullish" else "🔴" if result.sentiment == "bearish" else "⚪"
print(f"\n{emoji} PHÂN TÍCH GIAO DỊCH: {tx.tx_hash[:15]}...")
print(f" 💰 Số tiền: ${tx.amount_usd:,.2f}")
print(f" 📊 Sentiment: {result.sentiment} (confidence: {result.confidence:.2%})")
print(f" 🎯 Khuyến nghị: {result.recommended_action.upper()}")
print(f" 📝 Tóm tắt: {result.summary}")
print(f" 💡 Insights:")
for insight in result.key_insights:
print(f" - {insight}")
============================================================
MAIN EXECUTION
============================================================
async def main():
print("🚀 KHỞI ĐỘNG HỆ THỐNG GIÁM SÁT CÁ VOI")
print(f" Ngưỡng: ${WHALE_THRESHOLD_USD:,}")
print(f" API: {HOLYSHEEP_CONFIG['base_url']}")
print(f" Model: {HOLYSHEEP_CONFIG['model']}")
print(f" Chi phí ước tính: ~$0.42/1M tokens\n")
# Initialize HolySheep AI client
ai_client = HolySheepAIClient(
api_key=HOLYSHEEP_CONFIG["api_key"],
base_url=HOLYSHEEP_CONFIG["base_url"]
)
# Initialize monitor
monitor = WhaleMonitor(ai_client)
# WebSocket URL cho Ethereum (sử dụng Alchemy hoặc provider khác)
# Thay bằng WebSocket endpoint của bạn
ws_url = "wss://eth-mainnet.g.alchemy.com/v2/YOUR_ALCHEMY_KEY"
# Hoặc sử dụng Etherscan WebSocket
# ws_url = "wss://ws.etherscan.io/ws"
try:
await monitor.process_pending_transactions(ws_url)
except KeyboardInterrupt:
print("\n👋 Shutting down...")
if __name__ == "__main__":
asyncio.run(main())
Triển khai Backend API với FastAPI
Để xây dựng REST API endpoint nhận webhook từ các dịch vụ blockchain monitoring và kích hoạt AI analysis:
# api_whale_monitor.py
FastAPI backend cho Whale Monitoring System
from fastapi import FastAPI, HTTPException, BackgroundTasks, Header, Depends
from fastapi.middleware.cors import CORSMiddleware
from pydantic import BaseModel, Field
from typing import List, Optional, Dict
from datetime import datetime
import httpx
import asyncio
import hashlib
import hmac
============================================================
CẤU HÌNH
============================================================
HOLYSHEEP_CONFIG = {
"base_url": "https://api.holysheep.ai/v1",
"api_key": "YOUR_HOLYSHEEP_API_KEY", # 👈 API Key từ HolySheep
"model": "deepseek-v3.2", # Chi phí: $0.42/1M tokens
}
app = FastAPI(
title="Whale Monitor API",
description="API giám sát và phân tích giao dịch cá voi",
version="1.0.0"
)
app.add_middleware(
CORSMiddleware,
allow_origins=["*"],
allow_credentials=True,
allow_methods=["*"],
allow_headers=["*"],
)
============================================================
MODELS
============================================================
class TransactionInput(BaseModel):
tx_hash: str = Field(..., description="Transaction hash")
from_address: str = Field(..., description="Địa chỉ gửi")
to_address: str = Field(..., description="Địa chỉ nhận")
amount_usd: float = Field(..., description="Giá trị USD")
token_symbol: str = Field(default="ETH", description="Symbol của token")
chain: str = Field(default="ethereum", description="Blockchain name")
timestamp: Optional[datetime] = Field(default_factory=datetime.utcnow)
metadata: Optional[Dict] = Field(default=None, description="Metadata bổ sung")
class WebhookPayload(BaseModel):
event_type: str
data: TransactionInput
signature: Optional[str] = None
class AnalysisRequest(BaseModel):
transactions: List[TransactionInput] = Field(..., min_items=1, max_items=50)
analysis_type: str = Field(default="full", pattern="^(quick|full|detailed)$")
class AnalysisResult(BaseModel):
tx_hash: str
sentiment: str
confidence: float
summary: str
recommended_action: str
key_insights: List[str]
processing_time_ms: float
cost_estimate_usd: float
class BatchAnalysisResponse(BaseModel):
results: List[AnalysisResult]
total_transactions: int
total_cost_usd: float
total_processing_time_ms: float
overall_sentiment: str
overall_recommendation: str
============================================================
HELPER FUNCTIONS
============================================================
async def call_holysheep_ai(prompt: str, model: str = "deepseek-v3.2") -> Dict:
"""Gọi HolySheep AI API"""
payload = {
"model": model,
"messages": [
{"role": "system", "content": "Bạn là chuyên gia phân tích thị trường crypto. Luôn trả lời JSON hợp lệ."},
{"role": "user", "content": prompt}
],
"temperature": 0.3,
"max_tokens": 600
}
headers = {
"Authorization": f"Bearer {HOLYSHEEP_CONFIG['api_key']}",
"Content-Type": "application/json"
}
async with httpx.AsyncClient(timeout=30.0) as client:
response = await client.post(
f"{HOLYSHEEP_CONFIG['base_url']}/chat/completions",
headers=headers,
json=payload
)
if response.status_code != 200:
raise HTTPException(
status_code=response.status_code,
detail=f"HolySheep API Error: {response.text}"
)
return response.json()
def build_analysis_prompt(tx: TransactionInput) -> str:
"""Tạo prompt phân tích cho một giao dịch"""
return f"""Phân tích giao dịch crypto sau:
THÔNG TIN:
- Transaction Hash: {tx.tx_hash}
- Blockchain: {tx.chain}
- Từ: {tx.from_address}
- Đến: {tx.to_address}
- Giá trị: ${tx.amount_usd:,.2f} USD
- Token: {tx.token_symbol}
- Thời gian: {tx.timestamp.strftime('%Y-%m-%d %H:%M:%S')} UTC
{f'- Metadata: {tx.metadata}' if tx.metadata else ''}
Đánh giá:
1. Sentiment (bullish/bearish/neutral)
2. Khuyến nghị hành động (buy/sell/hold)
3. Confidence (0.0-1.0)
4. Tóm tắt ngắn gọn
5. 3 insights quan trọng
JSON response (chỉ JSON, không giải thích):
{{
"sentiment": "bullish|bearish|neutral",
"confidence": 0.0-1.0,
"summary": "...",
"recommended_action": "buy|sell|hold",
"key_insights": ["...", "...", "..."]
}}"""
def build_batch_prompt(transactions: List[TransactionInput]) -> str:
"""Tạo prompt phân tích batch"""
tx_list = "\n".join([
f"{i+1}. {t.tx_hash[:20]}... - ${t.amount_usd:,.2f} {t.token_symbol} - {t.chain}"
for i, t in enumerate(transactions)
])
return f"""Phân tích tổng hợp {len(transactions)} giao dịch cá voi:
DANH SÁCH GIAO DỊCH:
{tx_list}
Phân tích:
1. Overall sentiment
2. Overall recommendation
3. Risk level (low/medium/high)
4. Tóm tắt xu hướng
5. 3 insights quan trọng nhất
JSON response:
{{
"overall_sentiment": "bullish|bearish|neutral",
"overall_recommendation": "buy|sell|hold",
"risk_level": "low|medium|high",
"summary": "...",
"key_insights": ["...", "...", "..."]
}}"""
def estimate_cost(tokens_used: int) -> float:
"""Ước tính chi phí dựa trên số tokens"""
model_prices = {
"gpt-4.1": 8.0, # $8/1M tokens
"claude-sonnet-4.5": 15.0, # $15/1M tokens
"gemini-2.5-flash": 2.50, # $2.50/1M tokens
"deepseek-v3.2": 0.42, # $0.42/1M tokens ← Rẻ nhất!
}
price_per_million = model_prices.get(HOLYSHEEP_CONFIG["model"], 0.42)
return (tokens_used / 1_000_000) * price_per_million
============================================================
API ENDPOINTS
============================================================
@app.get("/")
async def root():
return {
"service": "Whale Monitor API",
"version": "1.0.0",
"holysheep_endpoint": HOLYSHEEP_CONFIG["base_url"],
"model": HOLYSHEEP_CONFIG["model"],
"cost_per_million_tokens": f"${estimate_cost(1_000_000):.2f}"
}
@app.get("/health")
async def health_check():
"""Kiểm tra trạng thái service"""
return {
"status": "healthy",
"holysheep_configured": bool(HOLYSHEEP_CONFIG["api_key"] and HOLYSHEEP_CONFIG["api_key"] != "YOUR_HOLYSHEEP_API_KEY"),
"model": HOLYSHEEP_CONFIG["model"]
}
@app.post("/webhook", response_model=Dict)
async def receive_webhook(
payload: WebhookPayload,
background_tasks: BackgroundTasks
):
"""
Nhận webhook từ dịch vụ blockchain monitoring.
Kích hoạt AI analysis tự động.
"""
if payload.event_type not in ["whale_transaction", "large_transfer", "exchange_deposit", "exchange_withdrawal"]:
raise HTTPException(status_code=400, detail="Unsupported event type")
# Xử lý trong background
background_tasks.add_task(
process_whale_transaction,
payload.data
)
return {
"status": "accepted",
"tx_hash": payload.data.tx_hash,
"message": "Transaction queued for analysis"
}
@app.post("/analyze", response_model=AnalysisResult)
async def analyze_single_transaction(
transaction: TransactionInput
):
"""
Phân tích một giao dịch đơn lẻ với HolySheep AI.
Chi phí ước tính: ~$0.0005 - $0.002 cho mỗi lần phân tích
"""
import time
start_time = time.time()
prompt = build_analysis_prompt(transaction)
response = await call_holysheep_ai(prompt)
content = response["choices"][0]["message"]["content"]
# Clean JSON response (remove markdown code blocks if any)
if content.startswith("```"):
content = content.split("```")[1]
if content.startswith("json"):
content = content[4:]
analysis = eval(content) # Safe vì chúng ta control prompt
processing_time = (time.time() - start_time) * 1000
tokens_used = response.get("usage", {}).get("total_tokens", 500)
cost = estimate_cost(tokens_used)
return AnalysisResult(
tx_hash=transaction.tx_hash,
sentiment=analysis["sentiment"],
confidence=analysis["confidence"],
summary=analysis["summary"],
recommended_action=analysis["recommended_action"],
key_insights=analysis["key_insights"],
processing_time_ms=round(processing_time, 2),
cost_estimate_usd=round(cost, 4)
)
@app.post("/analyze/batch", response_model=BatchAnalysisResponse)
async def analyze_batch_transactions(
request: AnalysisRequest
):
"""
Phân tích nhiều giao dịch cùng lúc.
Tối ưu chi phí bằng batch processing.
Chi phí: ~$0.42/1M tokens với DeepSeek V3.2
"""
import time
start_time = time.time()
if request.analysis_type == "quick":
# Chỉ phân tích tổng hợp, không phân tích từng giao dịch
prompt = build_batch_prompt(request.transactions)
response = await call_holysheep_ai(prompt)
content = response["choices"][0]["message"]["content"]
if content.startswith("```"):
content = content.split("```")[1]
if content.startswith("json"):
content = content[4:]
batch_analysis = eval(content)
return BatchAnalysisResponse(
results=[],
total_transactions=len(request.transactions),
total_cost_usd=estimate_cost(response.get("usage", {}).get("total_tokens", 800)),
total_processing_time_ms=round((time.time() - start_time) * 1000, 2),
overall_sentiment=batch_analysis["overall_sentiment"],
overall_recommendation=batch_analysis["overall_recommendation"]
)
else:
# Full analysis: phân tích từng giao dịch + batch
results = []
total_cost = 0
# Process concurrent để tối ưu thời gian
tasks = [analyze_single_transaction(tx) for tx in request.transactions]
results = await asyncio.gather(*tasks)
total_cost