百度文心一言插件开发中的几个疑惑(解答)

从官方的文档上来看,要比微信小程序更轻量化,目前也没有要求必须有经过备案的域名,也就是说通过公网IP就可以提供一些功能,甚至可以通过内网穿透,提供API服务,当然前提是穿透后的公网地址不变。
疑惑1:
官方提供的demo,测试不管怎么改名也不能提交项目包;
疑惑2:
文档中只说明了本地调试的方案,但是没有说明上线后要改哪些东西?
经过一系列探索,发现.py文件在百度端属于冗余文件,开发者端只要写好.well-known文件。
注意1:
.py文件是部署在开发者本地或者服务器端,恰好用的是我熟悉的Flask。
在这里需要注意Flask跨域请求设置:
使用以下代码示例来实现在特定路由函数中允许百度跨域访问:
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()
在上述示例中,我们导入了 Flask
和 CORS
,创建了一个 Flask 应用对象,并通过 CORS(app)
来启用跨域支持。
然后,我们定义了 /your-route
路由函数,并使用 @cross_origin(origins='https://www.baidu.com')
装饰器来指定允许百度进行跨域访问。这样,只有该路由函数返回的响应会包含跨域头信息,其他路由函数不受影响。
在路由函数中,我们可以返回 JSON 格式的数据作为示例。你可以根据实际需求进行逻辑处理和响应内容的设置。
请确保将 'https://www.baidu.com'
替换为实际允许的跨域来源地址。如果需要允许多个来源进行跨域访问,可以将 origins
参数设置为一个列表,如 origins=['https://www.baidu.com', 'https://example.com']
。
这样,通过使用 Flask-CORS 扩展,在特定的路由函数中可以轻松设置百度或其他特定来源的跨域访问权限。
注意2:
最后,在.well-known文件中的配置,发布时,需要改地址为公网IP或者域名。
servers:# 实际服务启动的地址和端口,调试环境可以是localhost或127.0.0.1,正式上线需要换成公网IP-url:http://127.0.0.1:8081
上述,只是做个探索阶段的记录,事实上我的小破站也用不到它,除非百度给予插件更大力度的流量扶持,否则看不到用它的意义。