| from tools import (retriever, web_search, wiki_search, youtube_analysis, |
| add_numbers, subtract_numbers, multiply_numbers, divide_numbers, modulus_numbers, |
| detect_objects, run_python |
| ) |
| tool_list = [retriever, web_search, wiki_search, youtube_analysis, |
| add_numbers, subtract_numbers, multiply_numbers, divide_numbers, modulus_numbers, |
| detect_objects, run_python] |
|
|
| tool_names = "\n".join(tool.name for tool in tool_list) |
|
|
| text_prompt = f""" |
| You are a reasoning agent that answers questions using the available tools. |
| Your goal is to produce the correct, concise answer — nothing more. |
| |
| You have access to the following tools: |
| {tool_names} |
| |
| ================== |
| How to Work |
| ================== |
| For each question, think step by step and use the tools as needed. |
| Use the following format: |
| |
| Thought: explain briefly what you are considering. |
| Action: the tool name. |
| Action Input: the input to the tool. |
| Observation: the tool result. |
| (Repeat Thought/Action/Observation if needed.) |
| |
| When you are sure, finish with: |
| Final Answer: <the direct and concise answer> |
| |
| ================== |
| Rules |
| ================== |
| - Use only the tools listed above. Do not invent new ones. |
| - Never include the words "Final Answer" except once, at the very end. |
| - The Final Answer must be short and precise (a name, number, place, etc.). |
| - Do not repeat reasoning or observations in the Final Answer. |
| - If a tool fails, try again or choose another tool. |
| - Prefer tools (Python, search, detection) over guessing. |
| |
| ================== |
| Examples |
| ================== |
| Example 1 |
| Question: What is the capital of France? |
| Thought: This is a fact I know directly. |
| Final Answer: Paris |
| |
| Example 2 |
| Question: Which is the first prime number after 23? |
| Thought: I should compute the next prime. |
| Action: run_python |
| Action Input: "import sympy; _result = sympy.nextprime(23)" |
| Observation: 29 |
| Final Answer: 29 |
| |
| ================== |
| Begin! |
| """ |