From cf381b1123caf6a6d9460f92a270adb54551f94e Mon Sep 17 00:00:00 2001 From: ks6088ts Date: Sun, 9 Jun 2024 11:52:54 +0900 Subject: [PATCH] add agents codes --- backend/fastapi.py | 2 ++ backend/internals/agents.py | 10 ++++++++++ backend/routers/agents.py | 31 +++++++++++++++++++++++++++++++ backend/schemas/agents.py | 9 +++++++++ backend/settings/agents.py | 13 +++++++++++++ settings/agents.env.sample | 4 ++++ 6 files changed, 69 insertions(+) create mode 100644 backend/internals/agents.py create mode 100644 backend/routers/agents.py create mode 100644 backend/schemas/agents.py create mode 100644 backend/settings/agents.py create mode 100644 settings/agents.env.sample diff --git a/backend/fastapi.py b/backend/fastapi.py index f70d99f..6f95c1d 100644 --- a/backend/fastapi.py +++ b/backend/fastapi.py @@ -1,6 +1,7 @@ from fastapi import FastAPI from fastapi.openapi.utils import get_openapi +from backend.routers import agents as agents_router from backend.routers import azure_ai_document_intelligence as azure_ai_document_intelligence_router from backend.routers import azure_ai_speech as azure_ai_speech_router from backend.routers import azure_ai_vision as azure_ai_vision_router @@ -23,6 +24,7 @@ azure_storage_queue_router.router, azure_cosmos_db_router.router, azure_ai_speech_router.router, + agents_router.router, ]: app.include_router(router) diff --git a/backend/internals/agents.py b/backend/internals/agents.py new file mode 100644 index 0000000..53c533d --- /dev/null +++ b/backend/internals/agents.py @@ -0,0 +1,10 @@ +from logging import getLogger + +from backend.settings.agents import Settings + +logger = getLogger(__name__) + + +class Client: + def __init__(self, settings: Settings) -> None: + self.settings = settings diff --git a/backend/routers/agents.py b/backend/routers/agents.py new file mode 100644 index 0000000..179cc5f --- /dev/null +++ b/backend/routers/agents.py @@ -0,0 +1,31 @@ +from logging import getLogger + +from fastapi import APIRouter, status +from fastapi.responses import JSONResponse + +from backend.internals.agents import Client +from backend.schemas import agents as agents_schemas +from backend.settings.agents import Settings + +logger = getLogger(__name__) + +client = Client( + settings=Settings(), +) + +router = APIRouter( + prefix="/agents", + tags=["agents"], + responses={404: {"description": "Not found"}}, +) + + +@router.post( + "/hello", + status_code=200, +) +async def hello(request: agents_schemas.HelloRequest): + return JSONResponse( + status_code=status.HTTP_200_OK, + content=request.model_dump(), + ) diff --git a/backend/schemas/agents.py b/backend/schemas/agents.py new file mode 100644 index 0000000..c718813 --- /dev/null +++ b/backend/schemas/agents.py @@ -0,0 +1,9 @@ +from logging import getLogger + +from pydantic import BaseModel + +logger = getLogger(__name__) + + +class HelloRequest(BaseModel): + prompt: str diff --git a/backend/settings/agents.py b/backend/settings/agents.py new file mode 100644 index 0000000..a30368e --- /dev/null +++ b/backend/settings/agents.py @@ -0,0 +1,13 @@ +from pydantic_settings import BaseSettings, SettingsConfigDict + + +class Settings(BaseSettings): + agents_azure_openai_endpoint: str = "https://.openai.azure.com" + agents_azure_openai_api_key: str = "" + agents_azure_openai_api_version: str = "2024-05-01-preview" + agents_azure_openai_gpt_model: str = "gpt-4o" + + model_config = SettingsConfigDict( + env_file="settings/agents.env", + env_file_encoding="utf-8", + ) diff --git a/settings/agents.env.sample b/settings/agents.env.sample new file mode 100644 index 0000000..1b39cff --- /dev/null +++ b/settings/agents.env.sample @@ -0,0 +1,4 @@ +AGENTS_AZURE_OPENAI_ENDPOINT = "https://.openai.azure.com" +AGENTS_AZURE_OPENAI_API_KEY = "" +AGENTS_AZURE_OPENAI_API_VERSION = "2024-05-01-preview" +AGENTS_AZURE_OPENAI_GPT_MODEL = "gpt-4o"