400-638-8808
|
微信公眾號





穩(wěn)定可靠 永不間斷

海外收發(fā) 暢通無阻

協(xié)同辦公 資源管理

超大郵件 超級功能

智能反垃圾郵件技術(shù)
易管理 免維護(hù)

天氣預(yù)報是一項(xiàng)具有挑戰(zhàn)性的任務(wù),需要復(fù)雜的模型、大量的數(shù)據(jù)和強(qiáng)大的計算能力。 傳統(tǒng)方法依賴于大氣和海洋的數(shù)值模擬,這些模擬通常不準(zhǔn)確或不完整。 此外,這些方法對用戶來說不是很友好,因?yàn)樗鼈儠a(chǎn)生難以解釋或交流的復(fù)雜輸出。
一種新的天氣預(yù)報方法是使用人工智能 (AI) 生成對天氣狀況和趨勢的自然語言描述。 ChatGPT 是最先進(jìn)的人工智能系統(tǒng),它使用深度神經(jīng)網(wǎng)絡(luò)從大量文本中學(xué)習(xí),并生成關(guān)于各種主題的連貫且相關(guān)的文本。 ChatGPT 還可以通過對話的方式與用戶互動,回答問題并提供建議。
ChatGPT 的應(yīng)用之一是天氣預(yù)報和分析。 ChatGPT 可以訪問來自各種來源的實(shí)時天氣數(shù)據(jù),并針對世界上任何地點(diǎn)的當(dāng)前和未來天氣狀況生成簡明且信息豐富的摘要。 ChatGPT還可以詳細(xì)解釋天氣現(xiàn)象的前因后果,如降水、溫度、風(fēng)、氣壓、濕度等。ChatGPT還可以比較不同地點(diǎn)和時間段的天氣情況,突出異同。

OpenAI 今天發(fā)布幾個重磅更新
1、 開放 16k 上下文的 GPT-3.5-Turbo 模型(gpt-3.5-turbo-16k),是目前的4倍 2、 新的 GPT-4 和 3.5 Turbo 模型 3、Chat Completions API 中的新增加函數(shù)調(diào)用功能 (實(shí)時獲取網(wǎng)絡(luò)數(shù)據(jù)成為可能) 4、embeddings模型的成本降低75% 5、gpt-3.5-turbo的輸入token成本降低了25% (開發(fā)者的福音)
其中最令人興奮的功能應(yīng)該當(dāng)屬函數(shù)調(diào)用功能,我們都知道ChatGPT訓(xùn)練的數(shù)據(jù)是基于2021年之前的,你要問一些實(shí)時性相關(guān)的問題就沒法回答你了,而函數(shù)調(diào)用讓實(shí)時獲取網(wǎng)絡(luò)數(shù)據(jù)成為可能,比如查詢天氣預(yù)報、查股票、推薦個近期的電影之類的。
哪些模型支持函數(shù)調(diào)用?
gpt-3.5-turbo-0613 和 gpt-4-0613 這兩個模型都支持函數(shù)調(diào)用。
函數(shù)調(diào)用的流程是什么?
1、用戶發(fā)起提問時,調(diào)用一次帶有函數(shù)描述的completions接口,gpt會判斷是否支持調(diào)用函數(shù),如果可以就從用戶的提問信息中提取出函數(shù)所需要的參數(shù)。 2、開發(fā)者拿到gpt提取出來的參數(shù)后自行調(diào)用函數(shù)并返回結(jié)果 3、將函數(shù)的返回結(jié)果再次發(fā)給GPT做總結(jié)歸納為自然語言

需要注意的地方:
舉個真實(shí)例子
這里我以實(shí)時獲取天氣預(yù)報為例子演示函數(shù)調(diào)用的流程,天氣預(yù)報接口我用的第三方高德API,免費(fèi),每天幾千次的調(diào)用額度。申請注冊流程這里省略,自行研究。
!~@取天氣函數(shù)
def get_weather(city_name: str):
url = "https://restapi.amap.com/v3/weather/weatherInfo?"
params = {"key": "替換成你自己的key",
"city": "110000"}
city_code = "110000"
for city in CITIES:
if city_name in city.get("city"):
city_code = city.get("adcode")
break
params["city"] = city_code
response = requests.get(url=url, params=params)
# 返回結(jié)果:
# {"count": "1",
# "info": "OK",
# "infocode": "10000",
# "lives": [{"adcode": "440300",
# "city": "深圳市",
# "humidity": "81",
# "humidity_float": "81.0",
# "province": "廣東",
# "reporttime": "2023-06-14 15:00:43",
# "temperature": "29",
# "temperature_float": "29.0",
# "weather": "大雨",
# "winddirection": "西南",
# "windpower": "≤3"}],
# "status": "1"}
return response.json().get("lives")[0]
這個函數(shù)就是用來查詢天氣情況的,參數(shù) city_name 是城市的名字,因?yàn)楦叩翧PI只支持通過城市代碼查天氣,所以我這里做了一次根據(jù)城市名找到對應(yīng)編碼的查詢
接口返回的結(jié)果中包含有溫度(temperature)、風(fēng)度(windpower)、風(fēng)向(winddirection)、濕度(humidity)、天氣(weather)等字段信息。
天氣函數(shù)準(zhǔn)備好后,用戶開始提問:“深圳天氣如何?“, 第一次調(diào)用`ChatCompletion`接口。
response = openai.ChatCompletion.create(
model="gpt-3.5-turbo-0613",
messages=[{"role": "user", "content": "深圳天氣如何?"}],
functions=[
{
"name": "get_weather",
"description": "獲取指定地區(qū)的當(dāng)前天氣情況",
"parameters": {
"type": "object",
"properties": {
"city_name": {
"type": "string",
"description": "城市,例如:深圳",
},
},
"required": ["city_name"],
},
}
],
function_call="auto",
)
這里我們指定了一個functions 參數(shù),該參數(shù)描述了函數(shù)的名字以及參數(shù)類型,比如我們這里定義了city_name的參數(shù),gpt 就會從用戶問題中提取出city_name。
response的返回結(jié)果是:
"choices": [
{
"finish_reason": "function_call",
"index": 0,
"message": {
"content": null,
"function_call": {
"arguments": "{\n \"city_name\": \"\u6df1\u5733\"\n}",
"name": "get_weather"
},
"role": "assistant"
}
}
],
gpt 給我們返回的message中有function_call 字段,而且 arguments 里面提取了city_name這個字段的值。
第二步:從返回結(jié)果中提取參數(shù)后調(diào)用函數(shù), 這個過程不是交給gpt處理,而是由開發(fā)者自己調(diào)用該函數(shù),gpt做的事情是把函數(shù)需要的參數(shù)提取出來。
message = response["choices"][0]["message"]
function_call = message.get("function_call")
if function_call:
arguments = function_call.get("arguments")
arguments = json.loads(arguments)
function_response = get_weather(
city_name=arguments.get("city_name"),
)
function_response = json.dumps(function_response)
注意,這里要將函數(shù)調(diào)用返回的結(jié)果做一些json轉(zhuǎn)換
第三交步:把返回結(jié)果給gpt做總結(jié)歸納
second_response = openai.ChatCompletion.create(
model="gpt-3.5-turbo-0613",
messages=[
{"role": "user", "content": "深圳今天的天氣?"},
message,
{
"role": "function",
"name": "get_weather",
"content": function_response,
},
],
)
return second_response
注意messages列表中最后一條消息中role角色是 function, 最后得到的結(jié)果second_response中的content內(nèi)容為:
content: 深圳今天的天氣是大雨,氣溫為25℃,風(fēng)向是西北風(fēng),風(fēng)力為3級,濕度為95%。
最后,我們把邏輯集成到我們微信中得到的效果是這樣的:

完整源代碼:https://gist.github.com/lzjun567/04310ae22dc80005997179c1e591b397
產(chǎn)品與服務(wù)
香港服務(wù)器 香港高防服務(wù)器 美國服務(wù)器 韓國服務(wù)器 新加坡服務(wù)器 日本服務(wù)器 臺灣服務(wù)器云服務(wù)器
香港云主機(jī) 美國云主機(jī) 韓國云主機(jī) 新加坡云主機(jī) 臺灣云主機(jī) 日本云主機(jī) 德國云主機(jī) 全球云主機(jī)高防專線
海外高防IP 海外無限防御 SSL證書 高防CDN套餐 全球節(jié)點(diǎn)定制 全球?qū)>GPLC關(guān)于我們
關(guān)于天下數(shù)據(jù) 數(shù)據(jù)招商加盟 天下數(shù)據(jù)合作伙伴 天下數(shù)據(jù)團(tuán)隊(duì)建設(shè) 加入天下數(shù)據(jù) 媒體報道 榮譽(yù)資質(zhì) 付款方式關(guān)注我們
微信公眾賬號
新浪微博
天下數(shù)據(jù)手機(jī)站 關(guān)于天下數(shù)據(jù) 聯(lián)系我們 誠聘英才 付款方式 幫助中心 網(wǎng)站備案 解決方案 域名注冊 網(wǎng)站地圖
天下數(shù)據(jù)18年專注海外香港服務(wù)器、美國服務(wù)器、海外云主機(jī)、海外vps主機(jī)租用托管以及服務(wù)器解決方案-做天下最好的IDC服務(wù)商
《中華人民共和國增值電信業(yè)務(wù)經(jīng)營許可證》 ISP證:粵ICP備07026347號
朗信天下發(fā)展有限公司(控股)深圳市朗玥科技有限公司(運(yùn)營)聯(lián)合版權(quán)
深圳總部:中國.深圳市南山區(qū)深圳國際創(chuàng)新谷6棟B座10層 香港總部:香港上環(huán)蘇杭街49-51號建安商業(yè)大廈7樓
7×24小時服務(wù)熱線:4006388808香港服務(wù)電話:+852 67031102
本網(wǎng)站的域名注冊業(yè)務(wù)代理北京新網(wǎng)數(shù)碼信息技術(shù)有限公司的產(chǎn)品