简易入门级AI网站建设攻略
随着人工智能技术的飞速发展,越来越多的人希望能够搭建自己的简易AI网站以展示自己的技术实力或为用户提供服务。今天,就让我来教你如何一步步地实现这一目标。
首先,我们来聊聊重构说起重构,很多人都有感慨,因为只有当遇到较大的问题的时候才会考虑重构,比如技术人员流动大导致代码中风格百出,百花齐放,无用代码一大堆不敢删,奇葩逻辑遍地皆是却没有一行注释、一篇文档。
在这种无奈情况下,我们不得已选择了重构,寄希望于解决所有问题,但往往代价比收益高出一个数量级,很多人因为重构被迫出局。
但重构这件事情是一件必经之路,任何一个产品从诞生到成熟都会经历几次重构,因为没有人能在最初的时候就预示到最终的逻辑(如果能预示那何必有最初呢),就算像阿里巴巴这样成熟的公司,他们内部的系统也是平均两年做一次重构。
回过头来说一下我的网站建设初衷:1)我也是不断成长的,作为一个想做AI工程师的人来说,新思路总想去尝试;
2)很多关注我的网友觉得我之前写的教程总有意犹未尽的感觉,希望能深入写一点;
3)Java终究不是世界上最好的语言(此处可能引发战争),用来用去觉得还是切换到Python为好,也和我们的机器学习知识做个融合;
技术栈选择首先说语言。
我曾经说过,语言只是工具,每门语言都有它存在的理由,它擅长用在什么地方就用在什么地方,不擅长的不要勉强,不歧视、不在一棵树上吊死、哪个行就上哪个。
后端语言,我选择了Python,因为Python是社区最活跃的语种之一且呈上升趋势,另外也是机器学习与自然语言处理方向的主流语言。
前端框架,我选择了直接用Flask模板渲染,没有选择Vue等前端框架,因为SEO不友好。服务端容器,我选择了在Tomcat、Apachehttpd、Nginx等Web服务器下游使用Gunicorn,它类似于Apache,可以通过一个守护进程把不同的HTTP请求转交给子进程并发处理,并且支持多线程的方式,性能较高,更重要的,Flask会自动帮我们生成WSGI的配置,天然对WSGI友好。
流行的Web框架都有简单易用的原型搭建工具。现在我们利用Django工具搭建最基本的运行环境:
首先,Python是必须的,我们选择Python 3.7以上版本。
然后,安装Flask相关组件(当前最新版是1.1.2)。在命令行中输入以下命令,完成安装:
pip install flask==1.1.2
创建开源代码库:
在GitHub中创建仓库:easyaiweb,并在本地创建空仓库提交GitHub库,访问:https://github.com/easyai/easyaiweb
创建Django工程:
在安装Django时已经自动帮我们安装了django-admin工具,执行以下命令自动创建一个完整的工程目录(其中最后一个参数是工程目录,倒数第二个参数是工程名):
django-admin startproject easyaiweb /Users/example/Developer/easyaiweb
这时可以找到自动创建的manage.py文件(一个工具脚本,不需要修改),和工程总目录easyaiweb(里面包含了配置文件settings.py、总路由配置urls.py、WSGI协议配置文件wsgi.py)。
下面我们在这个工程里创建我们网站的一个app:
django-admin startapp web
执行命令后,我们看到它自动创建了web目录,并且自动帮我们组织了一些文件,包括:
- admin.py:数据库表的后台管理类一般定义在这里。
- apps.py:这个app的配置信息,这个文件一般不动。
- migrations目录:存储数据库迁移相关的临时文件,不需要动。
- models.py:和数据库对应的model类一般定义在这里。
- tests.py:自动化测试脚本。
- views.py:视图层脚本,我一般会把控制逻辑写到这里。
这些文件全都看不懂也不要紧,到现在为止,我们的网站已经可以运行了。执行以下命令:
python manage.py runserver
这时候,打开浏览器访问 http://127.0.0.1:8000/ ,可以看到Django展示的默认页面。
接下来,我们来修改一下我们的路由规则:
编辑easyaiweb/urls.py文件,将以下内容替换原来内容:
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path('admin/', admin.site.urls),
path('', include('web.urls')),
]
接下来,我们创建一个名为index
的视图和一个对应的路由:
# web/views.py
from django.http import HttpResponse
def index(request):
return HttpResponse("Hello, AI World!")
编辑easyaiweb/urls.py文件,添加以下内容:
# easyaiweb/urls.py
from django.contrib import admin
from django.urls import path, include
from . import views
urlpatterns = [
path('admin/', admin.site.urls),
path('', views.index),
]
这时可以访问 http://127.0.0.1:8000/ 看到我们的简单AI网站已经搭建成功了。
为了让我们的网站更专业,我们可以部署一个Gunicorn服务器来提高并发处理能力。首先,安装Gunicorn:
pip install gunicorn==20.0.4
然后,在easyaiweb目录下创建一个名为wsgi.py的WSGI兼容启动脚本文件,内容如下:
from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()
最后,执行以下命令启动Gunicorn服务器:
gunicorn -w 4 easyaiweb:application
这时可以访问 http://127.0.0.1:8000/ ,看到我们的AI网站已经成功部署并可用。
至此,一个简易的AI网站就成功搭建完成了。当然,这只是基础版本。在实际应用中,我们还可以根据需求进行功能拓展、性能优化、安全性加固等操作。祝你一路顺风!