想做個類似智能客服的機器人挺据,網(wǎng)上查了下,發(fā)現(xiàn)大家再用圖靈機器人,注冊了下日矫,發(fā)現(xiàn)已經(jīng)沒有免費版的了
于是想了下茵汰,直接使用django做個簡單的api枢里,實現(xiàn)個簡單版的機器人先練練手
1.首先在djano里寫個簡單的api接口
urls.py
path('json_api', views.json_api,name="json_api"),
views.py
import random
import json
def json_api(request):
base_url = 'http://127.0.0.1:8000/'
json_data=json.loads(request.body)
print("json_data:",json_data)
#1.返回隨機數(shù)
if json_data.get('key')=='隨機數(shù)':
res=random.sample(range(6),3)
res=[str(i) for i in res]
result=''.join(res)
#返回隨機問候語
elif json_data.get('key')=='你好':
result=random.choice(['你好','hello','歡迎你'])
#返回查找已有文章
elif json_data.get('key').startswith('博客'):
titles = Titles.objects.filter(text__contains=json_data.get('key')[3:])
result='\n'.join([i.text+'\t'+base_url+reverse('myapp:title', args=(i.id,)) for i in titles])
else:
result="請試試別的問題!"
data={"name":result}
return JsonResponse(data)
*如果使用post請求蹂午,需要把settings.py文件這行注釋掉
'django.middleware.csrf.CsrfViewMiddleware',
2.然后編寫個簡單的命令行
# coding=utf-8
import json
import requests
api_url="http://127.0.0.1:8000/json_api"
print('robot:> hello栏豺,welcome!')
while True:
my_input=input("我:> ")
if my_input.strip()=='exit':
print('robot:> 慢走不送' )
break
data = {"key": my_input
}
data=json.dumps(data).encode(encoding='utf-8')
headers={'content-type':'application/json'}
res=requests.post(api_url,data=data,headers=headers).json().get('name')
#res=requests.get(api_url).json().get('name')
print('robot:> ',res)
啟動django server
啟動客戶端
演示效果:
image.png