motuo/call-watson-api

调用 Watson API(助手和发现服务)

1.1 2018-11-16 03:58 UTC

This package is auto-updated.

Last update: 2024-09-16 21:30:37 UTC


README

Software License Latest Version on Packagist Total Downloads

motuo/call-watson-api 是一个 laravel 扩展包,提供与 Watson 简便协作,例如:

  • 调用 Watson 助手 API(获取用户输入的响应)
  • 调用 Watson 发现服务 API

日本语文档
日本語記事はこちら

安装

您可以通过 composer 安装此包

composer require motuo/call-watson-api

如果您使用 Laravel 5.5,服务提供者将自动发现。

发布配置文件

php artisan vendor:publish

并选择

Provider: motuo\CallWatsonAPI\CallWatsonServiceProvider

根据需要将 API 凭证添加到 .env 文件中,如下所示:

WATSON_ASSISTAN_API_URL="https://gateway-fra.watsonplatform.net/assistant/api"
WATSON_ASSISTANT_VERSION="2018-07-10"
WATSON_ASSISTANT_WORKSPACEID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
WATSON_ASSISTANT_USER_NAME=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
WATSON_ASSISTANT_PASSWORD=xxxxxxxxxxxx

WATSON_DISCOVERY_API_URL="https://gateway-fra.watsonplatform.net/discovery/api"
WATSON_DISCOVERY_VERSION="2018-10-15"
WATSON_DISCOVERY_ENV_ID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
WATSON_DISCOVERY_COLLECTION=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
WATSON_DISCOVERY_USER_NAME=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
WATSON_DISCOVERY_PASSWORD=xxxxxxxxxxxx

用法

调用 Watson 助手

示例

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use motuo\CallWatsonAPI\CallAssistant;

class TestContoller extends Controller
{
    public function index(Request $request,CallAssistant $CWA){
        //provide user input message and context
        $response      = $CWA->postMessage('input message',session('context')?session('context'):[]);
        //this method returns json.If necessary,please json decode.
        $responseArray = json_decode($response,true);
        //this step put a context to session for next conversation
        $request->session()->put('context',$responseArray['context']);
        return view('welcome');
    }
}

调用 Watson 发现

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use motuo\CallWatsonAPI\CallDiscovery;

class TestContoller extends Controller
{
    public function index(Request $request,CallDiscovery $CWD){
        //Query your collection
        $query  = ['query'=>[
            'version'        => '2018-08-01',
            'deduplicate'    => 'false',
            'highlight'      => 'true',
            'passages'       => 'true',
            'passages.count' => '5'   ,
            'natural_language_query' => 'natural_language_query'
        ]];
        $CWD->queryCollection($query);
        //Management training Querys
        $CWD->listTrainingData();
        $CWD->getQueryIdByNLQ('natural_language_query');
        $CWD->addQueryToTrainingData('document_id','natural_language_query',100);
        $CWD->deleteTrainingDataQuery('query_id');
        //Management Examples
        $CWD->listExamplesTrainingData('query_id');
        $CWD->getExampleId('query_id','document_id');
        $CWD->addExampleToTrainingData('query_id','document_id',100);
        $CWD->deleteExampleForTrainingDataQuery('query_id','document_id');
        return view('welcome');
    }
}

版本历史

请参阅专用变更日志

许可证

MIT 许可证(MIT)。有关更多信息,请参阅许可证文件