ChatGPT的探索與實踐
來源:京東技術
導讀
本文主要介紹在實際的開發過程當中,如何使用GPT幫助開發,最佳化流程;恰逢今年京東20週年慶,文末也介紹瞭如何與618大促實際的業務相結合,來提升應用價值。本文所有程式碼和指令碼均是利用GPT生成。
導讀
圖2.UI設計稿
圖3.需求描述語言示意
總結了在使用GPT進行程式碼開發時的重點:
主要資訊一定要表達明確,如語言型別,目標型別、寬、高、顏色、字號、間距等數值。
想象自己是產品經理或者是設計師,不用拘泥於專業術語,例如UIview、Segment、標籤等等,儘量使用自然語言表達。
不要存在自相矛盾的描述,100%會產生bug。
有些同學在描述需求的時候容易緊張,造成語句不通。在描述的時候完全可以不要著急,慢慢措辭。
不要涉密!不要涉密!不要涉密!GPT說到底是一個外部工具軟體,不是一個什麼問題都可以問的“樹洞”,涉及到商業機密的問題都不可以拿來詢問。
場景二:寫指令碼
這是經常拿來使用的應用場景,對於一些重複性較高的勞動,編寫指令碼顯然是最好的選擇,甚至有同學認為,未來的發展方向就是指令碼編寫程式碼。指令碼的開發完全也可以交由GPT來進行。比如有一個需求,由於接入主站基礎庫,有一些工具類的類名產生了衝突,這種情況下需要進行全工程的類名替換,這種場景就很適合使用指令碼。
圖5.寫指令碼應用場景示意
一般情況下寫這樣一個指令碼至少需要1~2個小時左右,熟練的大佬也需要半個小時左右,但是使用GPT,幾秒鐘就可以生成符合要求的指令碼。總結一下的幾種非常適合使用指令碼來處理的應用場景:
全工程級別的名稱替換
APP圖片名稱替換
單元測試
轉換自然語言
這裡說一下轉換自然語言的作用,作為開發者,更習慣的是輸入關鍵數值來得到結果,但是GPT需要的是自然語言的描述,畢竟叫“chat”嘛,所以可以耍個小心機:用一個簡單的指令碼,輸入數值,輸出自然語言描述,然後將描述轉達給GPT。
width = int(input("請輸入寬度:"))
height = int(input("請輸入高度:"))
color = input("請輸入顏色:")
view = '#' * width + '\n'
view += ('#' + ' ' * (width - 2) + '#\n') * (height - 2)
view += '#' * width
description = f"生成一個寬度為{width},高度為{height}的檢視,使用{color}顏色填充。"
print(view)
print(description)
場景三:與實際業務結合
幾種將GPT與實際業務結合的設想:
導購
軟文創作
反向活動推薦
售後
第一部分:對使用者的輸入進行包裝,比如對使用者的關鍵詞包上一層“用京東搜尋”的外衣:
def search_keyword(keyword):
url="{keyword}"
response = requests.get(url)
soup = BeautifulSoup(response.text, "html.parser")
#提取相關介紹
introduction = soup.select_one(".p-parameter").get_text(strip=True)
return introduction
#使用者輸入關鍵詞
user_input = input("請輸入關鍵詞:")
#呼叫函式進行搜尋和提取介紹
result = search_keyword(user_input)
prompt="開啟京東網站,618大促活動商品裡搜尋 {user_input},並給出其相關介紹"
#這裡的prompt既為向GTP提問的問題,由於GPT接受的是自然語言,所以這裡我們可以任意的新增我們想要的導向性描述,例如“618大促活動商品”、“618精選活動”、“京東20週年慶優惠”等等
第二部分:將包裝好的文案作為入參,呼叫GPT的API進行請求:
api_endpoint = "
access_token = "你的access_token"
params = {
"messages": [{"role": "user", "content": prompt}],
"temperature": 0.7,
"model": "gpt-3.5-turbo"
}
headers = {
"Authorization": "Bearer {access_token}",
"Content-Type": "application/json"
}
response = requests.post(api_endpoint, headers=headers, json=params)
第三部分:對GPT返回的結果進行解析,並按照需求進行展示:
if response.status_code == 200: response_text = json.loads(response.text)["choices"][0]["message"]["content"] # 輸出結果 print("為您在京東推薦瞭如下結果: {response_text}") print("您商品的相關介紹:{result}”)else: print(f"error: {response.status_code} - {response.text}")
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70027828/viewspace-2984932/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- OceanBase 的探索與實踐
- Flutter探索與實踐Flutter
- Presto在滴滴的探索與實踐REST
- 彈性探索與實踐
- 開源實踐 | 攜程在OceanBase的探索與實踐
- 開源實踐 | 攜程在 OceanBase 的探索與實踐
- 人崗匹配排序的探索與實踐排序
- 資料庫治理的探索與實踐資料庫
- Flink CDC 在京東的探索與實踐
- Android元件化探索與實踐Android元件化
- 前端資料層的探索與實踐(一)前端
- 前端資料層的探索與實踐(二)前端
- Flutter包大小治理上的探索與實踐Flutter
- vivo 故障定位平臺的探索與實踐
- FlutterWeb效能優化探索與實踐FlutterWeb優化
- 企業架構管控的探索與實踐架構
- 美團多場景建模的探索與實踐
- 螞蟻金服 DB Mesh 的探索與實踐
- 《探索Python Requests中的代理應用與實踐》Python
- 流批一體在京東的探索與實踐
- 雲原生技術領域的探索與實踐
- 混合雲網路生態的探索與實踐
- G7在實時計算的探索與實踐
- Kotlin程式碼檢查在美團的探索與實踐Kotlin
- 美圖個性化推薦的實踐與探索
- 低程式碼與大語言模型的探索實踐模型
- 愛奇藝微服務監控的探索與實踐微服務
- 快取框架 Caffeine 的視覺化探索與實踐快取框架視覺化
- Android對so體積優化的探索與實踐Android優化
- RocketMQ 5.0:無狀態代理模式的探索與實踐MQ模式
- 金融系統IT運維監控的探索與實踐運維
- Flink 在 B 站的多元化探索與實踐
- 資料庫智慧運維探索與實踐資料庫運維
- vivo 在離線混部探索與實踐
- vivo直播應用技術實踐與探索
- 小紅書社群反作弊探索與實踐
- 有贊業務對賬平臺的探索與實踐
- 華為多年實踐:ServiceComb在Service Mesh的探索與思考