怎么将回答的结果保存至本地
可以通过函数将最终结果写入到数据库持久化保存。
可以把回答变成文件的形式进行保存吗
可以的,都可以通过函数实现,函数里自己写代码将数据保存到文件就好,注意路径要保存在/opt/maxkb/app/sandbox/路径下。
不过保存到数据库是更合适的方式,可以将数据结构化存储。
请问这个保存的函数有案例参考下吗
可以参考下将 URL 保存为文件的函数。
import requests
import os
from urllib.parse import urlparse
def download_file(url, suffix):
"""
通过 URL 下载文件并保存到本地。
文件名从 URL 中提取。
:param url: 文件的 URL
:param suffix: 文件后缀
"""
try:
# 定义目标目录
target_directory = "/opt/maxkb/app/sandbox/file"
if not os.path.exists(target_directory):
os.makedirs(target_directory)
print(f"目录 {target_directory} 创建成功。")
# 发起 HTTP 请求下载文件
response = requests.get(url, stream=True)
response.raise_for_status() # 检查请求是否成功
# 从 URL 中提取文件名
parsed_url = urlparse(url)
save_name = os.path.basename(parsed_url.path) + suffix
# 构造完整的保存路径
save_path = os.path.join(target_directory, save_name)
# 将文件写入指定路径
with open(save_path, "wb") as file:
for chunk in response.iter_content(chunk_size=8192):
file.write(chunk)
return f"文件已成功保存到 {save_path}"
except requests.RequestException as e:
return f"下载失败: {e}"
except Exception as e:
return f"发生错误: {e}"