最近公司要上線(xiàn)智能客服系統(tǒng),小公司要花幾十萬(wàn)上線(xiàn)這樣一個(gè)系統(tǒng)老板還是不愿意。
行業(yè)內(nèi)的一些較為便宜的系統(tǒng),做了一些調(diào)研,結(jié)果如下。
調(diào)研
品牌 | 曉多 | 奇智 | 智能 V5 | 春松 |
---|
官網(wǎng) | 地址 | 地址 | 地址 | 地址 |
功能 | 一、功能上并不輸給V5,甚至能根據(jù)語(yǔ)音來(lái)調(diào)取相應(yīng)的答復(fù)。二、可以自定義LOGO及頭像三、提供接口和智能V5差不多四、服務(wù)工單是有的,4家展示的數(shù)據(jù)各不相同 | 功能與曉多類(lèi)似,至于定制LOGO,我認(rèn)為性?xún)r(jià)比太低了,還不如我們自行設(shè)計(jì)。 | 功能確實(shí)不錯(cuò)接口有:web網(wǎng)站、微信公眾號(hào)、APP、新浪微博、QQ、微信小程序、支付寶服務(wù)窗。 | 功能相比其他三家顯得單薄,而且他們目前沒(méi)有太多的時(shí)間去完善,等其他項(xiàng)目完工,會(huì)跟進(jìn)并完善界面與功能。 |
售后服務(wù) | 有對(duì)應(yīng)的售后服務(wù)人員 | 根據(jù)付費(fèi)的情況而享受不通的服務(wù) | 根據(jù)年費(fèi)不同而享受的服務(wù)也不同 | 有QQ對(duì)接的聯(lián)系人,響應(yīng)時(shí)間不穩(wěn)定,但絕對(duì)有人應(yīng)答并解決問(wèn)題 |
源碼 | 不提供 | 不提供 | 不提供 | 開(kāi)源 |
形式 | 云服務(wù) | 云服務(wù) / 私有部署 | 云服務(wù) | 私有部署 |
價(jià)格 | 3.8萬(wàn)一年,1800一個(gè)坐席。如果簽訂合同,這個(gè)坐席可以免費(fèi)(1-2個(gè)) | 純saas版本的話(huà),機(jī)器人系統(tǒng)是一年1萬(wàn),至于功能呼叫中心不能實(shí)現(xiàn),頁(yè)面設(shè)計(jì)是固定 | 免費(fèi)版基礎(chǔ)版:6800高級(jí)版:18000專(zhuān)業(yè)版:48000 地址 | 目前是免費(fèi),開(kāi)源,維護(hù)一般活躍,如果要做到一些定制化開(kāi)發(fā),官方銷(xiāo)售會(huì)給報(bào)價(jià)(一次性買(mǎi)斷,簽合同后期提供技術(shù)保障) |
結(jié)論
體驗(yàn)了不同環(huán)境,對(duì) UI、機(jī)器人客服比較,最終選擇哪個(gè)還沒(méi)有定。
how to use DevStack to launch a stack with Heat in Ubuntu 12.04 Desktop dist?
1. create a shell file in home dir ~/createStack .
cd ~
sudo apt-get update || yum update -y
sudo apt-get install -qqy git || yum install -y git
PASSWORD=*
git clone https://github.com/openstack-dev/devstack.git
cd devstack
echo "ENABLED_SERVICES+=,heat,h-api,h-api-cfn,h-api-cw,h-eng">localrc
echo "DATABASE_PASSWORD=$PASSWORD">>localrc
echo "RABBIT_PASSWORD=$PASSWORD">>localrc
echo "SERVICE_TOKEN=$PASSWORD">>localrc
echo "SERVICE_PASSWORD=$PASSWORD">>localrc
echo "ADMIN_PASSWORD=$PASSWORD">>localrc
echo "IMAGE_URLS+=\",http://fedorapeople.org/groups/heat/prebuilt-jeos-images/F17-x86_64-cfntools.qcow2\"">>localrc
echo "IMAGE_URLS+=\",http://fedorapeople.org/groups/heat/prebuilt-jeos-images/U10-x86_64-cfntools.qcow2\"">>localrc
echo "IMAGE_URLS+=\",http://download.cirros-cloud.net/0.3.1/cirros-0.3.1-x86_64-uec.tar.gz\"">>localrc
./stack.sh
2. chmod +x createStack.sh
3.run ~/createStack.sh
decorators i: introduction to python decorators
'''Created on Aug 21, 2013
@author: hailiang
'''
class myDecorator(object):
def __init__(self, f):
print "1:inside myDecorator.__init__()"
self.f = f # Prove that function definition has completed
def __call__(self, args=None):
print "3:inside myDecorator.__call__()"
self.f(args)
@myDecorator
def aFunction(args=None):
print "4:inside aFunction()"
print args
print "2:Finished decorating aFunction()"
aFunction()
print "another call"
aFunction(args="I have value")
Online Docs
The class hierarchy for built-in exceptions is:
BaseException
+-- SystemExit
+-- KeyboardInterrupt
+-- GeneratorExit
+-- Exception
+-- StopIteration
+-- StandardError
| +-- BufferError
| +-- ArithmeticError
| | +-- FloatingPointError
| | +-- OverflowError
| | +-- ZeroDivisionError
| +-- AssertionError
| +-- AttributeError
| +-- EnvironmentError
| | +-- IOError
| | +-- OSError
| | +-- WindowsError (Windows)
| | +-- VMSError (VMS)
| +-- EOFError
| +-- ImportError
| +-- LookupError
| | +-- IndexError
| | +-- KeyError
| +-- MemoryError
| +-- NameError
| | +-- UnboundLocalError
| +-- ReferenceError
| +-- RuntimeError
| | +-- NotImplementedError
| +-- SyntaxError
| | +-- IndentationError
| | +-- TabError
| +-- SystemError
| +-- TypeError
| +-- ValueError
| +-- UnicodeError
| +-- UnicodeDecodeError
| +-- UnicodeEncodeError
| +-- UnicodeTranslateError
+-- Warning
+-- DeprecationWarning
+-- PendingDeprecationWarning
+-- RuntimeWarning
+-- SyntaxWarning
+-- UserWarning
+-- FutureWarning
+-- ImportWarning
+-- UnicodeWarning
+-- BytesWarning
- exception BaseException
The base class for all built-in exceptions. It is not meant to be directly inherited by user-defined classes (for that use Exception). If str() or unicode() is called on an instance of this class, the representation of the argument(s) to the instance are returned or the empty string when there were no arguments. All arguments are stored in args as a tuple.
New in version 2.5.
- exception Exception
All built-in, non-system-exiting exceptions are derived from this class. All user-defined exceptions should also be derived from this class.
Changed in version 2.5: Changed to inherit from BaseException.
'''
Created on Aug 15, 2013
'''
# class MyException(Exception):
# """My documentation"""
class MyException(Exception):
pass
# class MyException(Exception):
# def _get_message(self):
# return self.args[0]
# def _set_message(self, message):
# self._message = message
# message = property(_get_message, _set_message)
try:
raise MyException('description1', 'description2')
except MyException as my:
print str(my)
print unicode(my)
try:
raise MyException(u'description1', u'description2')
except MyException as my:
print str(my)
print unicode(my)
#! /bin/bash
#######################
#
#######################
# constants
# functions
# main
[ -z "${BASH_SOURCE[0]}" -o "${BASH_SOURCE[0]}" = "$0" ] || return