夢の仕事を獲得するのに役立つ、パーソナライズされたカバーレターの書き方を探していますか?その場合は、PaLM API で大規模言語モデル (LLM) を使用してカバー レター ビルダーを作成することに興味があるかもしれません。
大規模言語モデル (LLM) は、テキストの生成、言語の翻訳、さまざまなクリエイティブなテキスト形式の作成、質問への非公式な回答を行うことができる人工知能 (AI) です。これらは非常に強力であるため、新しいツールやアプリケーションの作成にも使用できます。
そのようなツールの 1 つは PaLM API で、開発者はこれを使用して LLM にアクセスして使用できます。
このガイドでは、PaLM API (事前トレーニング済みおよび大規模言語モデル API) を使用してカバー レター ビルダーを作成する方法を説明します。このツールは、求人応募用にパーソナライズされたカバーレターを作成するのに役立ちます。
LLMとは何ですか?
大規模言語モデル (LLM) は、大規模なテキスト データセットでトレーニングされた高度な人工知能 (AI) システムです。これにより、単語やフレーズがどのように組み合わされるかを学習し、理解できる正しい文章を生成できるようになります。
LLM は生成 AIの一種であり、新しいコンテンツを作成できることを意味します。
LLM は通常、トランスフォーマーと呼ばれる一種のニューラル ネットワークを使用して構築されます。トランスフォーマーは、自然言語を理解して生成するために不可欠な、単語間の長期にわたる依存関係を学習できます。 Transformer モデルは複数のレイヤーで構成され、それぞれが異なるタスクを実行します。
たとえば、自己注意レイヤーを使用すると、モデルは文内の異なる単語間の関係を学習できます。
LLM の例としては、OpenAI によって作成された GPT-3 があります。 GPT-3 は多くのテキストとコードから学習しました。文章を書いたり、言語を翻訳したり、クリエイティブなコンテンツを作成したり、質問にフレンドリーに答えたりすることができます。
LLM は非常に強力であり、コンピューターの使用方法を変える可能性があります。彼らが改善すれば、さまざまな面で私たちを助けてくれるでしょう。
- 仮想アシスタント: LLM は、人間のように私たちを理解し、話しかけるスマート アシスタントになる可能性があります。これにより、デバイスの使用がはるかに簡単になる可能性があります。たとえば、LLM は、予定の予約、予約、スマート ホーム デバイスの制御を支援する仮想アシスタントを強化できます。
- 教育: LLM は学習を生徒にとって個人的なものにすることができます。また、エッセイを採点したり、学生にアドバイスを与えることもできます。たとえば、LLM を使用して、学生向けにパーソナライズされた読書リストを作成したり、学生のエッセイに対するフィードバックを提供したりすることができます。
- ヘルスケア: LLM は医療記録を読み取り、健康上の問題の可能性を見つけることができます。新しい治療法の開発にも役立つ可能性があります。たとえば、LLM を使用して、特定の病気を発症するリスクのある患者を特定したり、新しい薬物治療を開発したりすることができます。
- 金融サービス: LLM は顧客にアドバイスを提供し、不正取引を検出できます。たとえば、LLM は、顧客が適切な投資ポートフォリオを選択したり、不正なクレジット カード取引を検出したりするのに役立ちます。
大規模な言語モデルはどのように機能するのでしょうか?
LLM は、まず言語内の単語と語句間の統計的関係を学習することによって機能します。これは、テキストとコードの大規模なデータセットでモデルをトレーニングすることによって行われます。モデルがこれらの関係を学習すると、トレーニングされたテキストに似た新しいテキストを生成できます。
LLM は、テキストとコードの大規模なデータセットでトレーニングされます。このデータセットには、書籍や記事からコード リポジトリやソーシャル メディアの投稿まで、あらゆるものが含まれます。
LLM は、データセット内の単語とフレーズ間の統計的関係を学習します。これは、どの単語が一緒に出現する可能性が高いか、また単語の順序によって文の意味がどのように変化するかを学習することを意味します。
LLM がこれらの関係を学習すると、新しいテキストを生成できます。これを行うには、いくつかの単語や文などのシード テキストから始めます。次に、学習した統計的関係を使用して、文内の次の単語を予測します。新しい文が生成されるまでこれを続けます。
LLM がテキストを生成する方法の例を次に示します。
`Seed text: "The cat sat on the mat." LLM prediction: "The cat sat on the mat and stared at the bird."`
この例では、LLM は、「cat」と「sat」という単語の後に「on」という単語が続くことが多いことを学習しました。また、「マット」の後には「アンド」が続くことが多いことも分かりました。これらの関係に基づいて、LLM は文内の次の単語が「and」であると予測します。
その後、次の単語「stared」を予測し続けます。
以下は、LLM がどのように機能するかを示す図です。
LLM はニューラル ネットワークで構成されています。ニューラル ネットワークは、データ内のパターンを認識する方法を学習できる複雑な数学モデルです。 LLM の場合、ニューラル ネットワークは単語と語句間の統計的関係を認識することを学習します。
ニューラル ネットワークは、テキストとコードの大規模なデータセットでトレーニングされます。データセットは一度に 1 ワードずつニューラル ネットワークに入力されます。次に、ニューラル ネットワークは、シーケンス内の次の単語を予測しようとします。
予測の精度が測定され、精度を向上させるためにニューラル ネットワークが更新されます。
このプロセスは、ニューラル ネットワークがシーケンス内の次の単語を正確に予測できるようになるまで、何度も繰り返されます。
大規模言語モデルは何に使用されますか?
- テキスト生成: LLM は、詩、コード、スクリプト、楽曲、電子メール、手紙などのテキストを生成できます。たとえば、Bard と呼ばれる LLM は、さまざまなクリエイティブなテキスト形式を生成できます。あなたのすべての要件を満たすために最善を尽くします。
- 翻訳: LLM はテキストをある言語から別の言語に翻訳できます。たとえば、Google Translate LLM は、テキストを英語からフランス語、スペイン語、ドイツ語、中国語、日本語、その他多くの言語に翻訳できます。
- 質問応答: LLM は、たとえそれが自由回答型、困難な、または奇妙なものであっても、さまざまなトピックに関する質問に答えることができます。たとえば、LaMDA LLM は、天気、歴史、現在の出来事に関する質問に答えることができます。
- 要約: LLM は、ニュース記事や研究論文などの長いテキストを要約できます。たとえば、BARD と呼ばれる LLM は、研究論文を数文で要約できます。
- コード生成: LLM は、Python、Java、または C++ コードを生成できます。たとえば、GitHub Copilot LLM は、正しく効率的なコードを生成できます。
クリエイティブ ライティング: LLM は、詩、短編小説、台本などのクリエイティブ テキストを生成できます。たとえば、GPT-3 と呼ばれる LLM を使用すると、オリジナルで創造的な詩を生成できます。
PaLM API の使用を開始する
PaLM API (Pathways Language Model API) は、開発者が Google の PaLM 2 大規模言語モデル (LLM) にアクセスできるようにするクラウドベースの API です。 PaLM 2 は、次のようなさまざまなタスクに使用できる強力な LLM です。
テキストの生成: PaLM API はさまざまな方法でテキストを生成できます。テキスト サービスまたはチャット サービスを使用できます。 Text サービスは、テキストの要約、クリエイティブなコンテンツの作成、質問への役立つ回答など、さまざまな目的でテキストを生成できます。チャット サービスは、チャットボットや他の会話アプリ用のテキストを生成できます。
プログラミング言語: PaLM API は、Node.js、Python、Android Kotlin、Swift、および Java をサポートします。このチュートリアルでは、Node.js テキストの例を使用します。
ドキュメント: PaLM API はオープンソースなので、誰でも使用および改善できます。また、十分に文書化されているため、開発者はその使用方法を簡単に学ぶことができます。
PaLM API の使用を開始するには、次の手順が必要です。
1: Google Cloud Platform アカウントを作成します。
これを行うには、Google Cloud Platform Web サイト ( https://cloud.google.com/ ) にアクセスします。
2: APIキーを取得します。 APIを利用するにはAPIキーが必要です。待機リストを通過したら、MakerSuite でワンクリックでキーを作成できます。このリンクからhttps://makersuite.google.com/waitlist
3: PaLM API クライアント ライブラリをインストールします。 PaLM API クライアント ライブラリは、PaLM API と対話するために使用できるコード セットです。次のコマンドを実行してインストールできます。
npm init -y npm install google-auth-library
次に、生成言語クライアント ライブラリをインストールします。
npm install @google-ai/generativelanguage
4: 必要なモジュールのインポート
const { TextServiceClient } = require("@google-ai/generativelanguage").v1beta2; const { GoogleAuth } = require("google-auth-library");
このステップでは、コードはrequire
関数を使用して必要なモジュールをインポートします。 @google-ai/generativelanguage
ライブラリからTextServiceClient
クラスをインポートし、 google-auth-library
からGoogleAuth
クラスをインポートします。
5: 定数の設定
const MODEL_NAME = "models/text-bison-001"; const API_KEY = process.env.API_KEY;
ここで、コードは 2 つの定数を設定します。 MODEL_NAME
は使用するテキスト生成モデルの名前を指定し、 API_KEY
は環境変数から API キーを取得します。
6: TextServiceClient インスタンスの作成
const client = new TextServiceClient({ authClient: new GoogleAuth().fromAPIKey(API_KEY), });
このステップでは、 TextServiceClient
クラスのインスタンスを作成します。 GoogleAuth クラスを使用した認証でクライアントを初期化します。このクラスは、環境変数から取得した API キーでインスタンス化されます。
7: プロンプトの定義
const prompt = "Write a simple and short cover letter for a technical writer";
ここで、コードはテキスト生成の入力として使用される初期テキストを保持するprompt
という変数を定義します。
8: テキストの生成
client .generateText({ model: MODEL_NAME, prompt: { text: prompt, }, }) .then((result) => { console.log(JSON.stringify(result)); });
このステップでは、コードはclient
インスタンスを使用してテキストを生成します。これは、クライアント インスタンスでgenerateText
メソッドを呼び出します。モデル名 ( MODEL_NAME
) とプロンプト テキスト ( prompt
) を持つオブジェクトをプロパティとして渡します。
generateText
メソッドは、 then
メソッドを使用して処理された Promise を返します。生成された結果は、JSON 文字列に変換された後、ブロック内のコンソールに記録されます。
次に、スクリプトを実行します。
node index.js
次のような結果が得られます。
[{"candidates":[{"safetyRatings":[{"category":"HARM_CATEGORY_DEROGATORY","probability":"NEGLIGIBLE"},{"category":"HARM_CATEGORY_TOXICITY","probability":"NEGLIGIBLE"},{"category":"HARM_CATEGORY_VIOLENCE","probability":"NEGLIGIBLE"},{"category":"HARM_CATEGORY_SEXUAL","probability":"NEGLIGIBLE"},{"category":"HARM_CATEGORY_MEDICAL","probability":"NEGLIGIBLE"},{"category":"HARM_CATEGORY_DANGEROUS","probability":"NEGLIGIBLE"}],"output":"Dear [Hiring Manager name],\n\nI am writing to express my interest in the Technical Writer position at [Company name]. I have been working as a technical writer for the past five years, and I have a proven track record of success in developing and delivering clear, concise, and engaging technical documentation.\n\nIn my previous role at [Previous company name], I was responsible for writing a wide range of technical documentation, including user guides, API documentation, and training materials. I have a strong understanding of the technical writing process, and I am proficient in a variety of writing and editing tools.\n\nI am also an excellent communicator, and I am able to effectively translate complex technical information into language that is easy for both technical and non-technical audiences to understand. I am confident that I have the skills and experience that you are looking for in a Technical Writer.\n\nI am eager to learn more about the Technical Writer position at [Company name], and I am confident that I would be a valuable asset to your team. I am available for an interview at your earliest convenience.\n\nThank you for your time and consideration.\n\nSincerely,\n[Your name]","citationMetadata":{"citationSources":[{"startIndex":1068,"_startIndex":"startIndex","endIndex":1196,"_endIndex":"endIndex","uri":"https://www.upwork.com/resources/cover-letter-tips","_uri":"uri","license":"","_license":"license"}]},"_citationMetadata":"citationMetadata"}],"filters":[],"safetyFeedback":[]},null,null]
結論として、このチュートリアルでは、PaLM API で大規模言語モデル (LLM) を使用する基本を紹介しました。次の方法を学びました。
- LLM と PaLM API の可能性を理解する
- PaLM APIを使用してカスタマイズされたカバーレタージェネレーターを作成する
- LLM を活用してテキストを生成し、言語を翻訳し、質問に回答します
- PaLM API を Node.js およびクライアント ライブラリと統合する
これは、LLM と API を使用してできることの始まりにすぎません。これらのテクノロジーを探索し続けると、問題を解決し、新しいエクスペリエンスを作成し、未来を形作るためにそれらを使用するさらに多くの方法が見つかるでしょう。