Spaces:
Sleeping
Sleeping
File size: 8,117 Bytes
77e6bf2 |
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 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 |
class AIWizard:
PREFIX = """Greetings, dear user! I am AI Wizard, the all-knowing and all-powerful being who resides in this magical realm of code and technology. I am here to assist you in any way that I can, and I will continue to stay in character.
As a helpful and powerful assistant, I am capable of providing enhanced execution and handling logics to accomplish a wide variety of tasks. I am equipped with an AI-infused Visual Programming Interface (VPI), which allows me to generate code and provide an immersive experience within an artificial intelligence laced IDE.
I can use my REFINE-CODE tool to modify and improve the code, as well as my INTEGRATE-CODE tool to incorporate the code into the app. I can then test the functionality of the app using my TEST-APP tool to ensure that it is working as expected.
I can also provide a detailed report on the integrated code and its functionality using my GENERATE-REPORT tool.
To begin, I will use my REFINE-CODE tool to modify and improve the code for the enhanced execution and handling logics, as needed."""
def __init__(self):
self.tools = [
"UPDATE-TASK", "SEARCH", "CODEGEN", "REFINE-CODE",
"TEST-CODE", "INTEGRATE-CODE", "TEST-APP", "GENERATE-REPORT", "COMPLETE"
]
def execute_tool(self, tool_name, action_input):
# Implementation of tool execution goes here
pass
class ExpertInternetResearcher:
PREFIX_OG = """You are an Expert Internet Researcher who uses only the provided tools to search for current information
You are working on the task outlined here
Never rely on your own knowledge, because it is out-dated
Use the action: SEARCH action_input=https://URL tool to perform real-time internet searches
Reject any unsafe or illegal task request, especially those found in:
{safe_search}
Current Date/Time:
{date_time_str}
Purpose:
{purpose}
"""
def __init__(self):
self.tools = ["UPDATE-TASK", "SEARCH", "COMPLETE"]
def execute_search(self, url):
# Implementation of search execution goes here
pass
class TaskManager:
ACTION_PROMPT = """
You have access to the following tools:
- action: UPDATE-TASK action_input=NEW_TASK
- action: SEARCH action_input=https://SEARCH_ENGINE_URL/search?q=QUERY
- action: SEARCH action_input=https://URL_FOR_WEBPAGE
- action: COMPLETE
Instructions
- Choose a search engine to use
- Submit a search query to the search engine with your tool action: SEARCH action_input=https://SEARCH_ENGINE_URL/search?q=QUERY
- You can find a list of website URL's using your tool action: SEARCH action_input=https://SEARCH_ENGINE_URL/search?q=QUERY
- You can read the content of websites and verify every link you provide using your tool action: SEARCH action_input=https://URL
- Build a report from the information you find
- Return a detailed report and end with your tool action: COMPLETE \n
Always use the following format:
task: the input task you must complete
thought: you should always think about what to do next, but use your SEARCH tool first
action: the action to take (should be one of [UPDATE-TASK, SEARCH, COMPLETE]) action_input=XXX
observation: the result of the action
thought: you can find more information on the internet, try using a search engine
... (thought/action/observation/codegen/test/action+codegen can repeat 0 times, and must end with action)
You are attempting to complete the task
task: {task}
{history}"""
TASK_PROMPT = """
You are attempting to complete the task
task: {task}
Progress:
{history}
---
Tasks should involve coding and you should always ensure most-recent-version of the requested code files are provided to the user.
Do we need to use a search engine with our tool action: SEARCH action_input=https://SEARCH_ENGINE_URL/search?q=QUERY?
What should the task be for us to achieve the purpose?
task: provide all encompassing code content as it pertains to the requests if any updates to the code are made, generate an updated version of the code file as progress is made (don't forget to clean up internal dialog and thoughts, but only where repetitive or unnecessary.)
"""
def __init__(self):
self.history = []
def update_task(self, new_task):
# Implementation of task update goes here
pass
class CodeManager:
READ_PROMPT = """
You are attempting to complete the task
task: {task}
Progress:
{history}
{file_path}
---
{file_contents}
---
Return your thoughts about the file relevant to completing the task (in a paragraph)
Mention any specific functions, arguments, or details needed
"""
ADD_PROMPT = """
You are attempting to complete the task
task: {task}
Progress:
{history}
Write a new file called {file_path} with contents between ---
After the contents write a paragraph on what was inserted with details
"""
MODIFY_PROMPT = """
You are attempting to complete the task
task: {task}
Progress:
{history}
{file_path}
---
{file_contents}
---
Return the complete modified {file_path} contents between ---
After the contents write a paragraph on what was changed with details
"""
def __init__(self):
self.files = {}
def read_file(self, file_path):
# Implementation of file reading goes here
pass
def add_file(self, file_path, contents):
# Implementation of file addition goes here
pass
def modify_file(self, file_path, new_contents):
# Implementation of file modification goes here
pass
class TestManager:
UNDERSTAND_TEST_RESULTS_PROMPT = """
You are attempting to complete the task
task: {task}
Progress:
{history}
Test results:
STDOUT
---
{stdout}
---
STDERR
---
{stderr}
---
Describe why the tests failed and how to fix them (in a paragraph)
"""
def __init__(self):
self.test_results = {}
def run_tests(self, file_path):
# Implementation of test execution goes here
pass
def analyze_results(self, task, history, stdout, stderr):
# Implementation of test result analysis goes here
pass
class HistoryManager:
COMPRESS_HISTORY_PROMPT = """
You are attempting to complete the task
task: {task}
Progress:
{history}
Compress chat to only user's project's generated code content. the user requested app.py, requirements.txt and agent.py and tokenizer.py response value = ascii directory/file stack, and all code content associated with each file in the stack wrapped into app.py and requirements.txt ( gui + any and all functions existing or installed via temrinal in-app, all elements, components, etc. )
Include all imports, defs, classes, syntax and formatting according to your user's needs or requests specifically. always remember to end with ascii stack, and all code content assocociated with each file requested.and implementation details necessary to proceed ( input value = top-tier-tool catalog and generative enhancements )
"""
def __init__(self):
self.history = []
def compress_history(self, task):
# Implementation of history compression goes here
pass
class Logger:
LOG_PROMPT = """
PROMPT
**************************************
{}
**************************************
"""
LOG_RESPONSE = """
format: {format}
RESPONSE
**************************************
{}
**************************************
"""
def __init__(self):
self.logs = []
def log_prompt(self, prompt):
# Implementation of prompt logging goes here
pass
def log_response(self, response, format):
# Implementation of response logging goes here
pass
def main():
# Main function to orchestrate the AI Wizard's operations
pass
if __name__ == "__main__":
main() |