File size: 2,051 Bytes
025a7d5
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
"""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
    )