from fastapi import FastAPI from pydantic import BaseModel from langchain_openai import AzureChatOpenAI import os app = FastAPI(title="Translation API") os.environ['AZURE_OPENAI_API_KEY'] = os.getenv("AZURE_OPENAI_API_KEY") os.environ['OPENAI_API_VERSION'] = os.getenv("OPENAI_API_VERSION") os.environ['AZURE_OPENAI_ENDPOINT'] = os.getenv("AZURE_OPENAI_ENDPOINT") llm = AzureChatOpenAI( azure_deployment="gpt-4o", temperature=0, max_tokens=None, timeout=None, max_retries=2, ) class TranslateRequest(BaseModel): text: str class TranslateResponse(BaseModel): translated_text: str @app.post("/chat", response_model=TranslateResponse) def translate_text(request: TranslateRequest): messages = [ ( "system", "You are a helpful assistant that answers questions about the user's query.", ), ("human", request.text), ] ai_msg = llm.invoke(messages) return TranslateResponse( translated_text=ai_msg.content )