使用 Amazon Bedrock 的代码示例 AWS SDKs - AWS SDK代码示例

AWS 文档 AWS SDK示例 GitHub 存储库中还有更多SDK示例

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用 Amazon Bedrock 的代码示例 AWS SDKs

以下代码示例向您展示了如何将 Amazon Bedrock 与 AWS 软件开发套件 (SDK) 一起使用。

基础知识是向您展示如何在服务中执行基本操作的代码示例。

操作是大型程序的代码摘录,必须在上下文中运行。您可以通过操作了解如何调用单个服务函数,还可以通过函数相关场景的上下文查看操作。

场景是向您展示如何通过在一个服务中调用多个函数或与其他 AWS 服务结合来完成特定任务的代码示例。

更多资源

开始使用

以下代码示例演示了如何开始使用 Amazon Bedrock。

.NET
AWS SDK for .NET
注意

还有更多相关信息 GitHub。查找完整示例,学习如何在 AWS 代码示例存储库中进行设置和运行。

using Amazon; using Amazon.Bedrock; using Amazon.Bedrock.Model; namespace ListFoundationModelsExample { /// <summary> /// This example shows how to list foundation models. /// </summary> internal class HelloBedrock { /// <summary> /// Main method to call the ListFoundationModelsAsync method. /// </summary> /// <param name="args"> The command line arguments. </param> static async Task Main(string[] args) { // Specify a region endpoint where Amazon Bedrock is available. For a list of supported region see https://docs.aws.amazon.com/bedrock/latest/userguide/what-is-bedrock.html#bedrock-regions AmazonBedrockClient bedrockClient = new(RegionEndpoint.USWest2); await ListFoundationModelsAsync(bedrockClient); } /// <summary> /// List foundation models. /// </summary> /// <param name="bedrockClient"> The Amazon Bedrock client. </param> private static async Task ListFoundationModelsAsync(AmazonBedrockClient bedrockClient) { Console.WriteLine("List foundation models with no filter"); try { ListFoundationModelsResponse response = await bedrockClient.ListFoundationModelsAsync(new ListFoundationModelsRequest() { }); if (response?.HttpStatusCode == System.Net.HttpStatusCode.OK) { foreach (var fm in response.ModelSummaries) { WriteToConsole(fm); } } else { Console.WriteLine("Something wrong happened"); } } catch (AmazonBedrockException e) { Console.WriteLine(e.Message); } } /// <summary> /// Write the foundation model summary to console. /// </summary> /// <param name="foundationModel"> The foundation model summary to write to console. </param> private static void WriteToConsole(FoundationModelSummary foundationModel) { Console.WriteLine($"{foundationModel.ModelId}, Customization: {String.Join(", ", foundationModel.CustomizationsSupported)}, Stream: {foundationModel.ResponseStreamingSupported}, Input: {String.Join(", ", foundationModel.InputModalities)}, Output: {String.Join(", ", foundationModel.OutputModalities)}"); } } }
Go
SDK适用于 Go V2
注意

还有更多相关信息 GitHub。查找完整示例,学习如何在 AWS 代码示例存储库中进行设置和运行。

package main import ( "context" "fmt" "github.com/aws/aws-sdk-go-v2/config" "github.com/aws/aws-sdk-go-v2/service/bedrock" ) const region = "us-east-1" // main uses the AWS SDK for Go (v2) to create an Amazon Bedrock client and // list the available foundation models in your account and the chosen region. // This example uses the default settings specified in your shared credentials // and config files. func main() { sdkConfig, err := config.LoadDefaultConfig(context.TODO(), config.WithRegion(region)) if err != nil { fmt.Println("Couldn't load default configuration. Have you set up your AWS account?") fmt.Println(err) return } bedrockClient := bedrock.NewFromConfig(sdkConfig) result, err := bedrockClient.ListFoundationModels(context.TODO(), &bedrock.ListFoundationModelsInput{}) if err != nil { fmt.Printf("Couldn't list foundation models. Here's why: %v\n", err) return } if len(result.ModelSummaries) == 0 { fmt.Println("There are no foundation models.")} for _, modelSummary := range result.ModelSummaries { fmt.Println(*modelSummary.ModelId) } }
JavaScript
SDK对于 JavaScript (v3)
注意

还有更多相关信息 GitHub。查找完整示例,学习如何在 AWS 代码示例存储库中进行设置和运行。

import { fileURLToPath } from "url"; import { BedrockClient, ListFoundationModelsCommand, } from "@aws-sdk/client-bedrock"; const REGION = "us-east-1"; const client = new BedrockClient({ region: REGION }); export const main = async () => { const command = new ListFoundationModelsCommand({}); const response = await client.send(command); const models = response.modelSummaries; console.log("Listing the available Bedrock foundation models:"); for (let model of models) { console.log("=".repeat(42)); console.log(` Model: ${model.modelId}`); console.log("-".repeat(42)); console.log(` Name: ${model.modelName}`); console.log(` Provider: ${model.providerName}`); console.log(` Model ARN: ${model.modelArn}`); console.log(` Input modalities: ${model.inputModalities}`); console.log(` Output modalities: ${model.outputModalities}`); console.log(` Supported customizations: ${model.customizationsSupported}`); console.log(` Supported inference types: ${model.inferenceTypesSupported}`); console.log(` Lifecycle status: ${model.modelLifecycle.status}`); console.log("=".repeat(42) + "\n"); } const active = models.filter( (m) => m.modelLifecycle.status === "ACTIVE", ).length; const legacy = models.filter( (m) => m.modelLifecycle.status === "LEGACY", ).length; console.log( `There are ${active} active and ${legacy} legacy foundation models in ${REGION}.`, ); return response; }; // Invoke main function if this file was run directly. if (process.argv[1] === fileURLToPath(import.meta.url)) { await main(); }
  • 有关API详细信息,请参阅 “AWS SDK for JavaScript API参考 ListFoundationModels” 中的。