Spaces:
Running
Running
File size: 2,620 Bytes
6dc9d46 aefac4f 6dc9d46 aefac4f 6dc9d46 aefac4f 6dc9d46 aefac4f 6dc9d46 aefac4f 6dc9d46 ad2e847 6dc9d46 ad2e847 6dc9d46 ad2e847 6dc9d46 aefac4f 6dc9d46 aefac4f 6dc9d46 aefac4f | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 | """
Quick script to help set up Google API key for fast embeddings
"""
import os
from pathlib import Path
def setup_google_api_key():
"""Interactive setup for Google API key"""
print("="*70)
print("Fast Embeddings Setup - Google Gemini API")
print("="*70)
print("\nWhy Google Gemini?")
print(" - 100x faster than local Ollama (2 mins vs 30+ mins)")
print(" - FREE for standard usage")
print(" - High quality embeddings")
print(" - Automatic fallback to Ollama if unavailable")
print("\n" + "="*70)
print("Step 1: Get Your Free API Key")
print("="*70)
print("\n1. Open this URL in your browser:")
print(" https://aistudio.google.com/app/apikey")
print("\n2. Sign in with Google account")
print("3. Click 'Create API Key'")
print("4. Copy the key (starts with 'AIza...')")
input("\nPress ENTER when you have your API key ready...")
api_key = input("\nPaste your Google API key here: ").strip()
if not api_key:
print("\nNo API key provided. Using local Ollama instead.")
return False
if not api_key.startswith("AIza"):
print("\nWarning: Key doesn't start with 'AIza'. Are you sure this is correct?")
confirm = input("Continue anyway? (y/n): ").strip().lower()
if confirm != 'y':
return False
# Update .env file
env_path = Path(".env")
if env_path.exists():
with open(env_path, 'r') as f:
lines = f.readlines()
# Update or add GOOGLE_API_KEY
updated = False
for i, line in enumerate(lines):
if line.startswith("GOOGLE_API_KEY="):
lines[i] = f'GOOGLE_API_KEY={api_key}\n'
updated = True
break
if not updated:
lines.insert(0, f'GOOGLE_API_KEY={api_key}\n')
with open(env_path, 'w') as f:
f.writelines(lines)
else:
# Create new .env file
with open(env_path, 'w') as f:
f.write(f'GOOGLE_API_KEY={api_key}\n')
print("\nAPI key saved to .env file!")
print("\n" + "="*70)
print("Step 2: Build Vector Store")
print("="*70)
print("\nRun this command:")
print(" python src/pdf_processor.py")
print("\nChoose option 1 (Google Gemini) when prompted.")
print("\n" + "="*70)
return True
if __name__ == "__main__":
try:
setup_google_api_key()
except KeyboardInterrupt:
print("\n\nSetup cancelled.")
except Exception as e:
print(f"\nError: {e}")
|