有了 API 密鑰之后,就可以進行測試啦。

Unsplash API 的功能很多,因為我們需要通過 API 在 Unsplash 里搜索圖片,我看了下文檔,只需要用到 “Search Photos (搜索圖片)” 這個功能。

這個文檔可以幫助我們了解如何使用 Unsplash 的 API 搜索圖片。如果讀不懂也沒關系,稍后可以喂給 ChatGPT,它是能看懂的。

在創建 GPTs 之前,最好先測試下 API 是否能獲得成功的響應。目前 Postman 是最好的工具,如果沒有的話可以安裝一下。

如果不知道如何用 Postman 進行測試的話,也可以問 ChatGPT 。我是這么寫提示詞的:

Prompt: How can I use Postman to test an API based on this documentation:

[Relevant API Document]

提示詞: 如何使用 Postman 測試基于此文檔的 API? [相關 API 文檔]

中括號里的內容就是喂給 ChatGPT 的 API 文檔。

提交給 ChatGPT 之后,它就生成了一份非常詳細的操作步驟,我直接跟著做就好。

主要其實就兩步。1. 把 API Key 填入 Postman。

  1. 構造請求。

接著點擊 “Send” 按鈕就可以發送請求。發送完請求,就收到了響應。并且狀態碼顯示 “200”,表示成功響應。

寫 Schema

Schema 就是告訴 GPTs,如何跟 Unsplash 的 API 相互溝通。這個 Schema 也可以讓 ChatGPT 輔助完成。用 Postman 測試的另一個目的就是,可以把 Postman 生成的 CURL 請求和響應提供給 ChatGPT 做參考。ChatGPT 有了這些信息,生成的 Schema 的準確度更高。

上圖就是響應的主體。不過 Unsplash 的響應有點長,直接扔給 ChatGPT 可能會超過 Token 限制。我只選取了其中最相關的部分提交,這樣 ChatGPT 寫出來的 Schema 也會更簡潔一些。

CURL 請求在 Postman 的右上角,如下圖所示。

有了這些信息,就可以讓 ChatGPT 幫我寫 Schema 啦。然而如何為 GPTs 寫 Schema 是很新的知識,ChatGPT 還不太了解。為此我找了個可以輔助造 GPTs 的 GPTs,訪問地址是:https://chat.openai.com/g/g-iThwkWDbA。用這個 GPTs 寫出的 Schema 準確度更高。我寫了這樣一個提示詞讓它幫我生成 Schema:

Prompt: Below is the curl request and response from the Unsplash API. Can you generate the schema for me?

[CURL Request and Response]

提示詞: 以下是 Unsplash API 的 curl 請求和響應。你能為我生成 Schema 嗎?

[CURL 請求和響應]

創建 GPTs

有了 Schema 之后,創建 GPTs 就簡單多啦。可以不管其它配置,先把剛才 GPT 生成的 Schema 填進去。

填進去以后發現報錯信息:

Could not find a valid URL in servers

無法在 servers 中找到有效 URL

觀察一下 OpenAI 給的參考 Schema 就會發現少了 “Servers” 這個鍵,自己手動補充一下就好。

{
"openapi": "3.1.0",
"info": {
"title": "Get weather data",
"description": "Retrieves current weather data for a location.",
"version": "v1.0.0"
},
"servers": [
{
"url": "https://weather.example.com"
}
],
"paths": {
"/location": {
"get": {
"description": "Get temperature for a specific location",
"operationId": "GetCurrentWeather",
"parameters": [
{
"name": "location",
"in": "query",
"description": "The city and state to retrieve the weather for",
"required": true,
"schema": {
"type": "string"
}
}
],
"deprecated": false
}
}
},
"components": {
"schemas": {}
}
}

修改之后,就沒有報錯信息啦。

完整的 Schema 是這樣的:

{
"openapi": "3.1.0",
"info": {
"title": "Unsplash API",
"version": "1.0.0",
"description": "Schema for the Unsplash API response for searching photos."
},
"servers": [
{
"url": "https://api.unsplash.com"
}
],
"paths": {
"/search/photos": {
"get": {
"summary": "Search photos",
"operationId": "searchPhotos",
"parameters": [
{
"name": "query",
"in": "query",
"required": true,
"description": "The search query term.",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Successful response",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"total": {
"type": "integer",
"description": "Total number of results."
},
"total_pages": {
"type": "integer",
"description": "Total number of pages."
},
"results": {
"type": "array",
"items": {
"type": "object",
"properties": {
"width": {
"type": "integer",
"description": "Width of the image."
},
"height": {
"type": "integer",
"description": "Height of the image."
},
"color": {
"type": "string",
"description": "Dominant color of the image."
},
"alt_description": {
"type": "string",
"description": "Alternative description of the image."
},
"urls": {
"type": "object",
"properties": {
"raw": {
"type": "string",
"format": "uri",
"description": "URL of the raw image."
},
"full": {
"type": "string",
"format": "uri",
"description": "URL of the full-size image."
},
"regular": {
"type": "string",
"format": "uri",
"description": "URL of the regular-size image."
},
"small": {
"type": "string",
"format": "uri",
"description": "URL of the small-size image."
},
"thumb": {
"type": "string",
"format": "uri",
"description": "URL of the thumbnail image."
},
"small_s3": {
"type": "string",
"format": "uri",
"description": "URL of the small-size image hosted on S3."
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}

接著就是在 GPTs 里面填好 API Key。取決于 API Key 的類型,一般來說都是下圖所示的填法。

然后可以完善 GPTs 的配置部分。Instructions 里面可以先說明如何利用 API,其它內容可以在測試好 GPTs 的 Actions 之后完善。我寫的 Instructions 內容如下:

When users initiate an image search on our platform, the system should employ the ‘searchPhotos’ action to fetch relevant results. The task involves several key steps:

  1. Implement the ‘searchPhotos’ action to retrieve image search results based on user queries.
  2. For each image result, extract and display the following details:
    • The URL of the image, using ‘urls.regular’ as the source.
    • A brief description of the image.
    • The dimensions of the image, specifically its width and height.
    • The name of the image’s author, sourced from ‘user.name’.
  3. Configure the display settings to show a default of three random images per search result.

當用戶在我們的平臺上發起圖片搜索時,系統應使用 “searchPhotos “操作來獲取相關結果。這項任務涉及幾個關鍵步驟:

  1. 執行 “searchPhotos “操作,根據用戶查詢檢索圖片搜索結果。
  2. 對于每個圖像結果,提取并顯示以下詳細信息:
    • 圖片的 URL,使用 “urls.regular “作為來源。
    • 圖片的簡要描述。
    • 圖片的尺寸,尤其是寬度和高度。
    • 圖片作者的姓名,來源于 “user.name”。
  3. 配置顯示設置,使每個搜索結果默認顯示三張隨機圖片。

接著就可以進行測試啦。如下圖所示,測試成功,大功告成。

 總結

創建 AI 應用程序放到去年,我連做夢都想不出來。如今,我也可以徒手造一個出來啦。創造的過程本身就是一種幸福。希望本文對你有所啟發,也能收獲同樣的幸福體驗。

文章轉自微信公眾號@Vito的AI力量

熱門推薦
一個賬號試用1000+ API
助力AI無縫鏈接物理世界 · 無需多次注冊
3000+提示詞助力AI大模型
和專業工程師共享工作效率翻倍的秘密
返回頂部
上一篇
借助ChatGPT潤色論文,必備17個頂級提示詞指令,直接復制使用、潤色無憂
下一篇
從API到Agent:萬字長文洞悉LangChain工程化設計
国内精品久久久久影院日本,日本中文字幕视频,99久久精品99999久久,又粗又大又黄又硬又爽毛片
欧美裸体一区二区三区| 欧美性猛交xxxx黑人交 | 精品久久久久久最新网址| 亚洲日本青草视频在线怡红院| 亚洲一卡二卡三卡四卡五卡| 国产激情一区二区三区| 欧美一区二区三区日韩| 777午夜精品免费视频| 中文字幕日本不卡| 99久久777色| 亚洲视频一二区| 国产91精品一区二区麻豆网站| av爱爱亚洲一区| 日韩精品一区二区在线| 国产精品丝袜一区| 奇米四色…亚洲| 欧美在线你懂的| 国产精品毛片高清在线完整版| av不卡一区二区三区| 亚洲国产激情av| 91在线观看地址| 天天色天天爱天天射综合| 久久蜜桃av一区二区天堂| 亚洲精品国产一区二区精华液| 国产美女一区二区三区| 视频一区二区三区入口| 精品国内片67194| 国产福利一区二区| 国产三级久久久| 欧美色精品天天在线观看视频| 九九精品视频在线看| 亚洲成a天堂v人片| 亚洲欧洲精品一区二区精品久久久| 99国产精品久久久久| 精品一区二区三区在线视频| 国产欧美日韩在线观看| 从欧美一区二区三区| 日韩黄色片在线观看| 亚洲在线视频网站| 亚洲精品国产精品乱码不99| 久久综合视频网| 欧美疯狂做受xxxx富婆| 97精品久久久久中文字幕| 日韩影院免费视频| 亚洲综合免费观看高清完整版| 日本一区二区三区久久久久久久久不 | 亚洲一本大道在线| 亚洲国产成人私人影院tom| 欧美成人一区二区| 久久伊人中文字幕| wwww国产精品欧美| 久久伊人中文字幕| 久久久一区二区三区捆绑**| 欧美一区二区三区四区高清| 欧美人妖巨大在线| 久久先锋影音av鲁色资源网| 日韩精品一区二区三区四区视频| 精品国产凹凸成av人导航| 久久久另类综合| 色诱亚洲精品久久久久久| 欧美亚洲综合色| 精品国产第一区二区三区观看体验 | 制服丝袜激情欧洲亚洲| 欧美电影免费提供在线观看| 精品国产免费一区二区三区四区| 久久综合成人精品亚洲另类欧美 | 久久国产综合精品| 懂色av一区二区三区免费观看| 97久久精品人人爽人人爽蜜臀| 一本色道久久综合精品竹菊| 91福利小视频| 久久久久99精品国产片| 亚洲美女屁股眼交3| 九九九久久久精品| 欧美日韩的一区二区| 国产嫩草影院久久久久| 一区二区免费看| 91久久一区二区| 亚洲一区中文日韩| 91香蕉视频黄| 久久夜色精品一区| 亚洲18色成人| 国产麻豆精品视频| 欧美一级国产精品| 精品国产99国产精品| 午夜欧美视频在线观看| 色婷婷综合激情| 亚洲欧洲一区二区在线播放| 亚洲国产成人一区二区三区| 青青草国产精品亚洲专区无| 欧美美女直播网站| 国内一区二区在线| 精品国产污网站| 国产大陆精品国产| 中文字幕一区二区三区不卡在线 | 亚洲一区二区三区视频在线| 欧美精品在线观看播放| 美女脱光内衣内裤视频久久影院| 日韩精品中文字幕在线不卡尤物| 国产一区二区三区日韩| 国产欧美日韩一区二区三区在线观看| 国产精品自拍三区| 亚洲aaa精品| 国产精品美女久久久久av爽李琼 | 蜜臀av性久久久久蜜臀av麻豆| 亚洲精品一区在线观看| 91免费在线播放| 亚洲mv在线观看| 欧美v亚洲v综合ⅴ国产v| 亚洲午夜精品在线| 久久久久久影视| 99亚偷拍自图区亚洲| 性做久久久久久久免费看| 欧美一区二区大片| 成人免费毛片高清视频| 亚洲午夜免费电影| 国产精品福利影院| 2021国产精品久久精品| 成人午夜视频在线| 日产国产欧美视频一区精品| 久久久久久日产精品| 欧美日韩色综合| 国产成人综合网| 免费精品视频在线| 亚洲在线免费播放| 亚洲欧洲精品一区二区三区 | 亚洲福利视频三区| 亚洲黄色小说网站| 亚洲欧洲国产专区| 日韩午夜在线观看| 99久久精品国产一区二区三区| 91片在线免费观看| 在线一区二区三区四区五区| 日本精品裸体写真集在线观看| 国产大陆亚洲精品国产| 国产麻豆精品久久一二三| 亚洲午夜免费福利视频| 亚洲国产成人高清精品| 一区二区三区资源| 久久综合色一综合色88| 欧美日韩国产一级片| 91色婷婷久久久久合中文| 成人午夜在线视频| 国产iv一区二区三区| 色婷婷综合久久久久中文| 欧美日本一区二区三区四区| 91精品国产综合久久精品麻豆| 欧美精品高清视频| 欧美系列日韩一区| 91精品一区二区三区在线观看| 99精品久久免费看蜜臀剧情介绍| 亚洲在线视频免费观看| 国产高清精品在线| 欧美日本高清视频在线观看| 久久女同精品一区二区| 亚洲欧洲性图库| 成人h动漫精品一区二区| 日韩精品一区二| 国产三级精品三级在线专区| 欧美mv日韩mv国产网站| 精品美女一区二区| 69p69国产精品| 国产欧美一区二区三区在线老狼| 91精品国产色综合久久| 亚洲视频每日更新| 91亚洲精品久久久蜜桃网站| 欧美人xxxx| 亚洲午夜激情网站| 欧美一区二区三区视频| 夜夜爽夜夜爽精品视频| 国产麻豆91精品| 久久久噜噜噜久久人人看 | 亚洲精品国产第一综合99久久 | 国产精品久久久久久久久图文区| 午夜激情一区二区三区| av成人免费在线| 亚洲国产成人自拍| 一本一道久久a久久精品综合蜜臀| 亚洲欧洲国产日本综合| 日本丰满少妇一区二区三区| 色综合久久久久久久久| 综合自拍亚洲综合图不卡区| 夫妻av一区二区| 亚洲美女屁股眼交| 91一区一区三区| 精品在线一区二区| 欧美国产亚洲另类动漫| 成人黄色777网| 久久综合av免费| 国产成人av在线影院| 国产精品99久久久| 中文成人综合网| 亚洲黄色片在线观看| 日本不卡123| 精品少妇一区二区三区| 人人狠狠综合久久亚洲| 亚洲成人激情综合网| 日韩一区国产二区欧美三区| 久久99在线观看| 五月天精品一区二区三区|