import os from pydantic import BaseModel from datetime import datetime import pytz from src.clients.llm_client import LLMClient from src.utils.tracer import customtracer class Category(BaseModel): own_company_advantage_and_advice: str competitors_advantage: str 自社長所: str 自社改喁E: str class Summaries(BaseModel): FV: Category CTA: Category CONTENTS: Category CREATIVE: Category ACCESSIBILITY: Category @customtracer def score2summary( p, openai_key=os.environ.get('OPENAI_KEY'), gemini_key=None, model="meta-llama/Llama-3.3-70B-Instruct", ): """ input1 (text): 下記E「E社LPのコンチEチEを「構E案」E吁EEを書き換えください。書き換えE「E社LPのコンチEチEEみのチEEタを活用し、用語やニュアンス、特徴を活用すること。ただし、「構E案」E持つチEEマEそEままにすることを厳守。なお、商材名めEービス名がある場合E、忁E「E社LPのコンチEチE情報に変更、E input2 (text): default input3 (text): default input4 (text): gpt-4o output1 (json): 頁E """ print(datetime.now(pytz.timezone('Asia/Tokyo')).strftime("%Y-%m-%d %H:%M:%S"), __name__) selected_model = model if model else "meta-llama/Llama-3.3-70B-Instruct" if selected_model and "gemini" in selected_model.lower(): if gemini_key and gemini_key != "default": api_key = gemini_key else: api_key = os.environ.get('GEMINI_KEY') client = LLMClient(google_api_key=api_key) else: if openai_key and openai_key != "default": api_key = openai_key else: api_key = os.environ.get('OPENAI_KEY') client = LLMClient(openai_key=api_key) system_prompt = "持E通りに要紁E整琁E行ってください。own_company_advantage_and_advice(自社相対位置+自社長所+自社改喁E)とtotal_analysisには自社の惁Eのみ、competitors_advantageには他社の惁Eのみを記載してください" result = client.call( prompt=p, schema=Summaries, model=selected_model, system_prompt=system_prompt, temperature=0, ) return result.model_dump()