【大規模モデル】ソフトウェア機能設計における大規模モデルの適用

ビジネスオブジェクトを作成する

1. 既存のビジネス オブジェクトをベクター データベースに入れることができます
。 2. 作成する新しいビジネス オブジェクトがない場合は、直接スキップします。
3. 新しいビジネス オブジェクトはユーザーによって手動で作成されます。

即効性のある言葉

あなたが Java ソフトウェア技術専門家であると仮定して、次の yaml 形式に従って対応するエンティティ オブジェクトを生成します。このうち
1、最上位層はオブジェクト名、
2、各キーに対応する値はオブジェクト属性のタイプです。 type はオプションです。指定されていない場合は、コンテキストに従って推論します。
3. 必要に応じてキャッシュ属性を追加できます。
5. 複数のネスト層がある場合、対応するクラスは内部クラスであり、クラス修飾子は次のとおりです。 public static.
以下のyamlに従ってJavaオブジェクトを生成し、lombokを使用してください。
"""
{yaml オブジェクトの説明、詳細については例を参照}
"""

あなたが Java ソフトウェア技術専門家であると仮定して、次の yaml 形式に従って対応するエンティティ オブジェクトを生成します。このうち
1、最上位層はオブジェクト名、
2、各キーに対応する値はオブジェクト属性のタイプです。 type はオプションです。指定されていない場合は、コンテキストに従って推論します。
3. 必要に応じてキャッシュ属性を追加できます。
5. 複数のネスト層がある場合、対応するクラスは内部クラスであり、クラス修飾子は次のとおりです。 public static.
以下のyamlに従ってJavaオブジェクトを生成し、lombokを使用してください。
「」

  • インスタンス:
    名前: 文字列
    URL: 文字列
    利用可能な: int
  • lb:
    一貫性のあるハッシュ:
    リクエスト:
    ヘッダー:
    キー: 文字列
    正規表現: 文字列
  • ヘルスチェック:
    間隔: 長い
  • マイクロインスタンス:
    名前: 文字列
    lb: lb
    healthcheck: healthcheck
    インスタンス:
    - インスタンス
  • サービスプロパティ:
    • マイクロインスタンス
  • microserviceInfo:
    name: string
    名前空間: string
    accessurl: string
    servicecontext
    : string context: string
    microinstances:
    - microinstance: microinstance
    """

オブジェクトの生成例

@Data
public class Instance {
    
    

    private String name;

    private String url;

    private Integer available;
}


@Data
public class Lb {
    
    

    @Singular("consistentHash")
    private List<ConsistentHash> consistentHashes = new ArrayList<>();

    @Data
    public static class ConsistentHash {
    
    

        private Request request;

        @Data
        public static class Request {
    
    

            private Map<String, String> headers = new HashMap<>();
        }
    }
}


@Data
public class HealthCheck {
    
    

    private Long interval;
}


@Data
public class MicroInstance {
    
    

    private String name;

    private Lb lb;

    private HealthCheck healthcheck;

    private Set<Instance> instances = new HashSet<>();
}


@Data
public class ServiceProperties {
    
    

    @Singular
    private List<MicroInstance> microInstances = new ArrayList<>();
}


@Data
public class MicroServiceInfo {
    
    

    private String name;

    private String namespace;

    private String accessUrl;

    private String serviceContext;

    private String context;

    private ServiceProperties serviceProperties;

    private Set<MicroInstance> microInstances = new LinkedHashSet<>();
}

ビジネスの論理

1. ビジネスオブジェクトに基づいてビジネスロジックを記述する

即効性のある言葉

上記のオブジェクトに従って、以下の業務記述に従って、対応する Java コードを生成します。
1、入力表現メソッドの入力パラメータ
2、プロセッサ表現メソッドの具体的な処理プロセス
3、出力表現メソッドの出力パラメータ
3、対応するクラスはインターフェイス クラスと実装クラスを自動的に実装します。
制約
1. Spring Boot、Spring Cloud Gateway、caffeine、guava テクノロジ スタックを使用します。
2. パッケージ パスは com.example.gateway
"""
{yaml でビジネス ロジックの記述を整理します。フォーマット}
"""

上記のオブジェクトに従って、以下の業務記述に従って、対応する Java コードを生成します。
1、入力表現メソッドの入力パラメータ
2、プロセッサ表現メソッドの具体的な処理プロセス
3、出力表現メソッドの出力パラメータ
3、対応するクラスは自動的にインターフェイス クラスと実装クラスを実装します。
制約
1. Spring Boot、Spring Cloud Gateway、caffeine、guava テクノロジ スタックを使用します
。 2. パッケージ パスは com.example.gateway
"""です。

  • healthCheckService:
    checkservice:
    input: null
    プロセッサ:
    ステップ 1: 構成ファイル application.yanl から spring.cloud.gateway.services 構成を読み取り、それを serviceproperties オブジェクトに解析します。
    ステップ 2: serviceproperties 内の各マイクロインスタンスを走査し、
    get を通じて microinstance.instances にアクセスします。 webclient のリクエスト の各インスタンスの URL について、例外がスローされた場合、または戻り値が Bad の場合は、
    インスタンスの使用可能な値を 0 に設定し、そうでない場合は、インスタンスの使用可能な値を 1 に設定します
    。 出力: null
    """

上記のオブジェクトに従って、以下の業務記述に従って、対応する Java コードを生成します。
1、入力表現メソッドの入力パラメータ
2、プロセッサ表現メソッドの具体的な処理プロセス
3、出力表現メソッドの出力パラメータ
3、インターフェイス クラスと実装クラスの
制約を自動的に生成します
。 1. Spring Boot、Spring Cloud Gateway、caffeine、guava テクノロジ スタックを使用します
。 2. パッケージ パスは com.example.gateway
"""です。

  • guavaconsistenthashservice: クラス
    の説明: 一貫性のあるハッシュ ロード バランシング サービスの
    メソッド:
    constanthash:
    入力:
    val: 文字列
    バケット: int
    プロセッサ:
    ステップ 1: guava の Hashing.consistentHash() を使用して一貫性のあるハッシュの
    出力を計算します:
    インデックス: int
  • constantHashloadbalanceservice: クラス
    の説明: 整合性ハッシュ ロード バランシング サービスの
    ロードバランス: null
    入力:
    交換: ServerWebExchange
    microserviceinfo: microserviceInfo
    プロセッサ:
    ステップ 1: microserviceInfo から整合性ハッシュを読み取り、consistenthash から要求を読み取り、要求からヘッダーを読み取り、ヘッダーから読み取ります。 キー val の値 ステップ 2
    : http ヘッダーから val に対応するヘッダー値を読み取ります。
    ステップ 3: guavaconsistenthashservice を使用して一貫性のあるハッシュを計算し、instanceIndex を返します。
    ステップ 4: microserviceinfo 内のインスタンスから、instanceIndex に対応するインスタンスを読み取り、インスタンス
    出力を返します。
    インスタンス: インスタンス
    """

ビジネス ロジック (バージョン 2)

上記のオブジェクトに従って、次のビジネス記述に従って対応する Java コードを生成します。ここで、
1. id は関数ポイントを示します
。2. プロセッサーはメソッドの特定の処理プロセスを示します
。3. ステップは特定のステップを示します。
テクノロジー スタック
1、スプリング ブート、スプリング クラウド ゲートウェイ、カフェイン、グアバ
"""

  • ヘルスチェックサービス: null
    ID: インスタンスが使用可能かどうかを確認します。
    プロセッサー:
    ステップ 1: 構成ファイル application.yanl から構成 spring.cloud.gateway.services を読み取り、それを解析して
    サービスプロパティオブジェクトに
    変換します。 ステップ 2: サービスプロパティ内の各マイクロインスタンスを走査します。
    ステップ 3 : マイクロインスタンス内のマイクロインスタンスをトラバースする インスタンス内の各インスタンス
    ステップ 4: Web クライアントの get リクエストを通じてインスタンスの URL にアクセスする 例外がスローされるか戻り値が Bad の場合、インスタンスのステータスは 0 としてマークされ、それ以外の場合はステータス
    が1 としてマークされています
  • コンシステント ハッシュ ロード バランシング サービス: null
    説明: コンシステント ハッシュの計算
    プロセス:
    step1: microserviceInfo からconsistenthashを読み取り、consistenthash からリクエストを読み取り、
    リクエストからヘッダーを読み取り、ヘッダーからキー値 val を読み取る
    step2: http ヘッダーから val に対応する値 headervalue を読み取る
    step3: guavaconsistenthashservice を使用して一貫したハッシュを計算し、instanceIndex を返します。
    step4: microserviceinfo のインスタンスから、instanceIndex に対応するインスタンスを読み取り、instanceIndex を返します。
  • コンシステント ハッシュ ロード バランシング サービス: null
    ID: コンシステント ハッシュの計算
    プロセッサ:
    ステップ 1: Guava の Hashing.consistentHash() を使用してコンシステント ハッシュ
    """を計算します。

上陸戦略

1. 検証要件
2. 最初に、関係者がプロンプトの単語を確認して、全員の説明の正確さを訓練する必要があります

おすすめ

転載: blog.csdn.net/wenxueliu/article/details/132130391