生成式人工智能
圖片由Midjourney生成
近年來,由于算法和計算機算力的高速發(fā)展,人工智能(AI)從計算機領(lǐng)域走向了各行各業(yè)。其解決問題的能力已經(jīng)從最初的專注于某個細分領(lǐng)域(如下圍棋的AlphaGo),發(fā)展到如今能夠給各種學(xué)科提供專業(yè)建議的大語言模型(LLM)。人工智能正在逐步學(xué)習(xí)人類的認知、思考能力,并最終向通用型人工智能(AGI)發(fā)展。
生成式人工智能(GAI)是該領(lǐng)域的一個重要分支,是一類專注于生成新內(nèi)容的人工智能技術(shù)。這種技術(shù)的核心在于它不僅僅是理解和分析數(shù)據(jù),而是能夠基于已有的數(shù)據(jù)模式和結(jié)構(gòu)創(chuàng)造出全新的內(nèi)容。其中最具代表性的就是以ChatGPT為首的大語言模型應(yīng)用,在不少問題的基準測試上已經(jīng)達到人類水平,不僅改變了許多行業(yè)的底層邏輯,還帶來了工作效率的爆炸式增長。
目前,關(guān)于如何將生成式人工智能結(jié)合到生物工藝開發(fā)的工作流程中,業(yè)內(nèi)還處在初級階段,迪必爾也在不斷突破。我們的解決方案是基于自研D²MS(設(shè)備及數(shù)據(jù)管理系統(tǒng)),借助生成式人工智能(GAI),進行生物工藝開發(fā)的智能化探索,F(xiàn)將方案分享給大家,歡迎交流討論。
UDF用于生物過程精準控制
UDF,即用戶自定義函數(shù)(User-defined Function),是生物反應(yīng)器(迪必爾生物)配套軟件D²MS的一個特色功能。通過UDF功能,用戶可以設(shè)置自己的控制邏輯,通過設(shè)定條件與計時器,實現(xiàn)更精細的生物過程控制。
為了降低使用門檻,賦予用戶更高的自由度,UDF選擇Python作為開發(fā)語言。Python語言靈活且易于學(xué)習(xí),特別適合非計算機科學(xué)背景的人員進行交叉學(xué)科研究。
但是,即便如此,從零開始手動編寫UDF代碼仍然是一項繁瑣且容易出錯的工作。
利用生成式人工智能自動編寫UDF代碼
我們利用生成式人工智能技術(shù),開發(fā)了一套創(chuàng)新的解決方案。
這套方案可以讓你在短短幾秒鐘內(nèi),生成可直接部署的Python UDF。我們專門為ChatGPT(或Claude)設(shè)計了一套提示詞,使用的時只需把提示語復(fù)制粘貼到AI對話框里,然后把包括輸入、輸出、控制邏輯等工藝控制關(guān)鍵需求寫清楚,幾秒鐘之后,AI就會根據(jù)您的需求,自動生成一個功能齊全的Python UDF。生成的UDF可以直接放到D²MS里使用,大大節(jié)省了編寫代碼的時間。
步驟如下:
方案1:使用您熟悉的生成式AI助手
(1)首先,復(fù)制下方雙引號中的提示詞,并粘貼到您常用的生成式人工智能助手對話框中,如ChatGPT或Claude。
您會得到類似于以下內(nèi)容的回復(fù)(以ChatGPT為例):
(2)根據(jù)提示向AI描述想要實現(xiàn)的生物工藝控制需求,包括輸入輸出參數(shù)、控制邏輯等。注意盡量用清晰、簡潔的語言,并且包含盡可能多的細節(jié),這樣有助于AI生成準確的UDF代碼。
(3)將生成的代碼復(fù)制到D²MS中,并完成參數(shù)配對等設(shè)置。(如圖)
(4)在實際應(yīng)用中,需要對生成的UDF進行全面的測試和觀察,以驗證其運行結(jié)果是否符合預(yù)期。測試過程中,如果發(fā)現(xiàn)任何問題或需要改進的地方,則可以手動對Python代碼作小幅修改,或者向AI提供更加詳細的需求描述和反饋信息。
方案2:使用D²MS內(nèi)置的AI助手
為了更好的把AI集成到工藝開發(fā)的工作流程中,最新版本的 D²MS 已經(jīng)內(nèi)置了基于OpenAI API的AI助手,為您提供更便捷的用戶體驗,當您需要AI協(xié)助編寫代碼時,只需單擊“AI Help”按鈕,即可調(diào)出對話框。
(1)首先,鼠標右鍵點擊 “AI Help”,點擊“Setup”進行必要的設(shè)置。
如下圖所示,其中,API密匙可以從您的ChatGPT賬戶中查詢,此外,還需要把提示詞保存到文本文件中,并指定保存位置。
(2)隨后,向AI助手清晰地描述你的具體需求和預(yù)期功能。在描述時,要盡可能詳細和全面,包括輸入輸出、控制邏輯、性能指標等關(guān)鍵信息。AI助手會自動生成與需求匹配的Python代碼。最后,檢查代碼的邏輯,確保其準確地實現(xiàn)了預(yù)期功能。
案例分析
接下來,我們通過三個案例,來演示生成式人工智能在UDF代碼生成方面的能力。以ChatGPT為例,由于ChatGPT的訓(xùn)練語料庫中英語占比較大,為了獲得更好的效果,我們建議使用英語來描述需求。不過,對于不復(fù)雜的場景,我們也可以使用中文。
案例1:開關(guān)控制
根據(jù)我們的測試,ChatGPT在處理簡單的邏輯時正確率非常高,例如針對pH值,基于開關(guān)控制的方式控制堿液補加,從而維持pH值在6.5:
“Realize an on/off control for pH. When the pH falls below 6.5, set the base feed rate to 10 mL/min, otherwise set to 0 mL/min.”
輸入上述需求,AI即可生成所需代碼:
案例2:復(fù)現(xiàn)PID控制
盡管我們的反應(yīng)器已經(jīng)為大部分參數(shù)預(yù)設(shè)了PID控制器,但是如果您想自定義PID算法,AI也幫助生成代碼,滿足定制化需求。
下面這段話描述了用PID控制器同時控制攪拌和通氣速率,維持溶氧值在40%:
“Realize a PID controller for Dissolved Oxygen (DO), maintaining the DO value at a setpoint of 40% by setting the agitation speed and aeration rate. The output is linear to the agitation speed and aeration rate. The agitation speed ranges from 100-1000 while aeration rate ranges from 0-3 L/min.”
案例3:多個判斷條件與計時器
對于較為復(fù)雜的邏輯,ChatGPT也可以在第一次嘗試的時候就生成高質(zhì)量代碼。
如下述邏輯,在發(fā)酵24小時后,一旦pH高于7.1,則以10 mL/min的速率補加葡萄糖30秒,隨后停止pH監(jiān)測15分鐘,以防重復(fù)補加:
“Obtain the pH and elapsed fermentation time (in hours) from the function arguments, and returns feed rate. After 24 hours of fermentation, keep monitoring the pH value. If the pH rises above 7.1, feed glucose at a rate of 10 mL/min for 30 seconds. After 30 seconds, turn off the glucose feed and disable pH monitoring for 15 minutes. After 15 minutes, repeat the previous steps.”
盡管生成式人工智能是一個非常強大的工具,但是AI也難免犯錯。在將生成的代碼部署到生產(chǎn)環(huán)境之前,務(wù)必要進行全面、細致的測試,確保代碼邏輯符合您的意圖。
隨著生成式人工智能技術(shù)的飛速發(fā)展,智能生物反應(yīng)器的定義也在不斷演進。過去,我們將允許用戶自我定制反應(yīng)器的功能作為智能反應(yīng)器的標志,如今,借助生成式人工智能的力量,D²MS軟件已經(jīng)能夠根據(jù)用戶的需求自動生成控制代碼。設(shè)備的"智能"不再局限于靈活的可定制性,而是具備自我學(xué)習(xí)、自我完善的能力。在生成式人工智能的賦能下,人人都可以成為開發(fā)者,編程不再是制約生物工藝創(chuàng)新的瓶頸,相反,它將成為推動這一領(lǐng)域不斷前進的重要引擎。未來,人工智能技術(shù)必將與生物反應(yīng)器技術(shù)深度融合,為這一領(lǐng)域帶來更多突破性的創(chuàng)新。