aboutsummaryrefslogtreecommitdiffstats
path: root/tools/search_bing.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_bing.sh
parentc7e027c6c3176a7684f4e901b8ddb9a0916c5cd8 (diff)
downloadllm-functions-docker-74789b5a72cd8e3261f196f4e7197ddba92947d0.tar.gz
feat: add search tools (#58)
Diffstat (limited to 'tools/search_bing.sh')
-rwxr-xr-xtools/search_bing.sh20
1 files changed, 20 insertions, 0 deletions
diff --git a/tools/search_bing.sh b/tools/search_bing.sh
new file mode 100755
index 0000000..28a47dd
--- /dev/null
+++ b/tools/search_bing.sh
@@ -0,0 +1,20 @@
+#!/usr/bin/env bash
+set -e
+
+# @describe Perform a web search using Bing Web Search 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 BING_API_KEY! The api key
+# @env BING_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="https://api.bing.microsoft.com/v7.0/search?q=$encoded_query&mkt=en-us&textdecorations=true&textformat=raw&count=$BING_MAX_RESULTS&offset=0"
+ curl -fsSL "$url" \
+ -H "Ocp-Apim-Subscription-Key: $BING_API_KEY" | \
+ jq '[.webPages.value[] | {name: .name, url: .url, snippet: .snippet}]'
+}
+
+eval "$(argc --argc-eval "$0" "$@")"
+