From af759abe53795859ee934b060f1041d1c314ede9 Mon Sep 17 00:00:00 2001 From: Jeeho <134765392+JHshin6688@users.noreply.github.com> Date: Mon, 25 Aug 2025 17:37:53 +0900 Subject: [PATCH] Create ReSONAte.mdx --- docs/showcase/ReSONAte.mdx | 85 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 85 insertions(+) create mode 100644 docs/showcase/ReSONAte.mdx diff --git a/docs/showcase/ReSONAte.mdx b/docs/showcase/ReSONAte.mdx new file mode 100644 index 0000000..37d013d --- /dev/null +++ b/docs/showcase/ReSONAte.mdx @@ -0,0 +1,85 @@ +--- +title: ReSONAte +description: A web-based AI research assistant that inspires curiosity and supports knowledge exploration, helping users dive deeper into relevant topics and stay organized throughout their research journey. +sidebar_position: 19 +keywords: Perplexity Sonar API, Semantic Search, KeyBERT, Streamlit, GraphViz +--- + +# ReSONAte | A Perplexity powered web-based research assistant +**ReSONAte** is an AI-powered research assistant built with **Perplexity Sonar-Pro API** that inspires curiosity and supports knowledge exploration. +It addresses the challenge researchers face in generating and tracking research ideas. + +## Features + +- QA View provides in-depth answers based on the user question. The answer is generated by Perplexity Sonar-Pro API, and it also integrates the visual thumbnails provided by LinkPreview. Users can click the citation number from the answer to navigate to the corresponding citation. Users can press the citation thumbnail or the link for the research paper to delve into that topic even more. +- CoT Tree View visualizes the progression of queries using Graphviz. The user can create multiple sessions and switch between them as needed. + +## Prerequisites +- fastapi +- uvicorn +- requests +- pydantic +- streamlit +- keybert +- nltk +- graphviz +- python-dotenv +- openai + +## Installation + +### 1. Clone the Repository +After cloning, move into the **ReSONAte** directory to proceed with setup and usage. +``` +git clone https://github.com/JHshin6688/ReSONAte.git +cd ReSONAte +``` +### 2. Set Up the Environment +Install required Python packages: +``` +pip install -r requirements.txt +``` +### 3. Add Your API Key +Create a .env file in the project root and add your API keys: +``` +PERPLEXITY_API_KEY=your_perplexity_api_key_here +LINK_PREVIEW_API_KEY=your-link-preview-key-here +SEMANTIC_SCHOLAR_API_KEY=your-semantic-scholar-key-here +``` + +### 4. Running the App +To start ReSONAte, run the following commands in two separate terminals: +``` +uvicorn main:app --reload +streamlit run app.py +``` +Make sure both processes are running for ReSONAte to work properly. + +## Usage +1. **Start with QA View**: From the main page, select QA View and ask any research question. +2. **Get In-Depth Responses**: ReSONAte will generate a detailed answer, including citations and links to relevant research papers. +3. **Ask Follow-Up Questions**: Feel free to continue the conversation with as many follow-up questions as you'd like. +4. **Track Your Research Journey**: Switch to the CoT Tree View to visualize the sequence of your queries and explore how your ideas have evolved. +5. **Explore New Topics**: To begin research on a different topic, create a new session using the sidebar. Your previous sessions will remain saved and accessible. + +## Repository Structure +```text +interface/ +├── api.py -> Define request formats +├── components.py -> Components of answer in QA view +├── config.py -> Backend url and white pixel +utils/ +├── cot_tree.py -> Components of CoT tree view +├── extract.py -> Extract key research terms using KeyBERT +├── perplexity_api.py -> Generate a response using Perplexity Sonar-Pro API +├── semantic_scholar.py -> Retrieve relevant research papers using Semantic Scholar API +├── thumbnail.py -> Fetch thumbnail for citation links +app.py -> Streamlit interface +main.py -> FastAPI server +requirements.txt -> Python libraries required to run ReSONAte +``` + +## Links + +- [GitHub Repository](https://github.com/JHshin6688/ReSONAte) +- [Live Demo](https://www.youtube.com/watch?v=xDcVBQZ0Oig)