api_light_hf / apis /score2summary.py
Renecto's picture
deploy api_light_hf (2026-03-12 12:47:03)
cf7f643
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吁E��E��を書き換えください。書き換え�E「�E社LPのコンチE��チE���EみのチE�Eタを活用し、用語やニュアンス、特徴を活用すること。ただし、「構�E案」�E持つチE�Eマ�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()