From 499b7cdef5d62298c17889895a61a110d7cd8168 Mon Sep 17 00:00:00 2001 From: sigoden Date: Wed, 3 Jul 2024 16:18:32 +0800 Subject: feat: rename `may_execute_*` to `execute_*` (#56) --- Argcfile.sh | 8 ++++---- README.md | 12 ++---------- tools/execute_command.sh | 11 +++++++++++ tools/execute_js_code.js | 9 +++++++++ tools/execute_py_code.py | 6 ++++++ tools/may_execute_command.sh | 11 ----------- tools/may_execute_js_code.js | 9 --------- tools/may_execute_py_code.py | 6 ------ 8 files changed, 32 insertions(+), 40 deletions(-) create mode 100755 tools/execute_command.sh create mode 100644 tools/execute_js_code.js create mode 100644 tools/execute_py_code.py delete mode 100755 tools/may_execute_command.sh delete mode 100644 tools/may_execute_js_code.js delete mode 100644 tools/may_execute_py_code.py diff --git a/Argcfile.sh b/Argcfile.sh index 05b9cfb..93cc93b 100644 --- a/Argcfile.sh +++ b/Argcfile.sh @@ -77,7 +77,7 @@ build() { # @option --declarations-file=functions.json Path to a json file to save function declarations # Example: # get_current_weather.sh -# may_execute_js_code.js +# execute_js_code.js # @arg tools*[`_choice_tool`] The tool filenames build@tool() { if [[ "${#argc_tools[@]}" -gt 0 ]]; then @@ -347,9 +347,9 @@ test-execute-code-tools() { ext=".cmd" fi test_cases=( \ - 'sh#may_execute_command#{"command":"echo \"✓\""}' \ - 'js#may_execute_js_code#{"code":"console.log(\"✓\")"}' \ - 'py#may_execute_py_code#{"code":"print(\"✓\")"}' \ + 'sh#execute_command#{"command":"echo \"✓\""}' \ + 'js#execute_js_code#{"code":"console.log(\"✓\")"}' \ + 'py#execute_py_code#{"code":"print(\"✓\")"}' \ ) for test_case in "${test_cases[@]}"; do diff --git a/README.md b/README.md index dafad10..5739837 100644 --- a/README.md +++ b/README.md @@ -45,23 +45,15 @@ ln -s "$(pwd)" "$(aichat --info | grep -w functions_dir | awk '{print $2}')" argc install ``` -Don't forget to add the following config to your AIChat `config.yaml` file: - -```yaml -function_calling: true -``` - AIChat will automatically load `functions.json` and execute commands located in the `./bin` directory based on your prompts. **4. Start using your functions:** Now you can interact with your LLM using natural language prompts that trigger your defined functions. -## AIChat Showcases - -![retrieve-type-showcase](https://github.com/sigoden/llm-functions/assets/4012553/7e628834-9863-444a-bad8-7b51bfb18dff) +## Showcases -![execute-type-showcase](https://github.com/sigoden/llm-functions/assets/4012553/1dbc345f-daf9-4d65-a49f-3df8c7df1727) +![tools-showcase](https://github.com/sigoden/aichat/assets/4012553/f9d7f827-9a2a-4ea1-8b8c-19e1c93178d4) ![agent-showcase](https://github.com/sigoden/llm-functions/assets/4012553/05e1e57e-3bcc-4504-b78f-c36b27d16bfd) diff --git a/tools/execute_command.sh b/tools/execute_command.sh new file mode 100755 index 0000000..6acc021 --- /dev/null +++ b/tools/execute_command.sh @@ -0,0 +1,11 @@ +#!/usr/bin/env bash +set -e + +# @describe Runs a shell command. +# @option --command! The command to execute. + +main() { + eval "$argc_command" +} + +eval "$(argc --argc-eval "$0" "$@")" \ No newline at end of file diff --git a/tools/execute_js_code.js b/tools/execute_js_code.js new file mode 100644 index 0000000..4706e07 --- /dev/null +++ b/tools/execute_js_code.js @@ -0,0 +1,9 @@ +/** + * Runs the javascript code in node.js. + * @typedef {Object} Args + * @property {string} code - Javascript code to execute, such as `console.log("hello world")` + * @param {Args} args + */ +exports.run = function run({ code }) { + eval(code); +} diff --git a/tools/execute_py_code.py b/tools/execute_py_code.py new file mode 100644 index 0000000..5f6af2f --- /dev/null +++ b/tools/execute_py_code.py @@ -0,0 +1,6 @@ +def run(code: str): + """Runs the python code. + Args: + code: Python code to execute, such as `print("hello world")` + """ + exec(code) diff --git a/tools/may_execute_command.sh b/tools/may_execute_command.sh deleted file mode 100755 index 6acc021..0000000 --- a/tools/may_execute_command.sh +++ /dev/null @@ -1,11 +0,0 @@ -#!/usr/bin/env bash -set -e - -# @describe Runs a shell command. -# @option --command! The command to execute. - -main() { - eval "$argc_command" -} - -eval "$(argc --argc-eval "$0" "$@")" \ No newline at end of file diff --git a/tools/may_execute_js_code.js b/tools/may_execute_js_code.js deleted file mode 100644 index 4706e07..0000000 --- a/tools/may_execute_js_code.js +++ /dev/null @@ -1,9 +0,0 @@ -/** - * Runs the javascript code in node.js. - * @typedef {Object} Args - * @property {string} code - Javascript code to execute, such as `console.log("hello world")` - * @param {Args} args - */ -exports.run = function run({ code }) { - eval(code); -} diff --git a/tools/may_execute_py_code.py b/tools/may_execute_py_code.py deleted file mode 100644 index 5f6af2f..0000000 --- a/tools/may_execute_py_code.py +++ /dev/null @@ -1,6 +0,0 @@ -def run(code: str): - """Runs the python code. - Args: - code: Python code to execute, such as `print("hello world")` - """ - exec(code) -- cgit v1.2.3