aboutsummaryrefslogtreecommitdiffstats
path: root/tools/search_jina.sh
blob: 3e6d706cba8fbd16e0fd09e8e7e28ef17e8b7490 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
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" "$@")"