chore: import upstream snapshot with attribution
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
import requests
|
||||
import toml
|
||||
import os
|
||||
|
||||
|
||||
def query_to_perplexica(query):
|
||||
# Retrieve the URL from an environment variable
|
||||
url = os.getenv("PERPLEXICA_URL")
|
||||
if not url:
|
||||
raise ValueError(
|
||||
"PERPLEXICA_URL environment variable not set. It may take the form: 'http://localhost:{port}/api/search'. The port number is set in the config.toml in the Perplexica directory."
|
||||
)
|
||||
|
||||
# Request Message
|
||||
message = {"focusMode": "webSearch", "query": query, "history": [["human", query]]}
|
||||
|
||||
response = requests.post(url, json=message)
|
||||
|
||||
if response.status_code == 200:
|
||||
return response.json()["message"]
|
||||
elif response.status_code == 400:
|
||||
raise ValueError(
|
||||
"The request is malformed or missing required fields, such as FocusModel or query"
|
||||
)
|
||||
else:
|
||||
raise ValueError("Internal Server Error")
|
||||
|
||||
|
||||
# Test Code
|
||||
if __name__ == "__main__":
|
||||
query = "What is Agent S?"
|
||||
response = query_to_perplexica(query)
|
||||
print(response)
|
||||
Reference in New Issue
Block a user