nmstoker commited on
Commit
1c42610
·
verified ·
1 Parent(s): dc88cb1

Trying simple generalised ROT cypher text tool example

Browse files
Files changed (1) hide show
  1. app.py +26 -6
app.py CHANGED
@@ -4,19 +4,39 @@ import requests
4
  import pytz
5
  import yaml
6
  from tools.final_answer import FinalAnswerTool
 
7
 
8
  from Gradio_UI import GradioUI
9
 
10
  # Below is an example of a tool that does nothing. Amaze us with your creativity !
 
 
 
 
 
 
 
 
 
 
11
  @tool
12
- def my_custom_tool(arg1:str, arg2:int)-> str: #it's import to specify the return type
13
- #Keep this format for the description / args / args description but feel free to modify the tool
14
- """A tool that does nothing yet
15
  Args:
16
- arg1: the first argument
17
- arg2: the second argument
18
  """
19
- return "What magic will you build ?"
 
 
 
 
 
 
 
 
 
 
20
 
21
  @tool
22
  def get_current_time_in_timezone(timezone: str) -> str:
 
4
  import pytz
5
  import yaml
6
  from tools.final_answer import FinalAnswerTool
7
+ import string
8
 
9
  from Gradio_UI import GradioUI
10
 
11
  # Below is an example of a tool that does nothing. Amaze us with your creativity !
12
+ # @tool
13
+ # def my_custom_tool(arg1:str, arg2:int)-> str: #it's import to specify the return type
14
+ # #Keep this format for the description / args / args description but feel free to modify the tool
15
+ # """A tool that does nothing yet
16
+ # Args:
17
+ # arg1: the first argument
18
+ # arg2: the second argument
19
+ # """
20
+ # return "What magic will you build ?"
21
+
22
  @tool
23
+ def get_rot_n_text(sentence:str, offset:int)-> str:
24
+ """A tool that generates rotational cypher text (like ROT13) for a sentence, offset by a variable amount
 
25
  Args:
26
+ sentence: the sentence to be used
27
+ offset: the character offset value to use (e.g. for ROT13 use the integer 13)
28
  """
29
+ try:
30
+ alphabet_l = string.ascii_lowercase
31
+ alphabet_u = string.ascii_uppercase
32
+ rot_n = str.maketrans(
33
+ alphabet_l + alphabet_u,
34
+ alphabet_l[offset:] + alphabet_l[:offset] + \
35
+ alphabet_u[offset:] + alphabet_u[:offset]
36
+ )
37
+ return f"The rotational text is: {str.translate(sentence, rot_n)}"
38
+ except Exception as e:
39
+ return f"Error generating rotational text for '{sentence}' with offset of '{offset}': {str(e)}"
40
 
41
  @tool
42
  def get_current_time_in_timezone(timezone: str) -> str: