diff --git a/03.Code/업로드용/handlers/common.py b/03.Code/업로드용/handlers/common.py deleted file mode 100644 index 08bc2ee..0000000 --- a/03.Code/업로드용/handlers/common.py +++ /dev/null @@ -1,86 +0,0 @@ -from dotenv import load_dotenv -load_dotenv() -# -*- coding: utf-8 -*- -""" -공통 핸들러 함수 -- Claude API 호출 -- JSON/HTML 추출 -""" - - -import os -import re -import json -import anthropic - -# Claude API 클라이언트 설정 -client = anthropic.Anthropic( - api_key=os.environ.get("ANTHROPIC_API_KEY") -) - - -def call_claude(system_prompt: str, user_message: str, max_tokens: int = 8000) -> str: - """Claude API 호출""" - response = client.messages.create( - model="claude-sonnet-4-20250514", - max_tokens=max_tokens, - system=system_prompt, - messages=[{"role": "user", "content": user_message}] - ) - return response.content[0].text - - -def extract_json(text: str) -> dict: - """텍스트에서 JSON 추출""" - # 코드 블록 제거 - if '```json' in text: - text = text.split('```json')[1].split('```')[0] - elif '```' in text: - text = text.split('```')[1].split('```')[0] - - text = text.strip() - - # JSON 파싱 시도 - try: - return json.loads(text) - except json.JSONDecodeError: - # JSON 부분만 추출 시도 - match = re.search(r'\{[\s\S]*\}', text) - if match: - try: - return json.loads(match.group()) - except: - pass - return None - - -def extract_html(text: str) -> str: - """텍스트에서 HTML 추출""" - # 코드 블록 제거 - if '```html' in text: - text = text.split('```html')[1].split('```')[0] - elif '```' in text: - parts = text.split('```') - if len(parts) >= 2: - text = parts[1] - - text = text.strip() - - # )', text, re.IGNORECASE) - if match: - text = match.group(1) - - return text - - -def load_prompt(prompts_dir: str, filename: str) -> str: - """프롬프트 파일 로드""" - prompt_path = os.path.join(prompts_dir, filename) - try: - with open(prompt_path, 'r', encoding='utf-8') as f: - return f.read() - except FileNotFoundError: - return None \ No newline at end of file