aboutsummaryrefslogtreecommitdiffstats
path: root/tools/web_search_aichat.sh
diff options
context:
space:
mode:
authorsigoden <sigoden@gmail.com>2024-11-02 20:42:42 +0800
committerGitHub <noreply@github.com>2024-11-02 20:42:42 +0800
commit3573a43978afbb519a8793a3cd70dd5ec14dcdfa (patch)
treeb5c0543a9f0d643140666f61f442ab4111c8e23a /tools/web_search_aichat.sh
parent68b1f57a4b3b932247e14d05933aee3aa6c022a4 (diff)
downloadllm-functions-docker-3573a43978afbb519a8793a3cd70dd5ec14dcdfa.tar.gz
feat(tool): add web_search_aichat.sh (#120)
Diffstat (limited to 'tools/web_search_aichat.sh')
-rwxr-xr-xtools/web_search_aichat.sh32
1 files changed, 32 insertions, 0 deletions
diff --git a/tools/web_search_aichat.sh b/tools/web_search_aichat.sh
new file mode 100755
index 0000000..e35948f
--- /dev/null
+++ b/tools/web_search_aichat.sh
@@ -0,0 +1,32 @@
+#!/usr/bin/env bash
+set -e
+
+# @describe Perform a web search 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.
+
+# @option --query! The query to search for.
+
+# @meta require-tools aichat
+# @env WEB_SEARCH_MODEL! The model for web-searching.
+#
+# supported aichat models:
+# - cohere:*
+# - vertexai:gemini-*
+# - perplexity:*-online
+# - ernie:*
+# - lingyiwanwu:yi-large-rag
+
+main() {
+ client="${WEB_SEARCH_MODEL%%:*}"
+ case "$client" in
+ cohere)
+ export AICHAT_PATCH_COHERE_CHAT_COMPLETIONS='{".*":{"body":{"connectors":[{"id":"web-search"}]}}}'
+ ;;
+ vertexai)
+ export AICHAT_PATCH_VERTEXAI_CHAT_COMPLETIONS='{"gemini-.*":{"body":{"tools":[{"googleSearchRetrieval":{}}]}}}'
+ ;;
+ esac
+ aichat -m "$WEB_SEARCH_MODEL" "$argc_query" >> "$LLM_OUTPUT"
+}
+
+eval "$(argc --argc-eval "$0" "$@")"