百度文心一言插件開發(fā)中的幾個疑惑(解答)

從官方的文檔上來看,要比微信小程序更輕量化,目前也沒有要求必須有經(jīng)過備案的域名,也就是說通過公網(wǎng)IP就可以提供一些功能,甚至可以通過內(nèi)網(wǎng)穿透,提供API服務(wù),當(dāng)然前提是穿透后的公網(wǎng)地址不變。
疑惑1:
官方提供的demo,測試不管怎么改名也不能提交項(xiàng)目包;
疑惑2:
文檔中只說明了本地調(diào)試的方案,但是沒有說明上線后要改哪些東西?
經(jīng)過一系列探索,發(fā)現(xiàn).py文件在百度端屬于冗余文件,開發(fā)者端只要寫好.well-known文件。
注意1:
.py文件是部署在開發(fā)者本地或者服務(wù)器端,恰好用的是我熟悉的Flask。
在這里需要注意Flask跨域請求設(shè)置:
使用以下代碼示例來實(shí)現(xiàn)在特定路由函數(shù)中允許百度跨域訪問:
from flask import Flask, jsonify
from flask_cors import CORS
app = Flask(__name__)
CORS(app)
@app.route('/your-route')
@cross_origin(origins='https://www.baidu.com')
def your_route():
? ?response = {'message': 'Hello, Baidu!'}
? ?return jsonify(response)
if __name__ == '__main__':
? ?app.run()
在上述示例中,我們導(dǎo)入了?Flask
?和?CORS
,創(chuàng)建了一個 Flask 應(yīng)用對象,并通過?CORS(app)
?來啟用跨域支持。
然后,我們定義了?/your-route
?路由函數(shù),并使用?@cross_origin(origins='https://www.baidu.com')
?裝飾器來指定允許百度進(jìn)行跨域訪問。這樣,只有該路由函數(shù)返回的響應(yīng)會包含跨域頭信息,其他路由函數(shù)不受影響。
在路由函數(shù)中,我們可以返回 JSON 格式的數(shù)據(jù)作為示例。你可以根據(jù)實(shí)際需求進(jìn)行邏輯處理和響應(yīng)內(nèi)容的設(shè)置。
請確保將?'https://www.baidu.com'
?替換為實(shí)際允許的跨域來源地址。如果需要允許多個來源進(jìn)行跨域訪問,可以將?origins
?參數(shù)設(shè)置為一個列表,如?origins=['https://www.baidu.com', 'https://example.com']
。
這樣,通過使用 Flask-CORS 擴(kuò)展,在特定的路由函數(shù)中可以輕松設(shè)置百度或其他特定來源的跨域訪問權(quán)限。
注意2:
最后,在.well-known文件中的配置,發(fā)布時,需要改地址為公網(wǎng)IP或者域名。
servers:# 實(shí)際服務(wù)啟動的地址和端口,調(diào)試環(huán)境可以是localhost或127.0.0.1,正式上線需要換成公網(wǎng)IP-url:http://127.0.0.1:8081
上述,只是做個探索階段的記錄,事實(shí)上我的小破站也用不到它,除非百度給予插件更大力度的流量扶持,否則看不到用它的意義。