注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。
Palantir は、関数内で使用できる言語モデルのセットを提供しています。Palantir が提供する LLM について詳しく読む。
Palantir が提供する言語モデルを使用するには、まず ユーザーのエンロールメントで AIP を有効にする 必要があります。また、AIP 開発者向け機能 を使用する権限も必要です。
言語モデルを使用し始めるには、以下の手順に従って、関数を記述しているコードリポジトリに特定のモデルをインポートする必要があります。
Modeling Objectives アプリを介して以前に作成されたカスタムモデルを表示できるタブも表示されます。これらのモデルの使用方法に関する詳細情報は、モデル上の関数のドキュメントで見つけることができます。
インポートしたいモデルを選択し、Confirm selection をクリックして、これらのモデルをリポジトリにインポートします。Task Runner は localDev
タスクを実行し、これらのモデルと対話するためのコードバインディングが生成されます。
言語モデルをインポートした後、リポジトリ内でそれらを使用するには、次のインポート文を追加し、GPT_4o をリポジトリにインポートした言語モデルの名前に置き換えます。
Copied!1 2
// "@foundry/models-api/language-models"からGPT_4oをインポートします import { GPT_4o } from "@foundry/models-api/language-models"
この段階で、私たちはインポートした言語モデルを使用する関数を作成することができます。この例では、上記のようにGPT_4oをインポートしたと仮定します。
まず、ファイルに以下のインポートステートメントを追加します: 各言語モデルには、強く型付けされた入力と出力を持つ生成メソッドが利用可能です。たとえば、GPT_4o モデルは createChatCompletion メソッドを提供し、ユーザーがメッセージのセットと、モデルの動作を変更するための追加パラメーター(温度やトークンの最大数など)を渡すことができます。
次の例示的な例では、提供された GPT_4o モデルを使用して、ユーザーが提供したテキストに対して簡単なセンチメント分析を実行します。この関数はテキストを「良い」、「悪い」、または「不確定」と分類します。
Copied!1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
@Function() // ユーザーが提供したテキストの感情を推定する非同期関数 public async sentimentAnalysis(userPrompt: string): Promise<string> { // システムからのプロンプトメッセージ const systemPrompt = "Provide an estimation of the sentiment the text the user has provided. \ You may respond with either Good, Bad, or Uncertain. Only choose Good or Bad if you are overwhelmingly \ sure that the text is either good or bad. If the text is neutral, or you are unable to determine, choose Uncertain." // システムメッセージを作成 const systemMessage = { role: "SYSTEM", contents: [{ text: systemPrompt }] }; // ユーザーメッセージを作成 const userMessage = { role: "USER", contents: [{ text: userPrompt }] }; // GPT-4oを用いてチャットの完了を作成 const gptResponse = await GPT_4o.createChatCompletion({messages: [systemMessage, userMessage], params: { temperature: 0.7 } }); // GPTからのレスポンスを返す。もしレスポンスがなければ"Uncertain"を返す。 return gptResponse.choices[0].message.content ?? "Uncertain"; }
この関数は、プラットフォーム全体で使用できます。
生成的な言語モデルとともに、Palantirは埋め込みを生成するために使用できるモデルも提供しています。簡単な例は以下の通りです:
Copied!1 2 3 4 5 6 7 8
@Function() // 非同期関数を生成します。この関数はテキストの埋め込みを生成します。 public async generateEmbeddingsForText(inputs: string[]): Promise<Double[][]> { // TextEmbeddingAda_002から埋め込みを生成するためのリクエストを送ります。 const response = await TextEmbeddingAda_002.createEmbeddings({ inputs }); // レスポンスから埋め込みを返します。 return response.embeddings; }
これは、Semantic Search ワークフローを実行するために最も一般的に使用されます。
特定のモデルにはレート制限が適用される場合があり、一定期間内に渡されるトークンの数が制限されることに注意してください。これは、Functions に適用される標準的な制限と共に強制されます。
注: AIP 機能の利用可能性は変更される可能性があり、顧客によって異なる場合があります。