예제 #1
0
 /**
  * @param string $text
  * @param Context|null $context
  * @param array $queryParams
  *
  * @return mixed
  */
 public function extractMeaning($text, Context $context = null, array $queryParams = [])
 {
     $query = array_merge($queryParams, ['q' => $text]);
     if (null !== $context && !$context->isEmpty()) {
         $query['context'] = json_encode($context);
     }
     $response = $this->client->get('/message', $query);
     return $this->decodeResponse($response);
 }
예제 #2
0
 /**
  * @param string|resource $file
  * @param array|null $context
  * @param array $queryParams
  *
  * @return array|null
  */
 public function extractMeaning($file, Context $context = null, array $queryParams = [])
 {
     if (!$file || !is_resource($file) && !is_readable($file)) {
         throw new \InvalidArgumentException('$file argument must be a readable file path or a valid resource');
     }
     if (null !== $context && !$context->isEmpty()) {
         $queryParams['context'] = json_encode($context);
     }
     $file = is_resource($file) ? $file : fopen($file, 'r');
     $response = $this->client->send('POST', '/speech', $file, $queryParams);
     return $this->decodeResponse($response);
 }
예제 #3
0
 /**
  * @param string $sessionId
  * @param string|null $text
  * @param Context|null $context
  *
  * @return array
  */
 public function converse($sessionId, $text = null, Context $context = null)
 {
     $query = ['session_id' => $sessionId];
     if (!empty($text)) {
         $query['q'] = $text;
     }
     $body = null;
     // Don't send empty array
     if (null !== $context && !$context->isEmpty()) {
         $body = $context;
     }
     $response = $this->client->send('POST', '/converse', $body, $query);
     return $this->decodeResponse($response);
 }
예제 #4
0
 /**
  * @param string $entityId
  * @param EntityValue[] $entityValues
  * @param null|string $description
  * @param array $lookups
  *
  * @return mixed
  */
 public function create($entityId, array $entityValues = [], $description = null, array $lookups = [Entity::LOOKUP_KEYWORDS])
 {
     $data = ['id' => $entityId, 'values' => $entityValues, 'doc' => $description, 'lookups' => $lookups];
     $response = $this->client->post('/entities', $data);
     return $this->decodeResponse($response);
 }