Skip to content

Commit b349f75

Browse files
committed
generated file: core/services/openai_service.py
1 parent 01d1575 commit b349f75

File tree

1 file changed

+31
-0
lines changed

1 file changed

+31
-0
lines changed

core/services/openai_service.py

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
from typing import Optional
2+
from fastapi import HTTPException
3+
from openai import OpenAI
4+
from .models import ResponseModel
5+
6+
class OpenAIService:
7+
def __init__(self, api_key: str):
8+
self.openai = OpenAI(api_key=api_key)
9+
10+
async def generate_text(self, text: str, model: str, temperature: Optional[float] = 0.7, max_tokens: Optional[int] = 2048) -> ResponseModel:
11+
try:
12+
response = await self.openai.completions.create(
13+
model=model,
14+
prompt=text,
15+
temperature=temperature,
16+
max_tokens=max_tokens,
17+
)
18+
return ResponseModel(text=response.choices[0].text)
19+
except Exception as e:
20+
raise HTTPException(status_code=500, detail=f"Error generating text: {e}")
21+
22+
async def translate_text(self, text: str, model: str, target_language: str) -> ResponseModel:
23+
try:
24+
response = await self.openai.translations.create(
25+
model=model,
26+
prompt=text,
27+
target_language=target_language,
28+
)
29+
return ResponseModel(text=response.choices[0].text)
30+
except Exception as e:
31+
raise HTTPException(status_code=500, detail=f"Error translating text: {e}")

0 commit comments

Comments
 (0)