这篇文章起源于小毕超的《无需 GPU 服务器,借助 OpenRouter 零成本搭建自己的大模型助手-CSDN博客》。关于OpenRouter的介绍,此文章已经比较全面。该文章中使用 Python + tornado
实现 Web
服务,前端使用基础的 Html + Jquery编写的
server.py、app.py和html文件为我提供了重要帮助。之所以写这篇文章,是因为在使用server.py中出现了“405 服务接口调用异常”。在利用chrome devtool跟踪网络请求后,发现tornado.web.Application的“/assistant”路由,在向app.py发起post请求之后,还将发起第二次options请求,而文章中的Assistant并没有加入响应options请求的处理代码。
经询问kimi AIKimi.ai - 帮你看更大的世界,了解问题出在“在使用Tornado搭建的服务端时,如果遇到发起OPTIONS请求出错的问题,这通常是由于预请求(pre-flight request)导致的。在HTTP协议中,OPTIONS请求是一种预请求,用于客户端在发送实际请求之前,询问服务器是否允许某个HTTP方法(