IR_ESG_RAG_Bot / openai_client.py
Corin1998's picture
Upload 8 files
f31c318 verified
raw
history blame contribute delete
839 Bytes
from __future__ import annotations
from typing import List, Dict
from openai import OpenAI
_client = None
def client() -> OpenAI:
global _client
if _client is None:
# OPENAI_API_KEY / OPENAI_BASE_URL は環境変数から取得
_client = OpenAI()
return _client
# Embeddings
def embed_texts(texts: List[str], model: str) -> List[List[float]]:
resp = client().embeddings.create(model=model, input=texts)
return [d.embedding for d in resp.data]
# Responses API
def chat(messages: List[Dict], model: str, max_output_tokens: int = 700, temperature: float = 0.2) -> str:
# Responses APIは input=messages
resp = client().responses.create(
model=model,
input=messages,
max_output_tokens=max_output_tokens,
temperature=temperature,
)
return resp.output_text