1.fastapi解决默认文档打不开的方案
2.利用阿里通义千问和Semantic Kernel,10分钟搭建大模型知识助手!
3.API 接口开发没那么难,Python FastApi Web 框架教程来了!
4.Fastapi访问/docs和/redoc接口文档显示空白或无法加载
fastapi解决默认文档打不开的方案
打开GitHub仓库,发现shu-s-project有个star,牛牛金叉源码激发了我编写代码的热情。随后,我clone下来准备增加几个API。在调试过程中,意外发现FastAPI自带的文档无法打开,查看控制台后得知静态资源请求失败。由于众所周知的原因,jsdelivr被屏蔽,导致文档空白一片。
搜寻解决方案,有些方法建议将静态资源存放在本地,或修改FastAPI源码,更改CDN地址以接入其他可访问的网络。这两种方案均不理想:前者意味着每个项目都需一套静态资源,失去了CDN的意义,后者则易受版本更新影响。pg状态详解源码GitHub上也有相关讨论,建议修改Swagger和Redoc的CDN或FastAPI源码中的参数。考虑到上述情况,我决定采用Beipy的方案,在主程序中编写一个函数主动替换CDN地址。代码如下:
原理见fastapi.tiangolo.com/re...,生成docs和redoc的函数参数中包含引用的CDN地址,因此只需修改这些参数即可。
然而,替换的js和css地址带有版本号,不同FastAPI版本可能使用不同版本的静态资源。尝试替换后,发现报错。这导致了新问题:每次都要去源码查看CDN版本并手动替换吗?这还不如使用本地方案。但办法总是比问题多,既然原始的get_swagger_ui_html函数提供了引用的CDN地址,我们只需直接获取参数值并替换前缀即可。使用unpkg而非知乎CDN,因为它更全。遵循这个思路,代码很快完成。分时划线源码
最终解决方案如下:
完整代码如下:
注:redoc也适用此方法,只需修改引入的fastapi.openapi.docs.get_redoc_html函数并替换redoc_js_url即可。
问题得到解决。
利用阿里通义千问和Semantic Kernel,分钟搭建大模型知识助手!
在当今信息化社会中,构建智能知识助手以提升工作效率与用户体验成为众多企业和开发者的重要目标。本文将带领您利用阿里通义千问与Semantic Kernel技术,仅用分钟快速搭建一款大模型知识助手,实现知识文档的高效问答与智能化分析。
首先,让我们了解一下通义千问。作为阿里自主研发的超大规模语言模型,通义千问已开源多款大语言模型,包括Qwen-B、Qwen-1.8B与Qwen-Audio,涵盖参数量从亿至亿不等的模型,以及视觉理解与音频理解的多模态模型,为开发者提供强大的语言处理能力。
而Semantic Kernel是由微软推出的开源项目,旨在简化大型语言模型与应用程序的交叉点源码集成,提升开发者构建智能应用的效率。通过集成Semantic Kernel,我们可以将通义千问的能力融入到各类应用中,打造具有深度学习与智能决策能力的助手。
接下来,我们将分步骤介绍如何搭建通义千问知识助手。
### 1. 部署环境与准备
为了顺利运行通义千问,您需要准备以下环境与资源:
- Python 3.8或更高版本
- Pytorch 1.或更高版本,推荐使用2.0及以上版本
- 对于GPU用户,建议使用CUDA .4或更高版本
- 服务器推荐使用Linux系统,内存至少GB,GPU用户则建议至少GB显存
确保安装了满足以上条件的开发环境,将有助于后续步骤的顺利进行。
### 2. 下载与安装通义千问源码
下载通义千问源码后,您将发现其中包含基于FastAPI模仿OpenAI接口的源码文件,如openai_api.py。在下载的目录中执行安装命令,以确保所有依赖库得到正确安装。
### 3. 安装FastAPI依赖
进入源码目录后,执行相应命令,安装FastAPI相关依赖,lanview源码怎么查看为通义千问提供运行所需的软件环境。
### 4. 启动FastAPI
通过执行启动命令,FastAPI服务将被激活,您可以访问.0.0.1:查看API文档,完成通义千问的基础部署。
### 5. 集成Semantic Kernel
在集成Semantic Kernel的过程中,首先创建一个控制台项目并安装必要的依赖库。接着,通过添加通义千问扩展,将通义千问的能力无缝融入Semantic Kernel中,实现知识助手的初步构建。
### 6. 测试与优化
完成集成后,进行功能测试,确保知识助手能正确响应用户提问并提供准确答案。根据测试结果进行必要的调整与优化,以提升问答系统的准确性和用户体验。
### 7. 项目与贡献
本文所介绍的项目已经开源,您可以访问GitHub地址:github.com/bianchengleq...,探索更多细节与代码实现。欢迎各位开发者加入,共同优化与拓展知识助手的功能与应用场景。
通过本文的介绍与实践,您已学会如何利用阿里通义千问与Semantic Kernel在短时间内构建一款功能强大的大模型知识助手。在日后的应用中,不断优化与创新,将为用户提供更智能、更高效的知识获取与利用体验。
API 接口开发没那么难,Python FastApi Web 框架教程来了!
欢迎关注@Python与数据挖掘,专注 Python、数据分析、数据挖掘、好玩工具!
快来看看FastAPI的教程吧!
FastAPI是由Sebastian Ramirez开发的一款高性能的Web框架,让你的API接口开发变得轻松快捷。
学习FastAPI的原因有很多,比如其优秀的性能、简洁的代码结构、丰富的功能支持等。
开始之前,确保你已经安装了Python和Pycharm,了解基本的Python编程知识,然后创建项目工程,安装环境,最后安装fastapi。
在FastAPI中,你可以轻松地开启服务和接口访问,用json数据格式解析,生成在线API文档,发送POST请求,并使用各种请求格式。
获取URL参数和请求头参数也十分简单,表单获取数据同样支持,自定义返回JSON、HTML、文件、HTML页面都可轻松实现。
对于一些小案例,如代办事项,你可以在项目中添加相应的代码来实现。
如果你想要与数据库交互,FastAPI也支持绑定数据库,通过tortoise-orm和aiomysql进行数据库访问和写入,确保数据正确无误。
加入我们的技术交流群,获取更多资源,与来自各大名企的开发者交流互动。
关注@Python与数据挖掘知乎账号和微信公众号,获取最新优质文章。
推荐你浏览以下资源,提升你的Python编程技能:盘点个让工作效率倍增且有趣的Python库,如prettytable、推荐收藏!机器学习建模调参方法总结、推荐收藏!个机器学习最佳入门项目(附源代码)、没看完这 条,别说你精通Python装饰器、个VS Code神级插件、Schedule模块、Python周期任务神器、这4款数据自动化探索Python神器、个数据分析师必会的数据模型、真香啊!让Python编程起飞的个神操作、深度盘点:个用于深度学习、自然语言处理和计算机视觉的顶级Python、全网超详细!用户画像标签体系建设指南、机器学习模型验证,这3个Python包可轻松解决%的需求、精选个炫酷的可视化大屏模板、够强大!Python这款可视化大屏不足百行代码、深度盘点:字详细介绍Python中的7种交叉验证方法、精选字详细介绍Python中的7种交叉验证方法。
Fastapi访问/docs和/redoc接口文档显示空白或无法加载
fastapi自动生成的接口文档基于Swagger UI,但在内部局域网环境可能无法访问外网的cdn,导致docs接口文档无法自动生成。解决方法如下:
链接:链接
提取码:c8ha
推荐方法1:
示例代码如下:
- 问题源于fastapi使用了外网cdn来加载接口文档。
- 将本地静态文件static集成到项目中。
- 修改源码中的get_swagger_ui_html和get_redoc_html内容。
具体步骤:
- **方法1**:使用链接和提取码获取本地静态文件,将这些文件直接集成到fastapi项目中。
- **方法2**:不推荐修改源码,但若需手动修改,步骤如下:
1. **修改get_swagger_ui_html**:在fastapi配置中,更改文档生成的静态文件路径为本地文件系统路径。
2. **修改get_redoc_html**:同样,调整redoc文档生成路径为本地静态文件路径。
完整代码示例:
- **方法1**的示例代码已通过链接提供,确保集成本地静态文件。
- **方法2**涉及修改源码部分,具体修改代码需根据fastapi配置文件和源码结构调整,确保文档相关部分引用的路径指向本地静态文件目录。
通过以上步骤,可在内部局域网环境下有效解决fastapi接口文档无法自动生成的问题,确保开发和测试环境下的文档可用性。