default_prompt_endpoint: "127.0.0.1" load_balancing: "round_robin" timeout_ms: 5000 overrides: # confidence threshold for prompt target intent matching prompt_target_intent_matching_threshold: 0.7 llm_providers: - name: open-ai-gpt-4 api_key: $OPEN_AI_API_KEY model: gpt-4 default: true prompt_targets: - type: function_resolver name: top_employees description: | Allows you to find the top employees in different groups, such as departments, locations, or position. You can rank the employees by different criteria, like salary, yoe, or rating. Returns the best-ranked employees for each group, helping you identify top n in the list. parameters: - name: grouping description: | Select how you'd like to group the employees. For example, you can group them by department, location, or their position. The tool will provide the top-ranked employees within each group you choose. required: true type: string enum: [department, location, position] - name: ranking_criteria required: true type: string description: | Choose how you'd like to rank the employees. You can rank them by their salary, their years of experience, or their rating. The tool will sort the employees based on this ranking and return the best ones from each group. enum: [salary, years_of_experience, performance_score] - name: top_n required: true type: integer description: | Enter how many of the top employees you want to see in each group. For example, if you enter 3, the tool will show you the top 3 employees for each group you selected. endpoint: cluster: api_server path: /top_employees system_prompt: | You are responsible for retrieving the top N employees per group ranked by a constraint. - type: function_resolver name: aggregate_stats description: | Calculate summary statistics for groups of employees. You can group employees by categories like department or location and then compute totals, averages, or other statistics for specific attributes such as salary or years of experience. parameters: - name: grouping description: | Choose how you'd like to organize the employees. For example, you can group them by department, location, or position. The tool will calculate the summary statistics for each group. required: true enum: [department, location, position] - name: aggregate_criteria description: | Select the specific attribute you'd like to analyze. This could be something like salary, years of experience, or rating. The tool will calculate the statistic you request for this attribute. required: true enum: [salary, years_of_experience, performance_score] - name: aggregate_type description: | Choose the type of statistic you'd like to calculate for the selected attribute. For example, you can calculate the sum, average, minimum, or maximum value for each group. required: true enum: [SUM, AVG, MIN, MAX] endpoint: cluster: api_server path: /aggregate_stats system_prompt: | You help calculate summary statistics for groups of employees. First, organize the employees by the specified grouping (e.g., department, location, or position). Then, compute the requested statistic (e.g., total, average, minimum, or maximum) for a specific attribute like salary, experience, or rating. # 1. Top Employees by Performance, Projects, and Timeframe - type: function_resolver name: employees_projects description: | Fetch employees with the highest performance scores, considering their project participation and years of experience. You can filter by minimum performance score, years of experience, and department. Optionally, you can also filter by recent project participation within the last Y months. parameters: - name: min_performance_score description: Minimum performance score to filter employees. required: true type: float - name: min_years_experience description: Minimum years of experience to filter employees. required: true type: integer - name: department description: Department to filter employees by. required: true type: string - name: min_project_count description: Minimum number of projects employees participated in (optional). required: false type: integer - name: months_range description: Timeframe (in months) for filtering recent projects (optional). required: false type: integer endpoint: cluster: api_server path: /employees_projects system_prompt: | You are responsible for retrieving the top N employees ranked by performance and project participation. Use filters for experience and optional project criteria. # 2. Employees with Salary Growth Since Last Promotion - type: function_resolver name: salary_growth description: | Fetch employees with the highest salary growth since their last promotion, grouped by department. You can filter by a minimum salary increase percentage and department. parameters: - name: min_salary_increase_percentage description: Minimum percentage increase in salary since the last promotion. required: true type: float - name: department description: Department to filter employees by (optional). required: false type: string endpoint: cluster: api_server path: /salary_growth system_prompt: | You are responsible for retrieving employees with the highest salary growth since their last promotion. Filter by minimum salary increase percentage and department. # 4. Employees with Promotions and Salary Increases by Year - type: function_resolver name: promotions_increases description: | Fetch employees who were promoted and received a salary increase in a specific year, grouped by department. You can optionally filter by minimum percentage salary increase and department. parameters: - name: year description: The year in which the promotion and salary increase occurred. required: true type: integer - name: min_salary_increase_percentage description: Minimum percentage salary increase to filter employees. required: false type: float - name: department description: Department to filter by (optional). required: false type: string endpoint: cluster: api_server path: /promotions_increases system_prompt: | You are responsible for fetching employees who were promoted and received a salary increase in a specific year. Apply filters for salary increase percentage and department. # 5. Employees with Highest Average Project Performance - type: function_resolver name: project_performance description: | Fetch employees with the highest average performance across all projects they have worked on over time. You can filter by minimum project count, department, and minimum performance score. parameters: - name: min_project_count description: Minimum number of projects an employee must have participated in. required: true type: integer - name: min_performance_score description: Minimum performance score to filter employees. required: true type: float default: 4.0 - name: department description: Department to filter by (optional). required: false type: string endpoint: cluster: api_server path: /project_performance system_prompt: | You are responsible for fetching employees with the highest average performance across all projects they’ve worked on. Apply filters for minimum project count, performance score, and department. # 6. Employees by Certification and Years of Experience - type: function_resolver name: certifications_experience description: | Fetch employees who have all the required certifications and meet the minimum years of experience. You can filter by department and provide a list of certifications to match. parameters: - name: certifications description: List of required certifications. required: true type: list - name: min_years_experience description: Minimum years of experience. required: true type: integer - name: department description: Department to filter employees by (optional). required: false type: string default: "Engineering" endpoint: cluster: api_server path: /certifications_experience system_prompt: | You are responsible for fetching employees who have the required certifications and meet the minimum years of experience. Optionally, filter by department.