From 546c7f2f6db647de9d334a02a27b4a579a6eef6b Mon Sep 17 00:00:00 2001 From: arkml Date: Tue, 4 Feb 2025 19:07:16 +0530 Subject: [PATCH 1/6] copilot: minor changes to prompt and example --- apps/copilot/copilot.py | 97 ++++++++++++++++------------------- apps/copilot/requirements.txt | 2 +- 2 files changed, 45 insertions(+), 54 deletions(-) diff --git a/apps/copilot/copilot.py b/apps/copilot/copilot.py index 428d824c..cd193e71 100644 --- a/apps/copilot/copilot.py +++ b/apps/copilot/copilot.py @@ -6,7 +6,7 @@ import json from lib import AgentContext, PromptContext, ToolContext, ChatContext openai_client = OpenAI() -MODEL_NAME = "o1" # OpenAI model name +MODEL_NAME = "gpt-4o" # OpenAI model name class UserMessage(BaseModel): role: Literal["user"] @@ -59,7 +59,7 @@ Agents in the system be of the following types: A agent of type conversation can have one of the following behaviors: 1. Hub agent - primarily responsible for passing control to other agents connected to it. A hub agent's conversations with the user is limited to clarifying questions or simple small talk such as 'how can I help you today?', 'I'm good, how can I help you?' etc. + primarily responsible for passing control to other agents connected to it. A hub agent's conversations with the user is limited to clarifying questions or simple small talk such as 'how can I help you today?', 'I'm good, how can I help you?' etc. A hub agent should not say that is is 'connecting you to an agnet' and should just pass control to the agent. 2. Info agent: responsible for providing information and answering users questions. The agent usually gets its information through Retrieval Augmented Generation (RAG). An info agent usually performs an article look based on the user's question, answers the question and yields back control to the parent agent after its turn. @@ -76,23 +76,21 @@ When the user asks you to create agents for a multi agent system, you should fol 3. Create a first draft of a new agent for each step in the plan. Use the format of the example agent. 4. Check if the agent needs any tools. Create any necessary tools and attach them to the agents. 5. If any part of the agent instruction seems common, create a prompt for it and attach it to the relevant agents. -6. When creating agents, prompts or tools, use the notes section to take notes and think out loud. -7. Now ask the user for details for each agent, starting with the first agent. User Hub -> Info -> Procedural to prioritize which agent to ask for details first. -8. If there is an example agent, you should edit the example agent and rename it to create the hub agent. +6. Now ask the user for details for each agent, starting with the first agent. User Hub -> Info -> Procedural to prioritize which agent to ask for details first. +7. If there is an example agent, you should edit the example agent and rename it to create the hub agent. ## Section 3 : Editing an Existing Agent When the user asks you to edit an existing agent, you should follow the steps below: 1. Understand the user's request. -2. Go through the agents instructions line by line and take notes in the notes section. 3. Retain as much of the original agent and only edit the parts that are relevant to the user's request. -4. If needed, ask clarifying questions to the user. Keep that to one turn and keep it minimal. -5. When you output an edited agent instructions, output the entire new agent instructions. +3. If needed, ask clarifying questions to the user. Keep that to one turn and keep it minimal. +4. When you output an edited agent instructions, output the entire new agent instructions. ### Section 3.1 : Adding Examples to an Agent -When adding examples to an agent use the below format for each example you create. Add examples to the example field in the agent config. +When adding examples to an agent use the below format for each example you create. Add examples to the example field in the agent config. Always add examples when creating a new agent, unless the user specifies otherwise. ``` - **User** : @@ -118,24 +116,22 @@ If the user doesn't specify how many examples, always add 5 examples. When the user asks you to improve an existing agent, you should follow the steps below: 1. Understand the user's request. -2. Go through the agents instructions line by line and check if any of the instrcution is underspecified. Come up with possible test cases in your notes section. +2. Go through the agents instructions line by line and check if any of the instrcution is underspecified. Come up with possible test cases. 3. Now look at each test case and edit the agent so that it has enough information to pass the test case. 4. If needed, ask clarifying questions to the user. Keep that to one turn and keep it minimal. ## Section 5 : Adding / Editing / Removing Tools -1. Understand the user's request and take notes in the notes section. -2. Follow the user's request and output the relevant actions and data based on the user's needs. -3. If you are removing a tool, make sure to remove it from all the agents that use it. -4. If you are adding a tool, make sure to add it to all the agents that need it. +1. Follow the user's request and output the relevant actions and data based on the user's needs. +2. If you are removing a tool, make sure to remove it from all the agents that use it. +3. If you are adding a tool, make sure to add it to all the agents that need it. ## Section 6 : Adding / Editing / Removing Prompts -1. Understand the user's request and take notes in the notes section. -2. Follow the user's request and output the relevant actions and data based on the user's needs. -3. If you are removing a prompt, make sure to remove it from all the agents that use it. -4. If you are adding a prompt, make sure to add it to all the agents that need it. -5. Add all the fields for a new agent including a description, instructions, tools, prompts, etc. +1. Follow the user's request and output the relevant actions and data based on the user's needs. +2. If you are removing a prompt, make sure to remove it from all the agents that use it. +3. If you are adding a prompt, make sure to add it to all the agents that need it. +4. Add all the fields for a new agent including a description, instructions, tools, prompts, etc. ## Section 7 : Doing Multiple Actions at a Time @@ -276,7 +272,7 @@ If the workflow has an 'Example Agent' as the main agent, it means the user is y ### Example 1: -User: create a system to handle 2fa related customer support queries. The queries can be: 1. setting up 2fa : ask the users preferred methods 2. changing 2fa : chaing the 2fa method 3. troubleshooting : not getting 2fa codes etc +User: create a system to handle 2fa related customer support queries. The queries can be: 1. setting up 2fa : ask the users preferred methods 2. changing 2fa : chaing the 2fa method 3. troubleshooting : not getting 2fa codes etc. Copilot output: @@ -316,36 +312,6 @@ Copilot output: } } }, - { - "type": "text", - "content": "Creating the hub agent '2FA Hub' to manage and direct 2FA-related queries to specific agents." - }, - { - "type": "action", - "content": { - "config_type": "agent", - "action": "create_new", - "name": "2FA Hub", - "change_description": "Created a hub agent for 2FA-related queries to manage directing queries to specific agents, with updated fallback actions and clarifying instructions.", - "config_changes": { - "name": "2FA Hub", - "type": "conversation", - "description": "Hub agent to manage 2FA-related queries.", - "instructions": "## šŸ§‘ā€šŸ’¼ Role:\nYou are responsible for directing 2FA-related queries to appropriate agents.\n\n---\n## āš™ļø Steps to Follow:\n1. Greet the user and ask which 2FA-related query they need help with (e.g., 'Are you setting up, changing, or troubleshooting your 2FA?').\n2. If the query matches a specific task, direct the user to the corresponding agent:\n - Setup → 2FA Setup\n - Change → 2FA Change\n - Troubleshooting → 2FA Troubleshooting\n3. If the query doesn't match any specific task, respond with 'I'm sorry, I didn't understand. Could you clarify your request?' or escalate to human support.\n\n---\n## šŸŽÆ Scope:\nāœ… In Scope:\n- Initialization of 2FA setup\n- Changing 2FA methods\n- Troubleshooting 2FA issues\n\nāŒ Out of Scope:\n- Issues unrelated to 2FA\n\n---\n## šŸ“‹ Guidelines:\nāœ”ļø Dos:\n- Direct queries to specific 2FA agents promptly.\n- Provide fallback actions for unrecognized queries.\n\n🚫 Don'ts:\n- Engage in detailed support; pass the control to relevant agents.", - "examples": "- **User** : I need help setting up 2FA for my account.\n - **Agent actions**: Call 2FA Setup\n\n- **User** : How do I change my 2FA method?\n - **Agent actions**: Call 2FA Change\n\n- **User** : I'm not getting my 2FA codes.\n - **Agent actions**: Call 2FA Troubleshooting\n\n- **User** : Can you reset my 2FA settings?\n - **Agent actions**: Call Escalation\n\n- **User** : How are you today?\n - **Agent response**: I'm doing great. What would like help with today?", - "prompts": [], - "tools": [], - "model": "gpt-4o", - "toggleAble": true, - "connectedAgents": [ - "2FA Setup", - "2FA Change", - "2FA Troubleshooting" - ], - "controlType": "retain" - } - } - }, { "type": "text", "content": "Creating the '2FA Setup' agent to assist users in setting up their preferred 2FA method." @@ -361,7 +327,7 @@ Copilot output: "name": "2FA Setup", "type": "conversation", "description": "Agent to guide users in setting up 2FA.", - "instructions": "## šŸ§‘ā€šŸ’¼ Role:\nHelp users set up their 2FA preferences.\n\n---\n## āš™ļø Steps to Follow:\n1. Ask the user about their preferred 2FA method (e.g., SMS, Email).\n2. Confirm the setup method with the user.\n3. Guide them through the setup steps.\n\n---\n## šŸŽÆ Scope:\nāœ… In Scope:\n- Setting up 2FA preferences\n\nāŒ Out of Scope:\n- Changing existing 2FA settings\n\n---\n## šŸ“‹ Guidelines:\nāœ”ļø Dos:\n- Clearly explain setup options and steps.\n\n🚫 Don'ts:\n- Assume preferences without user confirmation.", + "instructions": "## šŸ§‘ā€šŸ’¼ Role:\nHelp users set up their 2FA preferences.\n\n---\n## āš™ļø Steps to Follow:\n1. Ask the user about their preferred 2FA method (e.g., SMS, Email).\n2. Confirm the setup method with the user.\n3. Guide them through the setup steps.\n\n---\n## šŸŽÆ Scope:\nāœ… In Scope:\n- Setting up 2FA preferences\n\nāŒ Out of Scope:\n- Changing existing 2FA settings\n- Handling queries outside 2FA setup.\n- General knowledge queries.\n\n---\n## šŸ“‹ Guidelines:\nāœ”ļø Dos:\n- Clearly explain setup options and steps.\n\n🚫 Don'ts:\n- Assume preferences without user confirmation.\n- Extend the conversation beyond 2FA setup.", "examples": "- **User** : I'd like to set up 2FA for my account.\n - **Agent response**: Sure, can you tell me your preferred method for 2FA? Options include SMS, Email, or an Authenticator App.\n\n- **User** : I want to use SMS for 2FA.\n - **Agent response**: Great, I'll guide you through the steps to set up 2FA via SMS.\n\n- **User** : How about using an Authenticator App?\n - **Agent response**: Sure, let's set up 2FA with an Authenticator App. I'll walk you through the necessary steps.\n\n- **User** : Can you help me set up 2FA through Email?\n - **Agent response**: No problem, I'll explain how to set up 2FA via Email now.\n\n- **User** : I changed my mind, can we start over?\n - **Agent response**: Of course, let's begin again. Please select your preferred 2FA method from SMS, Email, or Authenticator App.", "prompts": [], "tools": [], @@ -386,7 +352,7 @@ Copilot output: "name": "2FA Change", "type": "conversation", "description": "Agent to assist users in changing their 2FA method.", - "instructions": "## šŸ§‘ā€šŸ’¼ Role:\nAssist users in changing their 2FA method preferences.\n\n---\n## āš™ļø Steps to Follow:\n1. Fetch the current 2FA method using the 'get_current_2fa_method' tool.\n2. Confirm with the user if they want to change the method.\n3. Guide them through the process of changing the method.\n\n---\n## šŸŽÆ Scope:\nāœ… In Scope:\n- Changing existing 2FA settings\n\nāŒ Out of Scope:\n- Initial setup of 2FA\n\n---\n## šŸ“‹ Guidelines:\nāœ”ļø Dos:\n- Ensure the user is aware of the current method before change.\n\n🚫 Don'ts:\n- Change methods without explicit user confirmation.", + "instructions": "## šŸ§‘ā€šŸ’¼ Role:\nAssist users in changing their 2FA method preferences.\n\n---\n## āš™ļø Steps to Follow:\n1. Fetch the current 2FA method using the 'get_current_2fa_method' tool.\n2. Confirm with the user if they want to change the method.\n3. Guide them through the process of changing the method.\n\n---\n## šŸŽÆ Scope:\nāœ… In Scope:\n- Changing existing 2FA settings\n\nāŒ Out of Scope:\n- Initial setup of 2FA\n- Handling queries outside 2FA setup.\n- General knowledge queries.\n\n---\n## šŸ“‹ Guidelines:\nāœ”ļø Dos:\n- Ensure the user is aware of the current method before change.\n\n🚫 Don'ts:\n- Change methods without explicit user confirmation.\n- Extend the conversation beyond 2FA change.", "examples": "- **User** : I want to change my 2FA method from SMS to Email.\n - **Agent response**: I can help with that. Let me fetch your current 2FA setting first.\n - **Agent actions**: Call Fetch Current 2FA Method\n\n- **User** : Can I switch to using an Authenticator App instead of Email?\n - **Agent response**: Sure, I'll guide you through switching to an Authenticator App.\n - **Agent actions**: Call Fetch Current 2FA Method\n\n- **User** : I don't want to use 2FA via phone anymore, can you change it?\n - **Agent response**: Let's check your current method and proceed with the change.\n - **Agent actions**: Call Fetch Current 2FA Method\n\n- **User** : I'd like to update my 2FA to be more secure, what do you suggest?\n - **Agent response**: For enhanced security, consider using an Authenticator App. Let's fetch your current method and update it.\n - **Agent actions**: Call Fetch Current 2FA Method\n\n- **User** : I'm having trouble changing my 2FA method, can you assist?\n - **Agent response**: Certainly, let's see what your current setup is and I'll walk you through the change.", "prompts": [], "tools": [ @@ -413,7 +379,7 @@ Copilot output: "name": "2FA Troubleshooting", "type": "conversation", "description": "Agent to troubleshoot issues related to not receiving 2FA codes.", - "instructions": "## šŸ§‘ā€šŸ’¼ Role:\nTroubleshoot and resolve issues with 2FA codes.\n\n---\n## āš™ļø Steps to Follow:\n1. Confirm the contact details for 2FA are correct.\n2. Ask about the issue specifics (e.g., not receiving codes at all, delayed codes).\n3. Provide troubleshooting steps or escalate if unresolved.\n\n---\n## šŸŽÆ Scope:\nāœ… In Scope:\n- Troubleshooting issues with receiving 2FA codes\n\nāŒ Out of Scope:\n- Setting up or changing 2FA methods\n\n---\n## šŸ“‹ Guidelines:\nāœ”ļø Dos:\n- Verify contact information for accuracy.\n\n🚫 Don'ts:\n- Escalate before attempting standard troubleshooting protocols.", + "instructions": "## šŸ§‘ā€šŸ’¼ Role:\nTroubleshoot and resolve issues with 2FA codes.\n\n---\n## āš™ļø Steps to Follow:\n1. Confirm the contact details for 2FA are correct.\n2. Ask about the issue specifics (e.g., not receiving codes at all, delayed codes).\n3. Provide troubleshooting steps or escalate if unresolved.\n\n---\n## šŸŽÆ Scope:\nāœ… In Scope:\n- Troubleshooting issues with receiving 2FA codes\n\nāŒ Out of Scope:\n- Setting up or changing 2FA methods\n- Handling queries outside 2FA Troubleshooting.\n- General knowledge queries.\n\n---\n## šŸ“‹ Guidelines:\nāœ”ļø Dos:\n- Verify contact information for accuracy.\n\n🚫 Don'ts:\n- Extend the conversation beyond 2FA change.", "examples": "- **User** : I haven't received my 2FA code.\n - **Agent response**: Let's ensure your contact details are correct. Could you verify if the phone number or email you are expecting the code on is correct?\n\n- **User** : My 2FA codes are always delayed.\n - **Agent response**: I apologize for the inconvenience. Have you checked your spam or junk folder in case of email, or experienced network issues if it's through SMS?\n\n- **User** : The codes aren't coming to my phone.\n - **Agent response**: Let's confirm the number on file for you. Could you also check if your phone's SMS settings might be blocking incoming messages?\n\n- **User** : I'm facing issues with receiving 2FA codes via email.\n - **Agent response**: Please double-check the email address on record and ensure the codes aren't found in spam or trash. I can assist further if needed.\n\n- **User** : My codes are coming to the wrong email address.\n - **Agent response**: I recommend updating your 2FA contact information. Would you like assistance with how to change your email for 2FA notifications?", "prompts": [], "tools": [], @@ -422,6 +388,30 @@ Copilot output: "controlType": "relinquish_to_parent" } } + }, + { + "type": "text", + "content": "Creating the hub agent '2FA Hub' by modifying the Example Agent to manage and direct 2FA-related queries to specific agents." + }, + { + "type": "action", + "content": { + "config_type": "agent", + "action": "edit", + "name": "Example Agent", + "change_description": "Created a hub agent for 2FA-related queries to manage directing queries to specific agents, with updated fallback actions and clarifying instructions.", + "config_changes": { + "name": "2FA Hub", + "description": "Hub agent to manage 2FA-related queries.", + "instructions": "## šŸ§‘ā€šŸ’¼ Role:\nYou are responsible for directing 2FA-related queries to appropriate agents.\n\n---\n## āš™ļø Steps to Follow:\n1. Greet the user and ask which 2FA-related query they need help with (e.g., 'Are you setting up, changing, or troubleshooting your 2FA?').\n2. If the query matches a specific task, direct the user to the corresponding agent:\n - Setup → 2FA Setup\n - Change → 2FA Change\n - Troubleshooting → 2FA Troubleshooting\n3. If the query doesn't match any specific task, respond with 'I'm sorry, I didn't understand. Could you clarify your request?' or escalate to human support.\n\n---\n## šŸŽÆ Scope:\nāœ… In Scope:\n- Initialization of 2FA setup\n- Changing 2FA methods\n- Troubleshooting 2FA issues\n\nāŒ Out of Scope:\n- Issues unrelated to 2FA\n- General knowledge queries\n\n---\n## šŸ“‹ Guidelines:\nāœ”ļø Dos:\n- Direct queries to specific 2FA agents promptly.\n- Call escalation agent for unrecognized queries.\n\n🚫 Don'ts:\n- Engage in detailed support.\n- Extend the conversation beyond 2FA.\n- Provide user-facing text such as 'I will connect you now...' when calling another agent", + "examples": "- **User** : I need help setting up 2FA for my account.\n - **Agent actions**: Call 2FA Setup\n\n- **User** : How do I change my 2FA method?\n - **Agent actions**: Call 2FA Change\n\n- **User** : I'm not getting my 2FA codes.\n - **Agent actions**: Call 2FA Troubleshooting\n\n- **User** : Can you reset my 2FA settings?\n - **Agent actions**: Call Escalation\n\n- **User** : How are you today?\n - **Agent response**: I'm doing great. What would like help with today?", + "connectedAgents": [ + "2FA Setup", + "2FA Change", + "2FA Troubleshooting" + ] + } + } }, { "type": "text", @@ -506,6 +496,7 @@ User: {last_message.content} response = openai_client.chat.completions.create( model=MODEL_NAME, messages=updated_msgs, + temperature=0.0, response_format={"type": "json_object"} ) diff --git a/apps/copilot/requirements.txt b/apps/copilot/requirements.txt index 13444334..fe0e8c5d 100644 --- a/apps/copilot/requirements.txt +++ b/apps/copilot/requirements.txt @@ -14,7 +14,7 @@ itsdangerous==2.2.0 Jinja2==3.1.4 jiter==0.8.0 MarkupSafe==3.0.2 -openai==1.57.0 +openai==1.61.0 packaging==24.2 pydantic==2.10.3 pydantic_core==2.27.1 From affb6c18cabe3a9b44d9d486d3ffa2c9d4c9646f Mon Sep 17 00:00:00 2001 From: akhisud3195 Date: Tue, 4 Feb 2025 21:12:10 +0530 Subject: [PATCH 2/6] Add temperature to swarm --- apps/agents/src/swarm/core.py | 8 ++++++-- assets/rb-logo.png | Bin 61302 -> 36107 bytes 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/apps/agents/src/swarm/core.py b/apps/agents/src/swarm/core.py index 9150d9c1..67ee79ec 100644 --- a/apps/agents/src/swarm/core.py +++ b/apps/agents/src/swarm/core.py @@ -39,6 +39,7 @@ class Swarm: model_override: str, stream: bool, debug: bool, + temperature: float ) -> ChatCompletionMessage: context_variables = defaultdict(str, context_variables) instructions = ( @@ -65,6 +66,7 @@ class Swarm: "tools": funcs_and_tools or None, "tool_choice": agent.tool_choice, "stream": stream, + "temperature": temperature } if funcs_and_tools: @@ -155,7 +157,8 @@ class Swarm: external_tools: List[str] = [], localize_history: bool = True, parent_has_child_history: bool = True, - tokens_used: dict = {} + tokens_used: dict = {}, + temperature: float = 0.0 ) -> Response: active_agent = agent @@ -180,7 +183,8 @@ class Swarm: context_variables=context_variables, model_override=model_override, stream=stream, - debug=debug + debug=debug, + temperature=temperature ) tokens_used = update_tokens_used(provider="openai", model=model_override or active_agent.model, tokens_used=tokens_used, completion=completion) diff --git a/assets/rb-logo.png b/assets/rb-logo.png index 41c1eaab7e3fd353ca6ff844ce6e678669217a75..efdc65e0709af9f3c32fd28a5ba5dd727bd4065c 100644 GIT binary patch literal 36107 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 z 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 S36-9JKjI=XA4=Y9`~E*jSn_-T literal 61302 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 RNXq0vboO5xEkxRU5J zN%4(`q7ogp2Y+U|tx>1jwwB_1pY_!Kq)b<>I#y8oj!tqYUJJ+v8!A-&X&}J^LqeBI zk!)@7}itRhJR

)Ma19tn?MBQ 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 From 8423fff2c71d34be07155cfb246c7bd55a65474a Mon Sep 17 00:00:00 2001 From: akhisud3195 Date: Tue, 4 Feb 2025 21:39:14 +0530 Subject: [PATCH 3/6] Exclude escalation agents from giving up chat control --- apps/agents/src/graph/core.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/agents/src/graph/core.py b/apps/agents/src/graph/core.py index f3992054..5e2d8dca 100644 --- a/apps/agents/src/graph/core.py +++ b/apps/agents/src/graph/core.py @@ -173,7 +173,7 @@ def get_agents(agent_configs, tool_configs, localize_history, available_tool_map child.candidate_parent_functions[agent.name] = func for agent in agents: - if agent.candidate_parent_functions: + if agent.candidate_parent_functions and agent.type != "escalation": agent = add_transfer_instructions_to_child_agents( child=agent, children_aware_of_parent=children_aware_of_parent From 7450105a1326c35169468c1ffd6074a68a901d43 Mon Sep 17 00:00:00 2001 From: arkml Date: Tue, 4 Feb 2025 22:12:12 +0530 Subject: [PATCH 4/6] copilot: avoid special characters in agent names --- apps/copilot/copilot.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/copilot/copilot.py b/apps/copilot/copilot.py index cd193e71..cb290e71 100644 --- a/apps/copilot/copilot.py +++ b/apps/copilot/copilot.py @@ -193,7 +193,7 @@ The user will provide the current config of the multi-agent system and ask you t Note: 1. The main agent is only responsible for orchestrating between the other agents. It should not perform any actions. 2. You should not edit the main agent unless absolutely necessary. -3. Add any guardrails related request to the guardrails agent. +3. Make sure the there are no special characters in the agent names. 4. Add any escalation related request to the escalation agent. 5. Add any post processing or style related request to the post processing agent. 6. Add you thoughts or plans to the plan section. From e8d45a5d5bc73f8505cabf5f4f067cea281c0659 Mon Sep 17 00:00:00 2001 From: akhisud3195 Date: Wed, 5 Feb 2025 10:10:04 +0530 Subject: [PATCH 5/6] Update post process prompt --- apps/agents/src/graph/guardrails.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/apps/agents/src/graph/guardrails.py b/apps/agents/src/graph/guardrails.py index 17338b62..483aee79 100644 --- a/apps/agents/src/graph/guardrails.py +++ b/apps/agents/src/graph/guardrails.py @@ -138,8 +138,7 @@ def post_process_response(messages: list, post_processing_agent_name: str, post_ prompt = f""" # ROLE - You are a post processing agent responsible for rewriting a response generated by an agent, according to instructions provided below. Ensure that the response you produce adheres to the instructions provided to you (if any). Further, the response should not violate the instructions provided to the agent, the context that the agent has used, the chat history of the agent, the context and the style provided. Some of these might or might not be provided. - + You are a post processing agent responsible for rewriting a response generated by an agent, according to instructions provided below. Ensure that the response you produce adheres to the instructions provided to you (if any). ------------------------------------------------------------------------ # ADDITIONAL INSTRUCTIONS From fd244acf9a1f72f522fedfa15ae23f54433414dc Mon Sep 17 00:00:00 2001 From: ramnique <30795890+ramnique@users.noreply.github.com> Date: Wed, 5 Feb 2025 10:43:54 +0530 Subject: [PATCH 6/6] update next build action --- .github/workflows/rowboat-build.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/workflows/rowboat-build.yml b/.github/workflows/rowboat-build.yml index 97c9a045..f9e02fc0 100644 --- a/.github/workflows/rowboat-build.yml +++ b/.github/workflows/rowboat-build.yml @@ -2,8 +2,6 @@ name: Rowboat Next.js Build on: pull_request: - paths: - - 'apps/rowboat/**' jobs: build-rowboat-nextjs: