|
import streamlit as st |
|
import requests |
|
|
|
|
|
session = requests.Session() |
|
|
|
|
|
def chat_with_ai(message): |
|
api_url = "https://free-ai-api.devastation-war.repl.co/chat" |
|
payload = {"message": message} |
|
|
|
try: |
|
with session.post(api_url, json=payload) as response: |
|
if response.status_code == 200: |
|
return response.json().get('response') |
|
else: |
|
return {"error": "Failed to get a response from the AI API."} |
|
except requests.RequestException as e: |
|
return {"error": f"Error: {e}"} |
|
|
|
|
|
def web_search(query): |
|
url = "https://test.devastation-war.repl.co/search" |
|
payload = {"query": query} |
|
response = requests.post(url, json=payload) |
|
|
|
if response.status_code == 200: |
|
return response.json().get('results') |
|
else: |
|
return {"error": f"Error: {response.status_code}"} |
|
|
|
|
|
def main(): |
|
st.title("AI Research Assistant") |
|
st.write("This tool helps you generate a research report based on the text obtained from a web search.") |
|
|
|
query = st.text_area("Enter your search query:", value="", height=200, max_chars=None, key=None) |
|
|
|
if st.button("Generate Report"): |
|
if query: |
|
|
|
search_results = web_search(query) |
|
|
|
|
|
message = "" |
|
for result in search_results: |
|
|
|
message += result + ". " |
|
|
|
|
|
full_message = f"Generate a research report based on the following text: {message}" |
|
|
|
|
|
report = chat_with_ai(full_message) |
|
|
|
|
|
st.write(report) |
|
else: |
|
st.write("Please enter a search query.") |
|
|
|
if __name__ == "__main__": |
|
main() |
|
|