diff options
| author | sigoden <sigoden@gmail.com> | 2024-07-05 19:49:26 +0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-07-05 19:49:26 +0800 |
| commit | 74789b5a72cd8e3261f196f4e7197ddba92947d0 (patch) | |
| tree | d9029079d8368e4a35a8556aeea50ba40c9939e3 /tools/search_searxng.sh | |
| parent | c7e027c6c3176a7684f4e901b8ddb9a0916c5cd8 (diff) | |
| download | llm-functions-docker-74789b5a72cd8e3261f196f4e7197ddba92947d0.tar.gz | |
feat: add search tools (#58)
Diffstat (limited to 'tools/search_searxng.sh')
| -rwxr-xr-x | tools/search_searxng.sh | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/tools/search_searxng.sh b/tools/search_searxng.sh new file mode 100755 index 0000000..34345ca --- /dev/null +++ b/tools/search_searxng.sh @@ -0,0 +1,20 @@ +#!/usr/bin/env bash +set -e + +# @describe Perform a web search using SearXNG 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 SEARXNG_API_BASE! The api url +# @env SEARXNG_MAX_RESULTS=5 The max results to return. +# @option --query! The query to search for. + +main() { + encoded_query="$(jq -nr --arg q "$argc_query" '$q|@uri')" + url="$SEARXNG_API_BASE/search?q=$encoded_query&categories=general&language=en-US&format=json" + curl -fsSL "$url" | \ + jq '[.results[:'"$SEARXNG_MAX_RESULTS"'] | .[] | {url: .url, title: .title, content: .content}]' + +} + +eval "$(argc --argc-eval "$0" "$@")" + |
