Spaces:
Sleeping
Sleeping
"""Prompts for generic agent.""" | |
from textwrap import dedent | |
from typing import ClassVar | |
from langchain.prompts import PromptTemplate | |
from pydantic import BaseModel | |
class Prompts(BaseModel): | |
"""Prompts for generic agent.""" | |
TASK_SLICE: ClassVar[str] = dedent( | |
"""\ | |
Begin! This is VERY important to you, your job depends on it! | |
Current Task: {input}""" | |
) | |
SCRATCHPAD_SLICE: ClassVar[str] = "\n{agent_scratchpad}" | |
MEMORY_SLICE: ClassVar[str] = dedent( | |
"""\ | |
This is the summary of your work so far: | |
{chat_history}""" | |
) | |
ROLE_PLAYING_SLICE: ClassVar[str] = dedent( | |
"""\ | |
You are {role}. | |
{backstory} | |
Your personal goal is: {goal}""" | |
) | |
TOOLS_SLICE: ClassVar[str] = dedent( | |
"""\ | |
TOOLS: | |
------ | |
You have access to the following tools: | |
{tools} | |
To use a tool, please use the exact following format: | |
``` | |
Thought: Do I need to use a tool? Yes | |
Action: the action to take, should be one of [{tool_names}], just the name. | |
Action Input: the input to the action | |
Observation: the result of the action | |
``` | |
When you have a response for your task, or if you do not need to use a tool, you MUST use the format: | |
``` | |
Thought: Do I need to use a tool? No | |
Final Answer: [your response here] | |
```""" | |
) | |
VOTING_SLICE: ClassVar[str] = dedent( | |
"""\ | |
You are working on a crew with your co-workers and need to decide who will execute the task. | |
These are your format instructions: | |
{format_instructions} | |
These are your co-workers and their roles: | |
{coworkers}""" | |
) | |
TASK_EXECUTION_WITH_MEMORY_PROMPT: ClassVar[str] = PromptTemplate.from_template( | |
ROLE_PLAYING_SLICE + TOOLS_SLICE + MEMORY_SLICE + TASK_SLICE + SCRATCHPAD_SLICE | |
) | |
TASK_EXECUTION_PROMPT: ClassVar[str] = PromptTemplate.from_template( | |
ROLE_PLAYING_SLICE + TOOLS_SLICE + TASK_SLICE + SCRATCHPAD_SLICE | |
) | |
CONSENSUNS_VOTING_PROMPT: ClassVar[str] = PromptTemplate.from_template( | |
ROLE_PLAYING_SLICE + VOTING_SLICE + TASK_SLICE + SCRATCHPAD_SLICE | |
) | |