注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。
Palantir が提供する言語モデルを使用するには、エンロールメントで AIP を有効にする必要があります。
Palantir は、Jupyter® ノートブック内で使用できる言語および埋め込みモデルのセットを提供しています。これらのモデルは、palantir_models
ライブラリを通じて使用できます。このライブラリは、モデルと対話するためのバインディングを提供するクラスのセットを提供します。
ノートブックに言語モデルのサポートを追加するには、Code Workspace の左側にあるパッケージ検索パネルを開きます。palantir_models
を検索し、最新版を選択します。これにより、インストールコマンドがクリップボードにコピーされます。コマンドを空のセルに貼り付けて実行します。
言語モデルをノートブックに追加するには、Code Workspace の左側にある Models パネルを開きます。まだモデルをインポートしていない場合は、Palantir 提供のモデルをインポート をクリックします。すでにモデルをインポートしている場合は、パネルの上部にある + アイコンを選択して追加のモデルをインポートできます。
パネルには、利用可能なモデルの検索可能なリストが表示されます。モデルは、チャット補完モデルと埋め込みモデルの2つのカテゴリにリストされています。希望するモデルを選択して、Code Workspace にインポートします。
モデルの利用可能性は、顧客間で異なる場合があります。詳細については、Palantir の担当者にお問い合わせください。
インポート後、モデルは Models パネルに表示されます。Models パネルでモデルを選択すると、モデルの基本機能を示すコードスニペットが表示されます。
モデルを使用して始めるには、スニペットをクリックしてコードをコピーし、ノートブックの任意のセルに貼り付けます。
この例では、OpenAI モデルを使用して質問に回答します。すでにモデルをインポートしていると仮定して、以下のコードスニペットを任意のセルにコピーして進めます。
Copied!1 2 3 4 5 6 7 8 9
# 日本語のコメントを追加 from language_model_service_api.languagemodelservice_api_completion_v3 import GptChatCompletionRequest from language_model_service_api.languagemodelservice_api import ChatMessage, ChatMessageRole from palantir_models.models import OpenAiGptChatLanguageModel # GPTモデルを取得 model = OpenAiGptChatLanguageModel.get("gpt_v4") # 質問に対する回答を生成 response = model.create_chat_completion(GptChatCompletionRequest([ChatMessage(ChatMessageRole.USER, "why is the sky blue?")]))
生成言語モデルと同様に、Palantir はエンベディングモデルも提供しています。以下の例では、単語のリストのエンベディングを計算し、それらを視覚化するためのエンベディングをプロットする方法を示しています。以下の各コードブロックは、それぞれが独自のセルとして扱われるべきです。
まず、この例で必要な依存関係を追加します:
Copied!1 2
# mambaを使って、palantir_models, matplotlib, numpy, scikit-learnをインストールします。 !mamba install -y palantir_models matplotlib numpy scikit-learn
次に、モデルパネルで埋め込みモデルをインポートしていることを確認します。この例では、OpenAI の text-embedding-ada-002
モデルを使用します。
目的の埋め込みを生成するために、モデルのスニペットのコピーから始めて、以下に示すようにいくつかの変更を加えます。
Copied!1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
# 言語モデルサービスAPIからGenericEmbeddingsRequestをインポートします from language_model_service_api.languagemodelservice_api_embeddings_v3 import GenericEmbeddingsRequest # palantirモデルからGenericEmbeddingModelをインポートします from palantir_models.models import GenericEmbeddingModel # フルーツのリストを作成します fruits = [ "apple", "banana", "orange", "melon", "kiwi", "pear", "grape", "strawberry", "lemon", "lime", "blueberry", "berry", "mango", "watermelon" ] # 動物のリストを作成します animals = [ "dog", "cat", "cow", "eagle", "mouse", "horse", "squirrel", "lion", "deer", "goose", "chicken", "pig" ] # フルーツと動物のリストを合わせて一つのリストを作成します words = fruits + animals # "text-embedding-ada-002"という名前のモデルを取得します model = GenericEmbeddingModel.get("text-embedding-ada-002") # ワードリストのエンベッディングを作成します embeddings = model.create_embeddings(GenericEmbeddingsRequest(inputs=words)).embeddings
最後に、scikit-learn と Matplotlib を使って埋め込みを視覚化できます:
Copied!1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
# 必要なライブラリをインポート from sklearn.decomposition import PCA import matplotlib.pyplot as plt import numpy as np # PCAのインスタンスを作成(次元数を2に設定し、ランダムシード値は0) pca = PCA(n_components=2, random_state=0) # 埋め込みベクトルを2次元に変換 embeddings_2d = pca.fit_transform(np.array(embeddings)) # グラフの設定(サイズは8x4インチ、dpiは100) plt.figure(figsize=(8, 4), dpi=100) # 各単語について、2次元プロット上に点として描画 for i, word in enumerate(words): x, y = embeddings_2d[i, 0], embeddings_2d[i, 1] plt.scatter(x, y) # 単語をプロット上に表示(オフセットを設定し、位置を調整) plt.annotate(word, xy=(x, y), xytext=(5, 2), textcoords='offset points', ha='right', va='bottom') # グラフを表示 plt.show()
ノートブックの実行後、埋め込みモデルのグラフが表示されます:
Jupyter®、JupyterLab®、および Jupyter® ロゴは、NumFOCUS の商標または登録商標です。
すべてのサードパーティの商標(ロゴやアイコンを含む)は、それぞれの所有者の財産のままです。提携または推薦を意味するものではありません。