2.7 KiB
2.7 KiB
ChatGPT Integration Setup
Overview
The search feature now uses OpenAI's ChatGPT API to find worship songs based on your search query and filter selection.
Setup Instructions
1. Get an OpenAI API Key
- Go to https://platform.openai.com/api-keys
- Sign in or create an account
- Click "Create new secret key"
- Copy the API key (it starts with
sk-...)
2. Option A: Use a .env File (Recommended)
Create a file named .env inside the backend folder (or copy .env.example):
OPENAI_API_KEY=sk-your_openai_key_here
GENIUS_TOKEN=your_genius_token_here
The application now auto-loads .env because load_dotenv() is called at the top of backend/app.py.
Restart the backend after changes:
python app.py
2. Option B: Set Environment Variable
Windows (PowerShell)
# Set for current session only
$env:OPENAI_API_KEY="your-api-key-here"
# Or set permanently (requires admin)
[System.Environment]::SetEnvironmentVariable('OPENAI_API_KEY', 'your-api-key-here', 'User')
Windows (Command Prompt)
set OPENAI_API_KEY=your-api-key-here
Alternative: Create .env file
Create a file named .env in the backend folder:
OPENAI_API_KEY=your-api-key-here
Then update backend/app.py to load it:
from dotenv import load_dotenv
load_dotenv()
And add python-dotenv to backend/requirements.txt.
3. Install Dependencies
cd "E:\Documents\Website Projects\Church_SongLyric\backend"
pip install -r requirements.txt
4. Restart Backend Server
After setting the API key, restart the Flask server:
python app.py
Features
Search Filters
- All: Searches for songs related to any field
- Song Title: Focuses search on song titles
- Artist: Searches by artist/singer name
- Band: Searches by band/group name
Fallback Mode
If the OpenAI API key is not set or ChatGPT is unavailable, the system will return mock data with a note explaining the situation.
Cost Considerations
- The ChatGPT integration uses the GPT-4 model
- Each search costs approximately $0.01-0.03 depending on response length
- Consider using GPT-3.5-turbo for lower costs by changing
model="gpt-4"tomodel="gpt-3.5-turbo"inbackend/app.py
Troubleshooting
- Error: "No API key": Make sure you've set the
OPENAI_API_KEYenvironment variable - Mock data returned: This means the API key isn't set or ChatGPT encountered an error
- Slow responses: ChatGPT API calls take 2-5 seconds; this is normal