aboutsummaryrefslogtreecommitdiffstats
path: root/tools/search_exa.sh
diff options
context:
space:
mode:
authorsigoden <sigoden@gmail.com>2024-07-05 19:49:26 +0800
committerGitHub <noreply@github.com>2024-07-05 19:49:26 +0800
commit74789b5a72cd8e3261f196f4e7197ddba92947d0 (patch)
treed9029079d8368e4a35a8556aeea50ba40c9939e3 /tools/search_exa.sh
parentc7e027c6c3176a7684f4e901b8ddb9a0916c5cd8 (diff)
downloadllm-functions-docker-74789b5a72cd8e3261f196f4e7197ddba92947d0.tar.gz
feat: add search tools (#58)
Diffstat (limited to 'tools/search_exa.sh')
-rwxr-xr-xtools/search_exa.sh31
1 files changed, 31 insertions, 0 deletions
diff --git a/tools/search_exa.sh b/tools/search_exa.sh
new file mode 100755
index 0000000..33d4564
--- /dev/null
+++ b/tools/search_exa.sh
@@ -0,0 +1,31 @@
+#!/usr/bin/env bash
+set -e
+
+# @describe Perform a web search using Exa API to get up-to-date information or additional context.
+# Use this when you need current information or feel a search could provide a better answer.
+
+# @env EXA_API_KEY! The api key
+# @env EXA_MAX_RESULTS=5 The max results to return.
+# @option --query! The query to search for.
+
+main() {
+ curl -fsSL -X POST https://api.exa.ai/search \
+ -H "content-type: application/json" \
+ -H "x-api-key: $EXA_API_KEY" \
+ -d '
+{
+ "query": "'"$argc_query"'",
+ "numResults": '"$EXA_MAX_RESULTS"',
+ "type": "keyword",
+ "contents": {
+ "text": {
+ "maxCharacters": 200
+ }
+ }
+}' | \
+ jq '[.results[] | {title: .title, url: .url, text: .text}]'
+}
+
+eval "$(argc --argc-eval "$0" "$@")"
+
+