v1-embeddings API の JavaScript (Node.js) クイックスタートガイド
この記事の英語版に更新があります。ご覧の翻訳には含まれていない変更点があるかもしれません。
最終更新日 2025年01月24日(金)
Table of Contents
Heroku Managed Inference and Agent アドオンは現在パイロット段階です。パイロットの一環として提供される製品は本番環境での使用を目的としたものではなく、ベータサービスとみなされています。また、https://www.salesforce.com/company/legal/agreements.jsp のベータサービス条件が適用されます。
Cohere Embed Multilingual (cohere-embed-multilingual
) モデルは、提供されたテキスト入力に対するベクトル埋め込み (数値のリスト) を生成します。これらの埋め込みは、検索、分類、クラスタリングなどのさまざまなアプリケーションで使用できます。このガイドでは、JavaScript を使用して v1-embeddings API にアクセスする方法について説明します。
前提条件
リクエストを行う前に、選択したモデルへのアクセスをプロビジョニングします。
まだインストールされていない場合は、Heroku CLI をインストールします。次に、Heroku AI プラグインをインストールします。
heroku plugins:install @heroku/plugin-ai
埋め込みモデルをアプリにアタッチします。
# If you don't have an app yet, you can create one with: heroku create $APP_NAME # specify the name you want for your app (or skip this step to use an existing app you have!) # Create and attach the embedding model to your app, $APP_NAME. heroku ai:models:create -a $APP_NAME cohere-multilingual --as EMBEDDING
必要な
axios
パッケージをインストールします。npm install axios
JavaScript のサンプルコード
const axios = require('axios');
// Assert that environment variables are set
const EMBEDDING_URL = process.env.EMBEDDING_URL;
const EMBEDDING_KEY = process.env.EMBEDDING_KEY;
const EMBEDDING_MODEL_ID = process.env.EMBEDDING_MODEL_ID;
if (!EMBEDDING_URL || !EMBEDDING_KEY || !EMBEDDING_MODEL_ID) {
console.error("Missing required environment variables.");
console.log("Set them up using the following commands:");
console.log("export EMBEDDING_URL=$(heroku config:get -a $APP_NAME EMBEDDING_URL)");
console.log("export EMBEDDING_KEY=$(heroku config:get -a $APP_NAME EMBEDDING_KEY)");
console.log("export EMBEDDING_MODEL_ID=$(heroku config:get -a $APP_NAME EMBEDDING_MODEL_ID)");
process.exit(1);
}
async function parseEmbeddingOutput(response) {
if (response.status === 200) {
console.log("Embeddings:", response.data.data);
} else {
console.log(`Request failed: ${response.status}, ${response.statusText}`);
}
}
async function generateEmbeddings(payload) {
try {
const response = await axios.post(`${EMBEDDING_URL}/v1/embeddings`, payload, {
headers: {
'Authorization': `Bearer ${EMBEDDING_KEY}`,
'Content-Type': 'application/json'
}
});
await parseEmbeddingOutput(response);
} catch (error) {
console.error("Error generating embeddings:", error.message);
}
}
// Example payload
const payload = {
model: EMBEDDING_MODEL_ID,
input: ["Hello, I am a blob of text.", "How's the weather in Portland?"],
input_type: "search_document",
truncate: "END",
encoding_format: "float"
};
// Generate embeddings
generateEmbeddings(payload);