本文只是我的一些嘗試,基于 ChatGPT 實(shí)現(xiàn)系統(tǒng)化快速搜索某編程語言的特定領(lǐng)域相關(guān)包或者基于其他語言類推薦落地方案的嘗試。
這篇文章中描述的方式不一定是好方式,但應(yīng)該會有一定的啟示作用吧。讓 ChatGPT 為我們的開發(fā)效率添磚加瓦。
基礎(chǔ)思路
在學(xué)習(xí)和使用一門新的編程語言的過程中,找到合適的包對于解決特定問題至關(guān)重要。
傳統(tǒng)上,還是主要依賴搜索引擎和社區(qū)資源來尋找這些包,但這個過程往往既耗時又充滿挑戰(zhàn)?,F(xiàn)在,有了 ChatGPT,這一切都有了新的解決方案。
傳統(tǒng)的搜索方法通?;陉P(guān)鍵詞搜索,但這種方法往往返回只是簡單列舉,我們要從大量不相關(guān)的結(jié)果找出我們想要的內(nèi)容,需要花費(fèi)大量時間去篩選。
ChatGPT 提供了一種更高效的方式:通過與 AI 對話來精確描述我們的需求,從而獲得更加精準(zhǔn)回答。不過我想說,不要像利用傳統(tǒng)的搜索引擎一樣利用 ChatGPT,ChatGPT 會思考。但毫無疑問,再聰明的好苗子,也是需要引導(dǎo)的。
舉一反三全面了解 GO 的 Web 框架
為了最大化 ChatGPT 的效用,我采用固定句式來描述我的需求,這么做的目標(biāo)主要是為了引導(dǎo)它思考。
例如,當(dāng)尋找 Golang 的 web 開發(fā)框架時,我不是簡單地問 “給我推薦一些 web 開發(fā)框架”,而是通過類比的方式地詢問,想全訪問了解不同情況下使用什么 HTTP 框架。
我知道在使用 Golang 的數(shù)據(jù)庫時,可以直接使用 sql/database + 驅(qū)動連接數(shù)據(jù)庫,也可以使用 ORM 方案,如 sqlx 或 GORM。HTTP 一般也是如此,有底層核心層,上層的用戶體驗(yàn)較好的框架。
我按這個思考簡單組織了一些語言。如下所示:
按我這個句式說下關(guān)于 Go 的 xxx 相關(guān)內(nèi)容:
Go 語言中,處理數(shù)據(jù)庫的包通常分為三個主要層次:底層實(shí)現(xiàn)、數(shù)據(jù)庫驅(qū)動以及上層的 ORM(對象關(guān)系映射)框架。首先,底層核心包是sql/database
,它為數(shù)據(jù)庫操作提供了基礎(chǔ)的接口和功能。接著,針對不同數(shù)據(jù)庫類型的驅(qū)動包各不相同,例如,用于 MySQL 的驅(qū)動包是 go-sql-driver/mysql。最后,在更高的層面上,有基于如sqlbuilder
或activerecord
模式的實(shí)現(xiàn),Go 語言中的相應(yīng)包包括 ent 和 gorm,這些包提供了更高級別的數(shù)據(jù)庫操作和抽象。
這個寫的稍微有點(diǎn)長,應(yīng)該可以組織的更加精簡一點(diǎn)。我主要想表達(dá):
通過這種方式,引導(dǎo) ChatGPT 去像人來一樣地思考,舉一反三,深入地理解需求。而不是像以前的 AI 一樣,機(jī)械呆滯地返回固定問題的答案。
有些時候,語言直接表達(dá)的效果是沒有這種類比效果好的。不僅僅這種方式適用于 ChatGPT,如果你和人類這樣對話,也是更加容易讓對方理解。
我就是通過這個方式,比較全方位了解 Go 語言不同場景下 Web 框架包的。如下是我具體的問題:
按我這個句式推薦下 Go 的 Web 框架。[句式如上,省略]*
GPT 的回答如下所示:
在 Go 語言中,HTTP 框架的組織也可以分為幾個主要層次,類似于處理數(shù)據(jù)庫的包的結(jié)構(gòu)。首先,底層核心包是
net/http
,提供了構(gòu)建 HTTP 服務(wù)器和客戶端的基本工具,如路由、請求處理和發(fā)送響應(yīng)。接下來,針對不同需求的 HTTP 中間件和路由工具,例如 Gorilla Mux 提供了高級的路由功能,而 Negroni 提供了易用的中間件管理。在更高的層次上,存在著基于如mvc
或restful
模式的全功能 Web 框架,如 Go 語言中的 Gin 和 Echo,它們提供了路由、中間件、模板渲染等更豐富的功能,以支持復(fù)雜的 Web 應(yīng)用開發(fā)。此外,還有針對特定性能優(yōu)化的 HTTP 工具,例如 Fasthttp,它專注于提供高性能的 HTTP 服務(wù),適用于處理大量并發(fā)請求。這樣的層次劃分幫助開發(fā)者根據(jù)具體需求選擇合適的 Go 語言 HTTP 框架和庫。
系統(tǒng)方案建議 - 讓 ChatGPT 推斷
類似的,我這里再舉個例子。針對同一個問題,可能實(shí)現(xiàn)思路是一樣的,但實(shí)現(xiàn)的工具就具體情況而異。這時候,我們可以通過提供對這個問題的一種方案,讓 ChatGPT 衍生,提供我們想要的另一個場景條件的實(shí)施方案。
一個例子,比如我們習(xí)慣于使用 GO 開發(fā) web 項(xiàng)目,也了解如何實(shí)施。但是現(xiàn)在公司希望轉(zhuǎn)入 Python 或者 rust,如何最快的找到對標(biāo)的實(shí)現(xiàn)呢?
我們可以說:
在 Go Web 開發(fā)時,要用到的庫有:Web 框架使用 gin、 orm 使用 gorm,用戶權(quán)限認(rèn)證使用 golang-jwt/jwt,依次類推 python 開發(fā) Web 項(xiàng)目的推薦庫
ChatGPT 返回內(nèi)容:
對于Go Web開發(fā),您提到的庫選擇是很不錯的。以下是一些在Python Web項(xiàng)目中常用的庫的推薦:
Web框架:
- Flask:Flask是一個輕量級的Python Web框架,適用于小型到中型的項(xiàng)目。
- Django:Django是一個功能強(qiáng)大的Python Web框架,適用于大型項(xiàng)目和快速開發(fā)。
ORM(對象關(guān)系映射):
- SQLAlchemy:SQLAlchemy是一個流行的Python ORM庫,它提供了多種數(shù)據(jù)庫后端的支持,并具有強(qiáng)大的查詢和模型定義功能。
用戶權(quán)限認(rèn)證:
- Flask-Login:用于用戶會話管理和身份驗(yàn)證的Flask擴(kuò)展。
- Django-Allauth:Django的全功能身份驗(yàn)證和賬戶管理解決方案。
JWT(JSON Web Tokens):
- PyJWT:PyJWT是Python中處理JWT的庫,可以用于用戶身份驗(yàn)證和授權(quán)。
這些庫在Python Web開發(fā)中廣泛使用,可以根據(jù)項(xiàng)目的需求選擇合適的庫。希望這些推薦對您有所幫助。如果您需要更多信息或有其他問題,請隨時提問。
它這里面還多了一部分關(guān)于權(quán)限認(rèn)證,可能還是我的問題提的有點(diǎn)瑕疵,或者 chatgpt 自己的問題。反正是,多結(jié)果總覺少結(jié)果要好。
rust 是不熟悉的語言,我最近在嘗試學(xué)習(xí),同樣的思路,還可以問 rust 的 web 開發(fā)套件。
chatGPT 回答如下:
當(dāng)使用Rust進(jìn)行Web項(xiàng)目開發(fā)時,以下是一些推薦的庫和框架:
Web框架:
- Actix-web:Actix-web是一個高性能的、基于異步的Web框架,適用于構(gòu)建快速、可伸縮的Web應(yīng)用程序。
- Rocket:Rocket是一個易于使用的Web框架,它提供了類型安全的路由和請求/響應(yīng)處理。
ORM(對象關(guān)系映射):
- Diesel:Diesel是Rust的ORM庫,它提供了類型安全的數(shù)據(jù)庫查詢和模型定義功能。
- sqlx:sqlx是一個異步SQL庫,允許您使用Rust進(jìn)行數(shù)據(jù)庫操作。
用戶權(quán)限認(rèn)證:
- Keycloak:Keycloak是一個開源的身份和訪問管理解決方案,可以用于用戶身份驗(yàn)證和授權(quán)。
- Auth0:Auth0是一個身份驗(yàn)證和授權(quán)服務(wù),可以輕松集成到Rust應(yīng)用程序中。
JWT(JSON Web Tokens):
- jsonwebtoken:jsonwebtoken是Rust中處理JWT的庫,可用于身份驗(yàn)證和令牌生成。
這些庫和框架可以幫助您構(gòu)建高性能、安全的Rust Web應(yīng)用程序。根據(jù)項(xiàng)目的需求和您的偏好,選擇適合的庫和框架進(jìn)行開發(fā)。如果您需要更多信息或有其他問題,請隨時提問。
不知道這個答案質(zhì)量,你覺得如何呢?毫無疑問,這個答案,吊打搜索引擎。我這里只是簡單舉例,你還可以提供更復(fù)雜的需求,讓它提供更多的推薦。
我的一些微末思考
通過上面的這些案例,我主要想說 ChatGPT 能像人類一樣思考,但它的思考的模式是我們提供的。
這里面有一個非常簡單的道理,如果你把 ChatGPT 想象是一個真正的人類,即使這個人類一個非常牛逼的大佬,但是如果他不是從教育你的角度出發(fā),就不會說一些無關(guān)內(nèi)容,一些的互動都是基于你的主動性,你的輸入。如果你的問的簡單,它必然是回答的簡單。
同理,如果你想讓 ChatGPT 思考,你需要告訴它如何思考。這就是你要提供的信息,這個信息最能體現(xiàn)你的個人能力了。ChatGPT 能思考,但是基于的內(nèi)容是你的輸入的擴(kuò)展。
結(jié)論
我想說 ChatGPT 不僅是一個對話工具,更是一個強(qiáng)大的技術(shù)資源搜索助手,或者說,它可以成為你的朋友,導(dǎo)師,關(guān)鍵在于你是否了解如何與它交流,讓它如何去做。
它改變了尋找技術(shù)解決方案的方式。我通過簡單的對話,讓它思考推導(dǎo),而不是像以前的智障 AI 或搜索引擎一樣針對問題固定返回某個回答。
這種結(jié)合 AI 技術(shù)的搜索方法不僅節(jié)省了我們的時間,還為我們提供了更加精確和深入的技術(shù)見解,而非是簡單的列舉。文章來源:http://www.zghlxwxcb.cn/news/detail-801882.html
博文地址:利用 ChatGPT 高效搜索:舉一反三的思考方式,高效查找解決方案文章來源地址http://www.zghlxwxcb.cn/news/detail-801882.html
到了這里,關(guān)于利用 ChatGPT 高效搜索:舉一反三的思考方式,高效查找解決方案的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!