Files
Church-Music/legacy-site/documentation/md-files/SETUP_CHATGPT.md

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

  1. Go to https://platform.openai.com/api-keys
  2. Sign in or create an account
  3. Click "Create new secret key"
  4. Copy the API key (it starts with sk-...)

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" to model="gpt-3.5-turbo" in backend/app.py

Troubleshooting

  • Error: "No API key": Make sure you've set the OPENAI_API_KEY environment 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