Skip to content

Commit 8cff56e

Browse files
authored
Merge pull request #51 from cp2boston/RCB-464_text-embedding
Rcb 464 text embedding
2 parents f7141d4 + 16b8956 commit 8cff56e

File tree

3 files changed

+52
-0
lines changed

3 files changed

+52
-0
lines changed

examples/text_embedding.php

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
<?php
2+
3+
/**
4+
* Example code to call Rosette API to get text vectors from sample text
5+
**/
6+
require_once dirname(__FILE__) . '/vendor/autoload.php';
7+
use rosette\api\Api;
8+
use rosette\api\DocumentParameters;
9+
use rosette\api\RosetteException;
10+
11+
$options = getopt(null, array('key:', 'url::'));
12+
if (!isset($options['key'])) {
13+
echo 'Usage: php ' . __FILE__ . " --key <api_key> --url=<alternate_url>\n";
14+
exit();
15+
}
16+
$embeddings_data = "Cambridge, Massachusetts";
17+
$api = isset($options['url']) ? new Api($options['key'], $options['url']) : new Api($options['key']);
18+
$params = new DocumentParameters();
19+
$content = $embeddings_data;
20+
$params->set('content', $content);
21+
22+
try {
23+
$result = $api->textEmbedding($params, false);
24+
var_dump($result);
25+
} catch (RosetteException $e) {
26+
error_log($e);
27+
}

source/rosette/api/Api.php

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -706,4 +706,18 @@ public function relationships($params)
706706
{
707707
return $this->callEndpoint($params, 'relationships');
708708
}
709+
710+
/**
711+
* Calls the text-embedding endpoint.
712+
*
713+
* @param $params
714+
*
715+
* @return mixed
716+
*
717+
* @throws RosetteException
718+
*/
719+
public function textEmbedding($params)
720+
{
721+
return $this->callEndpoint($params, 'text-embedding');
722+
}
709723
}

spec/rosette/api/ApiSpec.php

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -203,6 +203,17 @@ public function it_calls_the_relationships_endpoint($params, $request)
203203
$this->setMockRequest($request);
204204
$this->relationships($params)->shouldHaveKeyWithValue('name', 'Rosette API');
205205
}
206+
public function it_calls_the_text_embedding_endpoint($params, $request)
207+
{
208+
$params->beADoubleOf('\rosette\api\DocumentParameters');
209+
$params->contentUri = 'http://some.dummysite.com';
210+
$request->beADoubleOf('rosette\api\RosetteRequest');
211+
$request->makeRequest(Argument::any(), Argument::any(), Argument::any(), Argument::any())->willReturn(true);
212+
$request->getResponseCode()->willReturn(200);
213+
$request->getResponse()->willReturn([ 'name' => 'Rosette API']);
214+
$this->setMockRequest($request);
215+
$this->textEmbedding($params)->shouldHaveKeyWithValue('name', 'Rosette API');
216+
}
206217
public function it_fails_with_non_200_response($params, $request)
207218
{
208219
$params->beADoubleOf('\rosette\api\DocumentParameters');

0 commit comments

Comments
 (0)