Fusor Chatbot
Overview
The Fusor Chatbot is designed to facilitate access to information about Farnsworth fusion reactors. It taps into a database of content from fusor.net, enabling users to ask questions and receive informative responses. The chatbot utilizes Pinecone's vector database for information retrieval and OpenAI's GPT-4-turbo for generating responses, to provide accurate and relevant answers. This tool is useful for hobbyists, or anyone interested in the domain of fusors, offering a streamlined way to navigate through a wealth of data.
Features
- Targeted Information Retrieval: Leverages Pinecone's vector database for extracting information from a specialized dataset comprised of discussions and posts related to Farnsworth fusion reactors.
- Natural Language Processing: Utilizes OpenAI's GPT-4-turbo to generate responses that are contextually appropriate, enhancing the user's understanding of the topic.
- Streamlit-Based Interface: A straightforward and interactive interface built with Streamlit, simplifying the user interaction process and making the retrieval of complex information more accessible.
Installation & Setup
Prerequisites
- Python 3.x
- Poetry for dependency management
Installation Steps
-
Clone the repository:
git clone https://github.com/olivia-li/fusor-scraper.git
cd fusor-chatbot
-
Install dependencies:
poetry install
-
Set up environment variables:
Create a .env file in the root directory and add the following variables:
OPENAI_API_KEY=your_openai_api_key
PINECONE_API_KEY=your_pinecone_api_key
DB_NAME=your_database_name
DB_USER=your_database_user
DB_PASSWORD=your_database_password
DB_HOST=your_database_host
-
Run the application:
poetry run streamlit run app.py
Usage
After starting the application, navigate to the local URL provided by Streamlit (http://localhost:8501
). Enter your question in the input field and receive a response generated by the chatbot.
Contributing
Contributions are welcome! If you have suggestions or improvements, feel free to fork the repository and submit a pull request.
License
MIT License