aboutsummaryrefslogtreecommitdiffstats
path: root/tools/search_duckduckgo.sh
diff options
context:
space:
mode:
authorsigoden <sigoden@gmail.com>2024-07-29 07:32:26 +0800
committerGitHub <noreply@github.com>2024-07-29 07:32:26 +0800
commita7342a1cbf0ae558db9005870ddb20a539daac68 (patch)
treea5b4f3ddaf2421f12967291f6ce4a89243b03360 /tools/search_duckduckgo.sh
parent4d18d6346d4aea16cc9dac1bcfc3ccc4c15a7bd0 (diff)
downloadllm-functions-docker-a7342a1cbf0ae558db9005870ddb20a539daac68.tar.gz
feat: add web_search_* tools, rm some search_* tools (#78)
Diffstat (limited to 'tools/search_duckduckgo.sh')
-rwxr-xr-xtools/search_duckduckgo.sh35
1 files changed, 0 insertions, 35 deletions
diff --git a/tools/search_duckduckgo.sh b/tools/search_duckduckgo.sh
deleted file mode 100755
index 062bfb5..0000000
--- a/tools/search_duckduckgo.sh
+++ /dev/null
@@ -1,35 +0,0 @@
-#!/usr/bin/env bash
-set -e
-
-# @describe Perform a web search using DuckDuckGo 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 SEARCH_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')"
- vqd="$(curl -fsSL -X POST https://duckduckgo.com -d "q=$encoded_query" | sed -En 's/.*vqd=([0-9-]+)&.*/\1/p')"
- url="https://links.duckduckgo.com/d.js?q=$encoded_query&kl=wt-wt&l=wt-wt&p=&s=0&df=&vqd=$vqd&bing_market=wt-WT&ex=-1"
- data="$(curl -fsSL "$url" | sed -En 's/.*DDG.pageLayout.load\(\x27d\x27,\[(.*)\]\);DDG.duckbar.load\(.*/\1/p')"
- echo "[$data]" | jq '
-def strip_tags:
- gsub("<[^>]*>"; "");
-
-def unescape_html_entities:
- gsub("&amp;"; "&") |
- gsub("&lt;"; "<") |
- gsub("&gt;"; ">") |
- gsub("&quot;"; "\"") |
- gsub("&apos;"; "'\''") |
- gsub("&#x27;"; "'\''") |
- gsub("&nbsp;"; " ");
-
-def normalize: strip_tags | unescape_html_entities;
-
-[.[:'"$SEARCH_MAX_RESULTS"'] | .[] | select(has("u")) | {link: .u, title: (.t | normalize), snippet: (.a | normalize)}]
-' >> "$LLM_OUTPUT"
-
-}
-
-eval "$(argc --argc-eval "$0" "$@")"