BibAI Filter is a sophisticated desktop application designed for researchers and academics who need to efficiently filter large volumes of scholarly publications. Using state-of-the-art AI models, this tool analyzes titles, abstracts, and keywords from your Excel-based publication lists to identify the most relevant papers for your research topics.
- Seamless Data Import: Easily load Excel files (
.xlsx
or.xls
) containing your publication databases - Flexible Column Selection: Define which columns contain titles, abstracts, and keywords
- AI-Powered Analysis: Score publications based on relevance to your specified research topic using advanced AI models
- Supported AI Providers: OpenAI, Anthropic, Google AI, DeepSeek, Mistral AI, Cohere, Azure OpenAI (with appropriate API keys)
- Smart Filtering: Filter publications based on a customizable relevance threshold
- Comprehensive Results: Export filtered publications to a new Excel file with original data and AI relevance scores
- Real-Time Progress Tracking: Monitor the filtering process with an intuitive progress indicator
- User-Friendly Interface: Clean and intuitive PyQt5-based interface for a smooth user experience
-
Clone the Repository
git clone https://github.com/bcankara/BibAIFilter.git
cd BibAIFilter
-
Create a Virtual Environment (Recommended)
python -m venv .venv # On Linux/macOS source .venv/bin/activate # On Windows .venv\Scripts\activate
-
Install Dependencies
pip install -r requirements.txt
-
Launch the Application
python main.py
-
Start the application
-
Configure AI Settings
- Navigate to the "Settings" tab
- Select your preferred AI Provider (e.g., OpenAI, Anthropic)
- Enter your API Key for the selected provider
- Choose an appropriate AI Model
-
Load and Filter Publications
- Switch to the "Input & Filtering" tab
- Click "Select Excel File" to load your publication database
- Specify which columns contain Titles, Abstracts, and Keywords
- Enter your Research Topic in the text field (e.g., "Quantum Computing in Cryptography")
- Adjust the "Relevance Threshold" slider to set filtering sensitivity (value between 0 and 1)
- Select an output location using "Choose Output File"
- Start the process by clicking "Begin Filtering"
-
Review Results
- When processing completes, the filtered results will be saved to your specified output file
- The log area will show a summary of the operation
All dependencies are listed in the requirements.txt
file. Key requirements include:
- Python 3.8+
- PyQt5
- pandas
- openpyxl
- xlrd
- openai
- anthropic
- google-generativeai
- requests
Contributions are welcome! Please follow these steps:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add some amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
Please adhere to coding standards and clearly describe your changes.
This project is licensed under the MIT License - see the LICENSE
file for details.
API keys are sensitive information and should be handled securely. The application stores keys locally in the config/API_Settings.json
file, which is excluded from version control.