@@ -30,7 +30,7 @@ public async Task<Agent> CreateAgent(Agent agent)
3030 var userService = _services . GetRequiredService < IUserService > ( ) ;
3131 var auth = await userService . GetUserAuthorizations ( ) ;
3232
33- await _db . BulkInsertAgents ( new List < Agent > { agentRecord } ) ;
33+ await _db . BulkInsertAgents ( [ agentRecord ] ) ;
3434 if ( auth . IsAdmin || auth . Permissions . Contains ( UserPermission . CreateAgent ) )
3535 {
3636 await _db . BulkInsertUserAgents ( new List < UserAgent >
@@ -39,7 +39,7 @@ await _db.BulkInsertUserAgents(new List<UserAgent>
3939 {
4040 UserId = user . Id ,
4141 AgentId = agentRecord . Id ,
42- Actions = new List < string > { UserAction . Edit , UserAction . Train , UserAction . Evaluate , UserAction . Chat } ,
42+ Actions = [ UserAction . Edit , UserAction . Train , UserAction . Evaluate , UserAction . Chat ] ,
4343 CreatedTime = DateTime . UtcNow ,
4444 UpdatedTime = DateTime . UtcNow
4545 }
@@ -98,20 +98,51 @@ private List<AgentTemplate> GetTemplatesFromFile(string fileDir)
9898 var templateDir = Path . Combine ( fileDir , "templates" ) ;
9999 if ( ! Directory . Exists ( templateDir ) ) return templates ;
100100
101+ // Load template configs
102+ var configs = GetAgentTemplateConfigs ( fileDir ) ;
103+
101104 foreach ( var file in Directory . GetFiles ( templateDir ) )
102105 {
103106 var extension = Path . GetExtension ( file ) . Substring ( 1 ) ;
104107 if ( extension . IsEqualTo ( _agentSettings . TemplateFormat ) )
105108 {
106109 var name = Path . GetFileNameWithoutExtension ( file ) ;
107110 var content = File . ReadAllText ( file ) ;
108- templates . Add ( new AgentTemplate ( name , content ) ) ;
111+ var template = new AgentTemplate ( name , content ) ;
112+ var config = configs . FirstOrDefault ( x => x . Name . IsEqualTo ( name ) ) ;
113+ if ( config != null )
114+ {
115+ template . ResponseFormat = config . ResponseFormat ;
116+ template . LlmConfig = config . LlmConfig ;
117+ }
118+ templates . Add ( template ) ;
109119 }
110120 }
111-
121+
112122 return templates ;
113123 }
114124
125+ private IEnumerable < AgentTemplateConfig > GetAgentTemplateConfigs ( string baseDir )
126+ {
127+ var configFile = Path . Combine ( baseDir , "template_configs.json" ) ;
128+ var configs = new List < AgentTemplateConfig > ( ) ;
129+
130+ try
131+ {
132+ if ( File . Exists ( configFile ) )
133+ {
134+ var configJson = File . ReadAllText ( configFile ) ;
135+ configs = JsonSerializer . Deserialize < List < AgentTemplateConfig > > ( configJson , _options . JsonSerializerOptions ) ?? [ ] ;
136+ }
137+ return configs ;
138+ }
139+ catch ( Exception ex )
140+ {
141+ _logger . LogError ( ex , "Error when loading template configs in {configFile}" , configFile ) ;
142+ return configs ;
143+ }
144+ }
145+
115146 private List < FunctionDef > GetFunctionsFromFile ( string fileDir )
116147 {
117148 var functions = new List < FunctionDef > ( ) ;
0 commit comments