aboutsummaryrefslogtreecommitdiffstats
path: root/tools/search_jina.sh
diff options
context:
space:
mode:
Diffstat (limited to 'tools/search_jina.sh')
-rwxr-xr-xtools/search_jina.sh22
1 files changed, 22 insertions, 0 deletions
diff --git a/tools/search_jina.sh b/tools/search_jina.sh
new file mode 100755
index 0000000..3e6d706
--- /dev/null
+++ b/tools/search_jina.sh
@@ -0,0 +1,22 @@
+#!/usr/bin/env bash
+set -e
+
+# @describe Perform a web search using Jina 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 JINA_API_KEY The api key
+# @env JINA_MAX_RESULTS=5 The max results to return.
+# @option --query! The query to search for.
+
+main() {
+ curl_args=("-H" "Accept: application/json")
+ if [[ -n "$JINA_API_KEY" ]]; then
+ curl_args+=("-H" "Authorization: Bearer $JINA_API_KEY")
+ fi
+ encoded_query="$(jq -nr --arg q "$argc_query" '$q|@uri')"
+ curl -fsSL "${curl_args[@]}" "https://s.jina.ai/$encoded_query" | \
+ jq '[.data[:'"$JINA_MAX_RESULTS"'] | .[] | {title: .title, url: .url, description: .description}]' \
+ >> "$LLM_OUTPUT"
+}
+
+eval "$(argc --argc-eval "$0" "$@")"