1.1.5 • Published 12 days ago
@oramacloud/client v1.1.5
Orama Cloud Client
Install
npm i @oramacloud/client
Integrating with Orama Cloud
import { OramaClient } from "@oramacloud/client";
const client = new OramaClient({
endpoint: "<Your Orama Cloud Endpoint>",
api_key: "<Your Orama Cloud API Key>",
});
const results = await client.search({
term: "red leather shoes",
});
Advanced search
const results = await client.search({
term: "red leather shoes",
where: {
price: {
lte: 9.99,
},
gender: "unisex",
},
limit: 5,
offset: 1,
});
Generating embeddings via the Secure Proxy
import { OramaProxy } from "@oramacloud/client";
const proxy = new OramaClient({
api_key: "<Your Orama Secure Proxy API Key>",
});
const embeddings = await proxy.generateEmbeddings(
"red leather shoes",
"openai/text-embedding-ada-002"
);
console.log(embeddings);
// [-0.019633075, -0.00820422, -0.013555876, -0.011825735, 0.006641511, -0.012948156, ...]
Available models:
orama/gte-small
. 384 dimensions, operated by Orama Cloud (preferred)orama/gte-medium
. 768 dimensions, operated by Orama Cloudorama/gte-large
. 1024 dimensions, operated by Orama Cloudopenai/text-embedding-ada-002
. 1536 dimensions, proxied to OpenAIopenai/text-embedding-3-small
. 1536 dimensions, proxied to OpenAIopenai/text-embedding-3-large
. 3072 dimensions, proxied to OpenAI
Generating chat completions via the Secure Proxy
You can generate chat completions via the Secure Proxy in two different ways:
Returning a single string
import { OramaProxy } from "@oramacloud/client";
const proxy = new OramaClient({
api_key: "<Your Orama Secure Proxy API Key>",
});
const chatParams = {
model: "openai/gpt-4",
messages: [{ role: "user", content: "Who is Michael Scott?" }],
};
const response = await proxy.chat(chatParams);
console.log(response);
// "Michael Scott is a fictional character from the television show "The Office" (US version) ..."
Available models:
openai/gpt-4-1106-preview
openai/gpt-4
openai/gpt-3.5-turbo
openai/gpt-3.5-turbo-16k
Returning a stream (via async iterators)
import { OramaProxy } from "@oramacloud/client";
const proxy = new OramaClient({
api_key: "<Your Orama Secure Proxy API Key>",
});
const chatParams = {
model: "openai/gpt-4",
messages: [{ role: "user", content: "Who is Michael Scott?" }],
};
for await (const message of proxy.chatStream(chatParams)) {
console.log(message);
}
// Michael
// Scott is
// a fictional
// character from the
// television show
// "The
// Office" (US
// version)
// ...
Available models:
openai/gpt-4-1106-preview
openai/gpt-4
openai/gpt-3.5-turbo
openai/gpt-3.5-turbo-16k
With React
import { OramaCloud, useSearch } from "@oramacloud/client/react";
export function App() {
return (
<OramaCloud
endpoint="<Your Orama Cloud Endpoint>"
apiKey="<Your Orama Cloud API Key>"
>
<Search />
</OramaCloud>
);
}
function Search() {
const { results, error } = useSearch({
term: "red leather shoes",
limit: 10,
offset: 5,
});
return (
<>
{results.hits.map((hit) => {
<div key={hit.id}>
<p> {hit.document.myCustomProperty} </p>
</div>;
})}
</>
);
}
With Vue
Import the composable into your component and it's ready to use.
<template>
<li v-for="hit in results?.hits" :key="hit.id">
{{ hit.id }}
</li>
</template>
<script setup>
import { useSearch } from "@oramacloud/client/vue";
import { orama } from './orama'
const { results } = useSearch({
cloudConfig: {
apiKey: "<Your Orama Cloud API Key>",
endpoint: "<Your Orama Cloud Endpoint>",
},
term: "guitar",
limit: 5
});
</script>
1.1.5
12 days ago
1.1.4
12 days ago
1.1.3
13 days ago
1.1.2
15 days ago
1.1.1
18 days ago
1.1.0
18 days ago
1.0.14
1 month ago
1.0.13
1 month ago
1.0.12
1 month ago
1.0.11
2 months ago
1.0.10
2 months ago
1.0.9
3 months ago
1.0.8
3 months ago
1.0.7
3 months ago
1.0.6
3 months ago
1.0.5
3 months ago
1.0.4
4 months ago
1.0.3
4 months ago
1.0.2
4 months ago
1.0.1
4 months ago
1.0.0-beta.24
4 months ago
1.0.0
4 months ago
1.0.0-beta.23
5 months ago
1.0.0-beta.22
5 months ago
1.0.0-beta.2
11 months ago
1.0.0-beta.3
11 months ago
1.0.0-beta.4
11 months ago
1.0.0-beta.5
11 months ago
1.0.0-beta.11
10 months ago
1.0.0-beta.12
10 months ago
1.0.0-beta.20
8 months ago
1.0.0-beta.21
8 months ago
1.0.0-beta.10
10 months ago
1.0.0-beta.6
10 months ago
1.0.0-beta.7
10 months ago
1.0.0-beta.8
10 months ago
1.0.0-beta.9
10 months ago
1.0.0-beta.19
10 months ago
1.0.0-beta.17
10 months ago
1.0.0-beta.15
10 months ago
1.0.0-beta.16
10 months ago
1.0.0-beta.13
10 months ago
1.0.0-beta.14
10 months ago
1.0.0-beta.1
11 months ago