diff options
| author | sigoden <sigoden@gmail.com> | 2024-07-06 08:36:48 +0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-07-06 08:36:48 +0800 |
| commit | 58d2ee0494c3b80ca1dc6ed46a42b32d2aa9a85c (patch) | |
| tree | 2e3b94f5d15566ec06c03542355b788c0ee18573 /tools/search_wikipedia.sh | |
| parent | e68aa0c04366fb7b5dd648b2d2e619175ea7d922 (diff) | |
| download | llm-functions-docker-58d2ee0494c3b80ca1dc6ed46a42b32d2aa9a85c.tar.gz | |
feat: add more search tools (#62)
Diffstat (limited to 'tools/search_wikipedia.sh')
| -rwxr-xr-x | tools/search_wikipedia.sh | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/tools/search_wikipedia.sh b/tools/search_wikipedia.sh new file mode 100755 index 0000000..b352e40 --- /dev/null +++ b/tools/search_wikipedia.sh @@ -0,0 +1,26 @@ +#!/usr/bin/env bash +set -e + +# @describe Searche Wikipedia for a query. +# Uses it to get detailed information about a public figure, interpretation of a complex scientific concept or in-depth connectivity of a significant historical event,. + +# @option --query! The query to search for. + +main() { + encoded_query="$(jq -nr --arg q "$argc_query" '$q|@uri')" + search_url="https://en.wikipedia.org/w/api.php?action=query&list=search&srsearch=$encoded_query&format=json" + title="$(curl -fsSL "$search_url" | jq -r '.query.search[0].title' 2>/dev/null)" + if [[ -z "$title" ]]; then + echo "Error: No results found for '$argc_query'" + exit 1 + fi + title="$(echo "$title" | tr ' ' '_')" + page_url="https://en.wikipedia.org/api/rest_v1/page/summary/$title" + summary="$(curl -fsSL "$page_url" | jq -r '.extract')" + echo '{ + "link": "https://en.wikipedia.org/wiki/'"$title"'", + "summary": "'"$summary"'" +}' +} + +eval "$(argc --argc-eval "$0" "$@")" |
