32 lines
893 B
Bash
Executable File
32 lines
893 B
Bash
Executable File
#!/usr/bin/env bash
|
|
set -e
|
|
|
|
# @describe Perform a web search using Perplexity 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 PERPLEXITY_API_KEY! The api key
|
|
# @env PERPLEXITY_WEB_SEARCH_MODEL=llama-3.1-sonar-small-128k-online The LLM model for web search
|
|
# @option --query! The query to search for.
|
|
|
|
main() {
|
|
curl -fsS -X POST https://api.perplexity.ai/chat/completions \
|
|
-H "authorization: Bearer $PERPLEXITY_API_KEY" \
|
|
-H "accept: application/json" \
|
|
-H "content-type: application/json" \
|
|
--data '
|
|
{
|
|
"model": "'"$PERPLEXITY_WEB_SEARCH_MODEL"'",
|
|
"messages": [
|
|
{
|
|
"role": "user",
|
|
"content": "'"$argc_query"'"
|
|
}
|
|
]
|
|
}
|
|
' | \
|
|
jq -r '.choices[0].message.content' \
|
|
>> "$LLM_OUTPUT"
|
|
}
|
|
|
|
eval "$(argc --argc-eval "$0" "$@")"
|