Files
gemini-balance/app/service/embedding/embedding_service.py
snaily b3a057b6ba refactor: 代码结构优化与常量化
将日志系统从 app/logger/ 移至 app/log/ 目录
将路由配置从 routers.py 重命名为 routes.py
将硬编码配置值移至 constants.py 中的默认常量
统一代码格式和导入排序
优化函数参数对齐方式
2025-03-20 21:59:18 +08:00

26 lines
776 B
Python

from typing import List, Union
import openai
from openai.types import CreateEmbeddingResponse
from app.log.logger import get_embeddings_logger
logger = get_embeddings_logger()
class EmbeddingService:
def __init__(self, base_url: str):
self.base_url = base_url
async def create_embedding(
self, input_text: Union[str, List[str]], model: str, api_key: str
) -> CreateEmbeddingResponse:
"""Create embeddings using OpenAI API"""
try:
client = openai.OpenAI(api_key=api_key, base_url=self.base_url)
response = client.embeddings.create(input=input_text, model=model)
return response
except Exception as e:
logger.error(f"Error creating embedding: {str(e)}")
raise