mirror of
https://github.com/Xe138/AI-Trader.git
synced 2026-04-01 17:17:24 -04:00
support multi url and key
This commit is contained in:
@@ -66,6 +66,7 @@ class BaseAgent:
|
||||
max_retries: int = 3,
|
||||
base_delay: float = 0.5,
|
||||
openai_base_url: Optional[str] = None,
|
||||
openai_api_key: Optional[str] = None,
|
||||
initial_cash: float = 10000.0,
|
||||
init_date: str = "2025-10-13"
|
||||
):
|
||||
@@ -82,6 +83,7 @@ class BaseAgent:
|
||||
max_retries: Maximum retry attempts
|
||||
base_delay: Base delay time for retries
|
||||
openai_base_url: OpenAI API base URL
|
||||
openai_api_key: OpenAI API key
|
||||
initial_cash: Initial cash amount
|
||||
init_date: Initialization date
|
||||
"""
|
||||
@@ -101,7 +103,14 @@ class BaseAgent:
|
||||
self.base_log_path = log_path or "./data/agent_data"
|
||||
|
||||
# Set OpenAI configuration
|
||||
self.openai_base_url = openai_base_url or os.getenv("OPENAI_API_BASE")
|
||||
if openai_base_url==None:
|
||||
self.openai_base_url = os.getenv("OPENAI_API_BASE")
|
||||
else:
|
||||
self.openai_base_url = openai_base_url
|
||||
if openai_api_key==None:
|
||||
self.openai_api_key = os.getenv("OPENAI_API_KEY")
|
||||
else:
|
||||
self.openai_api_key = openai_api_key
|
||||
|
||||
# Initialize components
|
||||
self.client: Optional[MultiServerMCPClient] = None
|
||||
@@ -149,6 +158,7 @@ class BaseAgent:
|
||||
self.model = ChatOpenAI(
|
||||
model=self.basemodel,
|
||||
base_url=self.openai_base_url,
|
||||
api_key=self.openai_api_key,
|
||||
max_retries=3,
|
||||
timeout=30
|
||||
)
|
||||
|
||||
@@ -7,9 +7,11 @@
|
||||
"models": [
|
||||
{
|
||||
"name": "claude-3.7-sonnet",
|
||||
"basemodel": "anthropic/claude-3.7-sonnet",
|
||||
"basemodel": "anthropic/claude-3.7-sonnet",
|
||||
"signature": "claude-3.7-sonnet",
|
||||
"enabled": false
|
||||
"enabled": false,
|
||||
"openai_base_url": "Optional: YOUR_OPENAI_BASE_URL,you can write them in .env file",
|
||||
"openai_api_key": "Optional: YOUR_OPENAI_API_KEY,you can write them in .env file"
|
||||
},
|
||||
{
|
||||
"name": "deepseek-chat-v3.1",
|
||||
|
||||
6
main.py
6
main.py
@@ -155,7 +155,9 @@ async def main(config_path=None):
|
||||
model_name = model_config.get("name", "unknown")
|
||||
basemodel = model_config.get("basemodel")
|
||||
signature = model_config.get("signature")
|
||||
|
||||
openai_base_url = model_config.get("openai_base_url",None)
|
||||
openai_api_key = model_config.get("openai_api_key",None)
|
||||
|
||||
# Validate required fields
|
||||
if not basemodel:
|
||||
print(f"❌ Model {model_name} missing basemodel field")
|
||||
@@ -185,6 +187,8 @@ async def main(config_path=None):
|
||||
basemodel=basemodel,
|
||||
stock_symbols=all_nasdaq_100_symbols,
|
||||
log_path=log_path,
|
||||
openai_base_url=openai_base_url,
|
||||
openai_api_key=openai_api_key,
|
||||
max_steps=max_steps,
|
||||
max_retries=max_retries,
|
||||
base_delay=base_delay,
|
||||
|
||||
Reference in New Issue
Block a user