| 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
|
| )
|
|
|