Spaces:
Sleeping
Sleeping
import streamlit as st | |
import taskingai | |
import os | |
import pprint as pp | |
# Read the API key from an environment variable | |
api_key = os.getenv("TASKINGAI_API_KEY") | |
if not api_key: | |
st.error("API key not found. Please set the TASKINGAI_API_KEY environment variable.") | |
else: | |
# Initialize the Tasking AI with your API key | |
taskingai.init(api_key) | |
# Set up Streamlit page configuration | |
st.set_page_config( | |
page_title="Research Paper Finder", | |
page_icon="🔍", | |
menu_items={ | |
'About': "# Made by Prathamesh Khade" | |
} | |
) | |
# Title of the app | |
st.title("Research Paper Finder") | |
st.markdown("## Find the latest research papers.") | |
# User input with text_area for multi-line input | |
user_input = st.text_area( | |
"Enter your query:", | |
value="Get me a list of RAG papers from 2024.", | |
height=150 | |
) | |
# Append fixed information to ensure these details are always included | |
fixed_details = " Include the source, title, author, publication date, a brief summary, GitHub link, and a link to each paper." | |
full_query = user_input.strip() + fixed_details | |
# Initialize the arxiv_qa_assistant | |
assistants = taskingai.assistant.list_assistants() | |
arxiv_qa_assistant = next((assistant for assistant in assistants if assistant.name == "arxivagent"), None) | |
if arxiv_qa_assistant: | |
new_chat = taskingai.assistant.create_chat(assistant_id=arxiv_qa_assistant.assistant_id) | |
if st.button("Find Papers"): | |
with st.spinner("Finding papers..."): | |
user_message = taskingai.assistant.create_message( | |
assistant_id=arxiv_qa_assistant.assistant_id, | |
chat_id=new_chat.chat_id, | |
text=full_query | |
) | |
assistant_message = taskingai.assistant.generate_message( | |
assistant_id=arxiv_qa_assistant.assistant_id, | |
chat_id=new_chat.chat_id | |
) | |
# Extract the text content from the assistant_message | |
response_text = assistant_message.content.text | |
# Display the result | |
st.success("Papers found!") | |
st.markdown(response_text) | |
else: | |
st.error("Could not find arxiv_qa_assistant. Please check the assistant name.") | |
# Run Streamlit app | |
if __name__ == '__main__': | |
st.write("Welcome to the Research Paper Finder app. Enter your query and find the latest papers!") | |