Skip to content

Commit e6db60e

Browse files
adambaloghbalogh.adam@icloud.com
andauthored
Better agent model (#130)
* better agent * messages --------- Co-authored-by: balogh.adam@icloud.com <adambalogh@mac.mynetworksettings.com>
1 parent 92c43c0 commit e6db60e

4 files changed

Lines changed: 22 additions & 26 deletions

File tree

agent/agent_executors.py

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -60,9 +60,8 @@
6060
# OpenRouter LLM Configuration
6161
##
6262

63-
GOOGLE_GEMINI_20_FLASH_MODEL = (
64-
"gemini-2.5-flash"
65-
)
63+
GOOGLE_GEMINI_25_PRO_MODEL = "gemini-2.5-pro"
64+
GOOGLE_GEMINI_25_FLASH_MODEL = "gemini-2.5-flash"
6665
GROK_MODEL = "x-ai/grok-2-1212" # $2/M input tokens; $10/M output tokens
6766

6867
x402_http_client = x402HttpxClientv2(
@@ -75,8 +74,8 @@
7574
)
7675

7776
# Select model based on configuration
78-
SUGGESTIONS_MODEL = GOOGLE_GEMINI_20_FLASH_MODEL
79-
REASONING_MODEL = GOOGLE_GEMINI_20_FLASH_MODEL
77+
SUGGESTIONS_MODEL = GOOGLE_GEMINI_25_FLASH_MODEL
78+
REASONING_MODEL = GOOGLE_GEMINI_25_PRO_MODEL
8079

8180

8281
def create_suggestions_model() -> BaseChatModel:
@@ -95,13 +94,13 @@ def create_suggestions_model() -> BaseChatModel:
9594
def create_investor_executor() -> any:
9695
openai_model = ChatOpenAI(
9796
model=REASONING_MODEL,
98-
temperature=0.0,
97+
temperature=0.1,
9998
api_key=config.DUMMY_X402_API_KEY,
10099
http_async_client=x402_http_client,
101100
stream_usage=True,
102101
streaming=True,
103102
base_url=config.LLM_SERVER_URL,
104-
max_tokens=4096,
103+
max_tokens=16384,
105104
)
106105

107106
agent_executor = create_react_agent(
@@ -117,8 +116,8 @@ def create_analytics_executor(
117116
) -> any:
118117
openai_model = ChatOpenAI(
119118
model=REASONING_MODEL,
120-
temperature=0.0,
121-
max_tokens=4096,
119+
temperature=0.1,
120+
max_tokens=16384,
122121
api_key=config.DUMMY_X402_API_KEY,
123122
http_async_client=x402_http_client,
124123
stream_usage=True,

server/activity_tracker.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ class ActivityStats:
2222
class PointsConfig:
2323
POINTS_PER_MESSAGE = 0
2424
POINTS_PER_SUCCESSFUL_INVITE = 0
25-
DAILY_MESSAGE_LIMIT = 30
25+
DAILY_MESSAGE_LIMIT = 20
2626

2727

2828
class ActivityTracker:

server/fastapi_server.py

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
from fastapi.responses import JSONResponse, FileResponse
1111
from pydantic import ValidationError
1212
from langchain_core.runnables.config import RunnableConfig
13+
from langchain_core.messages import SystemMessage, HumanMessage, AIMessage
1314
from datadog import initialize, statsd
1415
import aiohttp
1516

@@ -574,9 +575,9 @@ async def handle_investor_chat_request(
574575

575576
# Create messages for investor agent
576577
investor_messages = [
577-
("system", investor_system_prompt),
578+
SystemMessage(content=investor_system_prompt),
578579
*message_history,
579-
("user", request.message.message),
580+
HumanMessage(content=request.message.message),
580581
]
581582

582583
# Create config for the agent
@@ -677,7 +678,7 @@ async def run_main_agent(
677678
raise
678679

679680

680-
def convert_to_agent_message_history(messages: List[Message]) -> List[Tuple[str, str]]:
681+
def convert_to_agent_message_history(messages: List[Message]) -> List:
681682
# Get the last NUM_MESSAGES_TO_KEEP messages
682683
recent_messages = messages[-NUM_MESSAGES_TO_KEEP:]
683684

@@ -692,8 +693,8 @@ def convert_to_agent_message_history(messages: List[Message]) -> List[Tuple[str,
692693
convert_to_agent_msg(recent_messages[-1], truncate=False)
693694
)
694695

695-
for _, message in converted_messages:
696-
if not message:
696+
for msg in converted_messages:
697+
if not msg.content:
697698
logging.error(
698699
f"Empty message.\nOriginal: {messages}\nConverted: {converted_messages}"
699700
)
@@ -721,9 +722,9 @@ async def handle_analytics_chat_request(
721722

722723
# Create messages for analytics agent
723724
analytics_messages = [
724-
("system", analytics_system_prompt),
725+
SystemMessage(content=analytics_system_prompt),
725726
*message_history,
726-
("user", request.message.message),
727+
HumanMessage(content=request.message.message),
727728
]
728729

729730
# Create config for the agent

server/utils.py

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,22 @@
1-
from typing import Tuple, List
1+
from typing import Tuple, List, Union
22
import re
33
import json
44

5+
from langchain_core.messages import HumanMessage, AIMessage, BaseMessage
56
from api.api_types import Message, UserMessage, AgentMessage
67

78

89
def convert_to_agent_msg(
910
message: Message, truncate=False, max_length=800
10-
) -> Tuple[str, str]:
11+
) -> BaseMessage:
1112
if isinstance(message, UserMessage):
12-
return ("user", message.message)
13+
return HumanMessage(content=message.message)
1314
elif isinstance(message, AgentMessage):
1415
if truncate and len(message.message) > max_length:
1516
message_to_return = message.message[:max_length] + "... [truncated]"
1617
else:
1718
message_to_return = message.message
1819

19-
# if len(message.pools) > 0:
20-
# message_to_return += "\n"
21-
# for pool in message.pools:
22-
# message_to_return += f"```pool:{pool.id}```\n"
23-
2420
if len(message.tokens) > 0:
2521
message_to_return += "\nTokens:\n"
2622
token_strings = []
@@ -36,7 +32,7 @@ def convert_to_agent_msg(
3632
token_strings.append(json.dumps(token_dict))
3733
message_to_return += "\n- ".join(token_strings)
3834

39-
return ("assistant", message_to_return)
35+
return AIMessage(content=message_to_return)
4036

4137

4238
def extract_patterns(

0 commit comments

Comments
 (0)