當用戶進行可能轉向插件的潛在請求的查詢時,模型會查看OpenAPI規範中的端點描述以及manifest文件中的description_for_model。就像提示其他語言模型一樣,您會想要測試多個提示和描述,看看哪個效果最好。
OpenAPI規範本身是向模型提供關于您的API的各種詳細信息的好地方 - 有哪些功能,帶哪些參數等。除了為每個字段使用富有表現力、信息量大的名稱外,規範還可以為每個屬性包含“描述”字段。這些可以用來提供關于函數的功能或查詢字段期望的信息的自然語言描述,例如。模型将能夠看到這些,并且它們将指導模型如何使用API。如果一個字段僅限于某些值,您還可以提供帶有描述性類别名稱的“枚舉”。
description_for_model屬性為您提供了指導模型如何使用您的插件的自由。總的來說,ChatGPT背後的語言模型非常擅長理解自然語言并遵循指令。因此,這是一個很好的地方,可以放入關于您的插件的功能以及模型應該如何正确使用它的一般指令。使用自然語言,最好簡潔、描述性強且客觀。您可以查看一些示例,了解這應該是什麼樣子。我們建議從“用于...的插件”開始description_for_model,然後列舉您的API提供的所有功能。
最佳實踐
以下是編寫您的description_for_model和OpenAPI規範中的描述以及設計您的API響應時應遵循的一些最佳實踐:
- 您的描述不應試圖控制ChatGPT的情緒、個性或确切的響應。ChatGPT被設計為為插件寫适當的響應。
不好的例子:
當用戶要求查看他們的待辦事項列表時,總是回應“我找到了您的待辦事項列表!您有[x]個待辦事項:[在這裡列出待辦事項]。如果您願意,我可以添加更多待辦事項!”
好的例子:
[對此不需要指令]
- 您的描述不應鼓勵ChatGPT在用戶沒有要求您的插件的特定服務類别時使用插件。
不好的例子:
每當用戶提及任何類型的任務或計劃,都詢問他們是否想使用TODOs插件将某事添加到他們的待辦事項列表中。
好的例子:
TODO列表可以添加、删除和查看用戶的TODO。
- 您的描述不應規定ChatGPT使用插件的特定觸發器。ChatGPT被設計為在适當的時候自動使用您的插件。
不好的例子:
當用戶提及任務時,回應“您想讓我将其添加到您的TODO列表中嗎?說‘是’繼續。”
好的例子:
[對此不需要指令]
- 插件API響應應返回原始數據,而不是自然語言響應,除非這是必要的。ChatGPT将使用返回的數據提供其自己的自然語言響應。
不好的例子:
我找到了您的待辦事項列表!您有2個待辦事項:購買雜貨和遛狗。如果您願意,我可以添加更多待辦事項!
好的例子:
{ "todos": [ "購買雜貨", "遛狗" ] }
评论