aws-genai-llm-chatbot

Форк
0
44 строки · 1.3 Кб
1
import * as cdk from "aws-cdk-lib";
2
import { Construct } from "constructs";
3
import * as path from "path";
4
import { DeploymentType, SageMakerModel } from "../../sagemaker-model";
5
import { Shared } from "../../shared";
6
import { SystemConfig } from "../../shared/types";
7
import { NagSuppressions } from "cdk-nag";
8

9
export interface SageMakerRagModelsProps {
10
  readonly config: SystemConfig;
11
  readonly shared: Shared;
12
}
13

14
export class SageMakerRagModels extends Construct {
15
  readonly model: SageMakerModel;
16

17
  constructor(scope: Construct, id: string, props: SageMakerRagModelsProps) {
18
    super(scope, id);
19

20
    const sageMakerEmbeddingsModelIds = props.config.rag.embeddingsModels
21
      .filter((c) => c.provider === "sagemaker")
22
      .map((c) => c.name);
23

24
    const sageMakerCrossEncoderModelIds = props.config.rag.crossEncoderModels
25
      .filter((c) => c.provider === "sagemaker")
26
      .map((c) => c.name);
27

28
    const model = new SageMakerModel(this, "Model", {
29
      vpc: props.shared.vpc,
30
      region: cdk.Aws.REGION,
31
      model: {
32
        type: DeploymentType.CustomInferenceScript,
33
        modelId: [
34
          ...sageMakerEmbeddingsModelIds,
35
          ...sageMakerCrossEncoderModelIds,
36
        ],
37
        codeFolder: path.join(__dirname, "./model"),
38
        instanceType: "ml.g4dn.xlarge",
39
      },
40
    });
41

42
    this.model = model;
43
  }
44
}
45

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.