前言
隨著生成式人工智能(AIGC)技術(shù)的蓬勃發(fā)展,技術(shù)創(chuàng)作者們?cè)俅斡咳胍粋€(gè)充滿挑戰(zhàn)與機(jī)遇的新領(lǐng)域。Amazon Bedrock 是一個(gè)專為創(chuàng)新者設(shè)計(jì)的平臺(tái),它提供了構(gòu)建生成式人工智能應(yīng)用程序所需的一切工具和資源。無(wú)論您的技術(shù)背景如何,Amazon Bedrock 都能讓您快速上手并體驗(yàn)到最新的生成式人工智能技術(shù)。對(duì)于AI新手和希望提升技能的專家來(lái)說(shuō),Amazon Bedrock 都是一個(gè)強(qiáng)大的助力。
今天我們就來(lái)一場(chǎng)酣暢淋漓的手把手教程, 讓我們快速輕松的感受生成式人工智能的構(gòu)建
登錄Amazon Bedrock
點(diǎn)擊鏈接 如下圖所示點(diǎn)擊開始實(shí)驗(yàn)
進(jìn)入操作頁(yè)面開啟生成式ai 之旅吧??!
Meta Liama2 模型快速體驗(yàn)
模型這里我們選擇 Meta => LIama2 Chat 70B 吞吐量 按需即可
選擇完成之后 點(diǎn)擊應(yīng)用
效果演示
當(dāng)我們點(diǎn)擊應(yīng)用之后 效果如下
名詞解釋
名稱 | 解釋 |
---|---|
隨機(jī)性和多樣性 | 通過(guò)將輸出限制為更可能的結(jié)果或改變輸出概率分布的形狀來(lái)影響生成的響應(yīng)的變化。 |
長(zhǎng)度 | 通過(guò)指定結(jié)束響應(yīng)生成的最大長(zhǎng)度或字符序列來(lái)限制響應(yīng)。 |
項(xiàng)目工程介紹
效果演示
我提出的問(wèn)題是 : JavaScript 中如和理解閉包
回復(fù)如下:
對(duì)于代碼解釋看起來(lái)還是有點(diǎn)東西的哦!!
Meta Llama 2 API的調(diào)用
打開 Amazon Cloud9 實(shí)驗(yàn)環(huán)境
打開控制臺(tái),搜索Cloud9, 點(diǎn)擊進(jìn)入
創(chuàng)建環(huán)境
設(shè)置環(huán)境詳細(xì)信息
- 設(shè)置名稱為 bedrock
- 設(shè)置實(shí)例類型 t3.small
- 平臺(tái) Ubuntu Server 22.04 LTS
- 超時(shí) 30 分鐘
溫馨提示:
- 實(shí)驗(yàn)環(huán)境中僅限選擇Cloud9 EC2實(shí)例為 t3.small (2 GiB RAM + 2 vCPU)
- 基于不浪費(fèi)的原則,創(chuàng)建Cloud9的時(shí)候,超時(shí)時(shí)間只能選擇默認(rèn)的30分鐘的選項(xiàng),且Cloud9實(shí)例數(shù)量也將自動(dòng)審核,如果發(fā)現(xiàn)異常會(huì)關(guān)閉Cloud9實(shí)例,甚至封禁賬號(hào),務(wù)必注意文明實(shí)驗(yàn)
熟悉 Amazon Cloud9 實(shí)驗(yàn)環(huán)境
首次進(jìn)入 Cloud9 實(shí)驗(yàn)環(huán)境中需要等待加載
在Amazon Cloud9 IDE中,選擇 終端
在終端中輸入如下命令
cd ~/environment/
curl 'https://dev-media.amazoncloud.cn/doc/workshop.zip' --output workshop.zip
unzip workshop.zip
等待解壓完成
查看對(duì)應(yīng)的文件目錄
繼續(xù)使用 終端,安裝實(shí)驗(yàn)所需的環(huán)境依賴項(xiàng)
pip3 install -r ~/environment/workshop/setup/requirements.txt -U
編寫調(diào)用 Meta Llama 2 API 應(yīng)用
請(qǐng)求參數(shù)
參數(shù) | 說(shuō)明 |
---|---|
prompt復(fù)制 | 要傳遞給模型的提示,這是必填項(xiàng)。 |
temperature復(fù)制 | 降低響應(yīng)的隨機(jī)性,默認(rèn)值為0.5,取值范圍是0到1。 |
top_p復(fù)制 | 忽略可能性較小的選項(xiàng),默認(rèn)值為0.9,取值范圍是0到1。 |
max_gen_len復(fù)制 | 生成響應(yīng)的最大令牌數(shù),默認(rèn)值為512,取值范圍是1到2048。 |
返回參數(shù)
{
"generation": "\n\n<response>",
"prompt_token_count": int,
"generation_token_count": int,
"stop_reason" : string
}
參數(shù)說(shuō)明說(shuō)明
參數(shù) | 解釋意思 |
---|---|
生成 | 指生成的文本。 |
prompt_token_count復(fù)制 | 表示提示中的代幣數(shù)量。 |
generation_token_count復(fù)制 | 代表生成的文本中的標(biāo)記數(shù)量。 |
stop_reason復(fù)制 | 用于說(shuō)明響應(yīng)停止生成文本的原因。其可能的值為:1、stop 意味著模型已結(jié)束為輸入提示生成文本。2、length表示生成的文本的詞元長(zhǎng)度超過(guò)了對(duì) InvokeModel(如果需要對(duì)輸出進(jìn)行流式傳輸,則為 InvokeModelWithResponseStream)的調(diào)用中的 max_gen_len 值。此時(shí)響應(yīng)會(huì)被截?cái)酁?max_gen_len 個(gè)詞元。可考慮增大 max_gen_len 的值并重試。 |
操作流程講解
- 打開workshop/labs/api文件夾,打開文件bedrock_api.py
- 導(dǎo)入依賴語(yǔ)句允許我們使用Amazon boto3庫(kù)來(lái)調(diào)用Amazon Bedrock
import json
import boto3
- 初始化Bedrock客戶端庫(kù),創(chuàng)建一個(gè)Bedrock客戶端
session = boto3.Session()
bedrock = session.client(service_name='bedrock-runtime') #初始化Bedrock客戶端庫(kù)
-
編寫API調(diào)用代碼
我們將確定要使用的模型、提示和指定模型的推理參數(shù)。
bedrock_model_id = "meta.llama2-70b-chat-v1" #設(shè)置模型
prompt = "說(shuō)一下冒泡排序的原理?" #提示詞
body = json.dumps({
"prompt": prompt,
"max_gen_len": 2048,
"temperature":0.5,
"top_p":0.9
})
- 使用Amazon Bedrock的invoke_model函數(shù)進(jìn)行調(diào)用
response = bedrock.invoke_model(body=body, modelId=bedrock_model_id, accept='application/json', contentType='application/json') #發(fā)送調(diào)用請(qǐng)求
- 從模型的響應(yīng)JSON中提取并打印返回的文本
response_body = json.loads(response.get('body').read())
response_text=response_body['generation'] #從 JSON 中返回相應(yīng)數(shù)據(jù)
print(response_text)
- 保存文件,并準(zhǔn)備運(yùn)行腳本
cd ~/environment/workshop/labs/api
python bedrock_api.py
8 運(yùn)行結(jié)果如下
完整代碼
import json
import boto3
session = boto3.Session()
bedrock = session.client(service_name='bedrock-runtime') #初始化Bedrock客戶端庫(kù)
bedrock_model_id = "meta.llama2-70b-chat-v1" #設(shè)置模型
prompt = "說(shuō)一下冒泡排序的原理?" #提示詞
body = json.dumps({
"prompt": prompt,
"max_gen_len": 2048,
"temperature":0.5,
"top_p":0.9
})
response = bedrock.invoke_model(body=body, modelId=bedrock_model_id, accept='application/json', contentType='application/json') #發(fā)送調(diào)用請(qǐng)求
response_body = json.loads(response.get('body').read())
response_text=response_body['generation'] #從 JSON 中返回相應(yīng)數(shù)據(jù)
print(response_text)
是不是很簡(jiǎn)單呢文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-860782.html
總結(jié)
隨著生成式人工智能的逐漸火爆, 期待小伙伴們也快快的加入進(jìn)來(lái)體驗(yàn)一番吧??!文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-860782.html
到了這里,關(guān)于基于Amazon Bedrock_構(gòu)建生成式 AI 應(yīng)用的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!