在python中调用动作函数机智api

时间:2017-01-17 08:35:49

标签: python bots wit.ai wit-ai

我想得到任何物品的股票价格。我有一个函数getPrice,它返回项目的价格。我正在尝试使用wit ai。 这就是我的尝试。

from wit import Wit

def getPrice(request):
    #statements
    return price


def send(request, response):
    print request['text']
    print('Sending to user...', response['text'])

actions = {
    'send': send,
    'getPrice':getPrice
}

client = Wit(access_token="<token>", actions=actions)

resp = client.message('what is the stock price of xyz')
print('Result: ' + str(resp))

我得到的结果是:

Result: {
u 'entities': {
    u 'search_query': [{
        u 'suggested': True,
        u 'confidence': 0.578445451443443,
        u 'type': u 'value',
        u 'value': u 'stock of xyz'
    }],
    u 'item': [{
        u 'confidence': 0.9613219630126943,
        u 'value': u 'xyz'
    }]
},
u 'msg_id': u '5ac1a450-7c5d-3190-8666-5d88a1884f94',
u '_text': u 'what is the stock of xyz?'
}

我希望Bot显示价格。如何调用此动作功能?

2 个答案:

答案 0 :(得分:0)

你可以做到

print resp['entities']['item'][0]['value']

答案 1 :(得分:0)

而不是:

print('Result: ' + str(resp))

尝试:

stock = resp['entities']['item'][0]['value']
print('Price: {}'.format(getPrice(stock)))