Files
litellm-config/scripts/extract-keys.py
T

41 lines
1.3 KiB
Python

import re, os, sys
# Read the litellm config
with open("/opt/litellm/config.yaml") as f:
content = f.read()
# Helper to extract keys by source name
def extract_keys_before(content, keyword, count=5):
"""Extract api_key values that appear before a given keyword."""
lines = content.split("\n")
keys = []
for i, line in enumerate(lines):
if keyword in line.lower():
# Look backwards for api_key
for j in range(i-1, max(0, i-10), -1):
if "api_key" in lines[j]:
key = lines[j].split('"')[1] if '"' in lines[j] else None
if key and key not in keys:
keys.append(key)
break
return keys[:count]
# Extract by model group
gemini_keys = extract_keys_before(content, "gemini")
github_keys = extract_keys_before(content, "github")
groq_keys = extract_keys_before(content, "groq")
# Print as env file format
print("# GENERATED ENV FILE")
print("# Copy these to /etc/litellm/.env")
for i, k in enumerate(gemini_keys):
print(f"GEMINI_API_KEY_{i+1}={k}")
for i, k in enumerate(github_keys):
# GitHub models use a different env var format
print(f"GITHUB_TOKEN_{i+1}={k}")
for i, k in enumerate(groq_keys):
print(f"GROQ_API_KEY_{i+1}={k}")