Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Backend API] Implement endpoint for list of deployment models #170 #334

Draft
wants to merge 21 commits into
base: main
Choose a base branch
from

Conversation

yjchun626
Copy link
Contributor

이슈

목표

변경 사항

  1. PlaygroundEndpoints.cs - AddListDeploymentModels 구현
  2. 필요한 PlaygroundService.cs, EventRepository.cs 추가
  • 이미 어느 정도 진행된 다른 PR에서 제 이슈와도 관련된 Service, Repository 구현이 이루어진 것 같아서 거의 그대로 참조했습니다.
  • [Backend API] Implement endpoint for list of events #330
    • 추가적인 변경 사항: EventRepository.csGetDeploymentModels Task를 추가했습니다.
  1. 아직 테스트 코드는 작성하지 않았습니다.

궁금한 점

  • Url 상 /events/{eventId}/deployment-models로 되어있어서 우선은 특정 event에 eventId로 접근을 하고, 그 event에 허용된 deployment model의 리스트를 가져오는 절차라고 대략 생각하고 있었습니다.
  • 아직 테이블 구조와 EventDetail 등 세부적인 관계가 어떻게 되는지에 대해 정확히 파악하지 못해서, repository 계층에서 GetDeploymentModels 메소드를 구체적으로 어떻게 구현해야 하는지 잘 모르겠습니다.
  1. 리포지토리 계층의 GetDeploymentModels를 구현할 때 EventRepository.cs가 아닌 다른 개별 파일을 만드는 것이 좋을까요?
  2. eventId로 개별 이벤트를 조회한 다음에, 그 이벤트에서 사용가능한 deployment model의 list를 가져오는 것을 어떻게 해야 하는지 아직 감을 못 잡은 상태입니다.
  • 다른 파일들을 살펴보다 infra/scripts/New-OpenAIs.ps1 등의 파일에서 다음과 같은 코드들을 발견하긴 했는데, 그러면 Azure 상의 특정 위치에 직접 접근을 해서 가져오는 방식인 것인지... 등을 여쭙고 싶습니다.
# Check available models
    $models = az rest --method GET `
        --uri "$url/locations/$location/models?api-version=$ApiVersion" `
        --query "sort_by(value[?kind == 'OpenAI'].{ name: model.name, version: model.version, skus: model.skus }, &name)" | ConvertFrom-Json
...

@justinyoo
Copy link
Contributor

justinyoo commented Oct 7, 2024

  • Url 상 /events/{eventId}/deployment-models로 되어있어서 우선은 특정 event에 eventId로 접근을 하고, 그 event에 허용된 deployment model의 리스트를 가져오는 절차라고 대략 생각하고 있었습니다.
  • 아직 테이블 구조와 EventDetail 등 세부적인 관계가 어떻게 되는지에 대해 정확히 파악하지 못해서, repository 계층에서 GetDeploymentModels 메소드를 구체적으로 어떻게 구현해야 하는지 잘 모르겠습니다.

아무래도 RDB를 쓰는게 아니다보니 각 개체들 관계가 명확하지 않아요. 현재 EventDetails 엔티티에 Resources 속성이 없어서 그걸 추가하고 거기에 ResourceId 값을 리스트로 추가하는 식으로 해야 할 듯 합니다.

public class EventDetails : ITableEntity
{
    ...

    public List<Guid> Resources { get; set; } = [];

    ...
}

이렇게 해 두면 특정 EventId 값으로 이벤트를 가지고 오면 거기에 물린 ResourceId 값을 가지고 한 번 더 쿼리를 날리는 식으로 하면 될 듯?

@justinyoo
Copy link
Contributor

justinyoo commented Oct 7, 2024

  • 리포지토리 계층의 GetDeploymentModels를 구현할 때 EventRepository.cs가 아닌 다른 개별 파일을 만드는 것이 좋을까요?
  • eventId로 개별 이벤트를 조회한 다음에, 그 이벤트에서 사용가능한 deployment model의 list를 가져오는 것을 어떻게 해야 하는지 아직 감을 못 잡은 상태입니다.

GetDeploymentModels() 메소드 NotImplementedException 처리(임시)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[Backend API] Implement endpoint for list of deployment models
2 participants