探索ThinkGPT:將AI轉(zhuǎn)變?yōu)閺?qiáng)大思維機(jī)器的前沿Python庫(kù)
ThinkGPT是一款創(chuàng)新的Python庫(kù),它增強(qiáng)了大型語(yǔ)言模型的能力,使它們能夠更有效地思考、推理和行動(dòng)。如果你渴望將ThinkGPT集成到你的Python腳本中,并利用它先進(jìn)的功能,那么請(qǐng)閱讀本文。本文將指導(dǎo)你完成在Python項(xiàng)目中使用ThinkGPT的第一步。
我們將探索ThinkGPT的核心功能,包括其先進(jìn)的記憶能力、自我完善機(jī)制和高階推理能力。你將能夠發(fā)現(xiàn)這個(gè)創(chuàng)新的庫(kù)如何改變AI開(kāi)發(fā)局面的,以及學(xué)習(xí)如何利用它的力量增強(qiáng)自己的項(xiàng)目。
ThinkGPT托管在GitHub上。代碼庫(kù)可以在以下網(wǎng)址中找到:https://github.com/alaeddine-13/thinkgpt。
ThinkGPT的主要特點(diǎn)
- 記憶:ThinkGPT使大型語(yǔ)言模型(LLM)能夠記住經(jīng)驗(yàn)并學(xué)習(xí)新的概念。
- 自我完善:該功能允許模型通過(guò)解決批評(píng)、修復(fù)問(wèn)題和完善其理解來(lái)改進(jìn)生成的內(nèi)容。
- 抽象:鼓勵(lì)LLM從示例或觀察中概括出規(guī)則,幫助創(chuàng)造壓縮的知識(shí),更好地適應(yīng)模型有限的上下文長(zhǎng)度。
- 推理:使LLM能夠根據(jù)現(xiàn)有的信息做出有根據(jù)的猜測(cè)。
- 自然語(yǔ)言條件:用戶可以輕松地用自然語(yǔ)言表達(dá)任務(wù)和條件,使模型能夠做出智能決策。
- 易于設(shè)置和Pythonic API:由于DocArray的存在,ThinkGPT提供了一個(gè)極其簡(jiǎn)單的設(shè)置過(guò)程和一個(gè)Pythonic API。
安裝
安裝ThinkGPT很簡(jiǎn)單,可以使用pip進(jìn)行安裝:
pip install git+https://github.com/alaeddine-13/thinkgpt.git
該命令將直接從GitHub代碼庫(kù)安裝ThinkGPT庫(kù)。
在Python腳本中使用ThinkGPT的第一步
安裝完成后,你就可以開(kāi)始在Python腳本中使用ThinkGPT。要做到這一點(diǎn),只需從thinkgpt.llm模塊中導(dǎo)入ThinkGPT類并創(chuàng)建該類的一個(gè)新實(shí)例即可:
from thinkgpt.llm import ThinkGPT
llm = ThinkGPT(model_name="gpt-3.5-turbo")
這段代碼片段使用指定的模型(在本例中為“gpt-3.5-turbo”)初始化了一個(gè)新的ThinkGPT實(shí)例。
有了ThinkGPT實(shí)例,你現(xiàn)在可以使用memorize()方法來(lái)教授你的AI模型新的概念或事實(shí):
llm.memorize(['DocArray is a library for representing, sending, and storing multi-modal data.'])
為了調(diào)用記憶的信息,你可以使用remember()方法:
memory = llm.remember('DocArray definition')
一旦AI模型學(xué)習(xí)了一些信息,你就可以使用predict()方法基于記憶數(shù)據(jù)進(jìn)行預(yù)測(cè)或回答問(wèn)題:
llm.predict('what is DocArray ?', remember=memory)
這段代碼片段使用remember()方法來(lái)檢索記憶信息,并將其反饋給predict()方法來(lái)回答問(wèn)題。
實(shí)際示例
ThinkGPT附帶了一些易于理解的使用示例。相應(yīng)的Python腳本可以在代碼庫(kù)的example文件夾中找到:
讓我們深入研究一下其中提供的一個(gè)示例:replay_expand_memory.py:
from thinkgpt.llm import ThinkGPT
llm = ThinkGPT(model_name="gpt-3.5-turbo")
# 加載舊內(nèi)存
old_memory = [
"Klaus Mueller is writing a research paper",
"Klaus Mueller enjoys reading a book on gentrification",
"Klaus Mueller is conversing with Ayesha Khan about exercising"
]
# 教給LLM舊的記憶
llm.memorize(old_memory)
# 在舊記憶的基礎(chǔ)上誘發(fā)反思
new_observations = llm.infer(facts=llm.remember())
print('new thoughts:')
print('\n'.join(new_observations))
llm.memorize(new_observations)
在這個(gè)ThinkGPT示例腳本中,目標(biāo)是基于Klaus Mueller的現(xiàn)有信息使用ThinkGPT庫(kù)誘導(dǎo)新的思考或觀察。
- 首先,該腳本從thinkgpt.llm模塊中導(dǎo)入ThinkGPT類。
- 創(chuàng)建一個(gè)新的ThinkGPT實(shí)例,并使用“gpt-3.5-turbo”模型進(jìn)行初始化。
- 定義old_memory變量,其中包含有關(guān)Klaus Mueller的三個(gè)陳述,表示以前的知識(shí)。
- 使用memorize()方法來(lái)教授大型語(yǔ)言模型(LLM)存儲(chǔ)在old_memory中的信息。
- 調(diào)用infer()方法,并將facts參數(shù)設(shè)置為remember()方法的結(jié)果。這會(huì)指示LLM基于先前記憶的信息誘導(dǎo)新的觀察或思考。
- 新誘導(dǎo)出的觀察結(jié)果在“new thoughts:”標(biāo)簽下輸出到控制臺(tái)。
- 最后,再次調(diào)用memorize()方法,將新的觀察結(jié)果存儲(chǔ)在LLM的內(nèi)存中,使其能夠在未來(lái)的交互中建立起對(duì)Klaus Mueller的理解。
在執(zhí)行腳本并查看結(jié)果之前,我們需要獲取OpenAI API密鑰并設(shè)置相應(yīng)的環(huán)境變量OPENAI_API_KEY的密鑰值。
要獲取OpenAI API密鑰,請(qǐng)按照以下簡(jiǎn)單步驟操作:
- 請(qǐng)?jiān)L問(wèn)OpenAI網(wǎng)站https://www.openai.com/。
- 如果沒(méi)有帳戶,請(qǐng)注冊(cè)一個(gè)帳戶。在首頁(yè)右上角點(diǎn)擊“注冊(cè)”,并按照注冊(cè)流程操作。
- 注冊(cè)或登錄后,通過(guò)點(diǎn)擊頁(yè)面頂部的“API”或訪問(wèn)https://www.openai.com/api/來(lái)導(dǎo)航到API部分。
- 查看可用的API定價(jià)計(jì)劃,并選擇適合你需求的計(jì)劃。某些計(jì)劃可能提供帶有有限使用的免費(fèi)訪問(wèn)權(quán)限,而其他計(jì)劃根據(jù)你的要求和預(yù)算提供不同級(jí)別的訪問(wèn)權(quán)限。
- 選擇一個(gè)計(jì)劃后,將提供你的唯一API密鑰。請(qǐng)確保保密,因?yàn)樗谟枘愕馁~戶使用限制和特權(quán)的API訪問(wèn)權(quán)限。 在命令行中使用以下命令來(lái)設(shè)置OpenAI API密鑰:
export OPENAI_API_KEY="YOUR OPENAI API KEY"
現(xiàn)在我們已經(jīng)準(zhǔn)備好執(zhí)行腳本了,只需輸入以下命令:
python replay_expand_memory.py
然后,你應(yīng)該能夠看到類似于以下的結(jié)果:
總結(jié)
ThinkGPT是一款強(qiáng)大的Python庫(kù),它通過(guò)添加先進(jìn)的記憶、自我完善、抽象和推理功能,增強(qiáng)了大型語(yǔ)言模型的能力。它對(duì)用戶友好的安裝過(guò)程和Pythonic API使它成為許多AI項(xiàng)目的有價(jià)值的補(bǔ)充。通過(guò)探索本文提供的實(shí)際示例,你可以利用ThinkGPT的能力,徹底改變你的AI思考方式、得出結(jié)論和采取行動(dòng)的方式。