ホームページ > テクノロジー周辺機器 > IT業界 > ChatGptでシンプルなスペルチェッカーを構築する方法

ChatGptでシンプルなスペルチェッカーを構築する方法

William Shakespeare
リリース: 2025-02-09 11:24:10
オリジナル
785 人が閲覧しました

ChatGptでシンプルなスペルチェッカーを構築する方法

このチュートリアルでは、chatgpt。

を使用してクラウド関数内でスペルチェッカーを構築する方法を学びます。

Openaiの大規模な言語モデルChapgptは、単なるチャットインターフェイス以上のものです。これは、翻訳、コード生成、および以下に示すように、スペルチェックを含むさまざまなタスクのための強力なツールです。 REST APIを通じて、CHATGPTは、AI言語分析と生成機能をプロジェクトに追加するためのシンプルで非常に効果的な方法を提供します。

このチュートリアルのすべてのコードをgithubで見つけることができます。

キーテイクアウト 高度なスペルチェックのためにchatgptを使用するこのチュートリアルは、chatgptがopenai APIを介してどのようにスペルチェックタスクに効果的に使用できるかを示しています。 AIとクラウド関数の統合:この記事では、AI機能のクラウド関数への統合、特にAWS Lambdaを使用して、クラウドベースの環境内で動作するスペルチェッカーを構築するための段階的なガイドを提供します。

OpenAIでの機能呼び出しの探索:このチュートリアルの重要な部分は、OpenAIモデルの関数呼び出し機能の調査です。これにより、平易なテキストの代わりに構造化されたJSON応答が可能になり、より洗練されたインタラクティブなAI-Poweredアプリケーションの開発が可能になります。 。

クラウド関数
  1. クラウド関数のコードは次のとおりです
  2. このタイプスクリプト関数は、AWS Lambdaのハンドラーとなり、HTTP要求を入力として受け入れ、HTTP応答を返します。上記の例では、着信HTTPリクエストからボディフィールドを分解し、それをJSONに解析し、リクエスト本体からプロパティTextTocheckを読み取ります。
  3. openaiパッケージ
スペルチェッカー関数を実装するには、TextTocheckをOpenaiに送信し、AIモデルにスペルミスを修正するよう依頼します。これを簡単にするために、NPMでOpenAIパッケージを使用できます。このパッケージは、OpenAI REST APIの周りの便利なJavaScript/TypeScriptラッパーとしてOpenAIによって維持されています。これには、必要なすべてのタイプスクリプトタイプが含まれており、ChatGptをブリーズに呼びます。

openaiパッケージをso:

のようにインストールします

その後、

関数ハンドラーにOpenAIクラスのインスタンスをインポートして作成でき、この例ではOpenAi_Keyと呼ばれる環境変数に保存されているOpenAI APIキーを渡します。 (Openaiにサインアップしたら、ユーザー設定にAPIキーを見つけることができます。)
<span>// Entry point for AWS Lambda.
</span><span>export async function spellcheck({ body }: { body: string }) {
</span>
    <span>// Read the text from the request body.
</span>    <span>const { textToCheck } = <{ textToCheck: string }>JSON.parse(body);
</span>
    <span>//... perform spellchecking
</span>
    <span>// Return an HTTP OK response
</span>    <span>return {
</span>        statusCode<span>: 200,
</span>        body<span>: JSON.stringify(...)
</span>    <span>};
</span><span>}
</span>
ログイン後にコピー
ログイン後にコピー

サンプルテキスト

最後に、スペルミスを備えたサンプルテキストが必要です。また、ChatGpt自体を尋ねるよりも、何らかの良い場所を手に入れるのにもっと良い場所!

ChatGptでシンプルなスペルチェッカーを構築する方法

このテキストは、「エッセンス」などの明らかな誤ったスペルが含まれているだけでなく、「原理」の代わりに「原理」などのより複雑な文法エラーも含まれているため、スペルチェッカーの良いテストです。このようなエラーは、辞書に表示されない単語を単に探すという領域を超えて、スペルチェッカーをテストします。 原則およびプリンシパルはどちらも有効な英語の単語であるため、私たちのスペルチェッカーは、この間違いを正しく検出するために表示されるコンテキストを使用する必要があります。実際のテスト!

テキスト、テキスト

TextTocheck入力でスペルミスを探す最も簡単な方法は、ChatGptにスペルチェックを実行し、修正されたバージョンを当社に返すように依頼するプロンプトを作成することです。このチュートリアルの後半では、OpenAI APIから追加のデータを取得できるはるかに強力な方法を探りますが、今のところ、この単純なアプローチは良い最初のイテレーションになります。

これには2つのプロンプトが必要です。 1つ目は、chatgptにスペルミスをチェックするように指示する

ユーザープロンプトです。

次のテキストのスペルと文法の誤りを修正します。 また、

システムのプロンプト

が必要です。これは、修正されたテキストのみを返すようにモデルを導くものです。

あなたはテキストを修正するコピーエディターです。常に修正されたテキストだけで返信し、説明やその他の説明はありません。 システムプロンプトは、モデルに初期コンテキストを提供し、後続のすべてのユーザープロンプトに対して特定の方法で動作するように指示するのに役立ちます。ここのシステムプロンプトでは、chatgptにのみ

のみ
を返すように指示しており、説明やその他の主要なテキストでドレスアップしません。

Openaiの遊び場でシステムとユーザープロンプトをテストできます。

API呼び出しの場合、Openai.Chat.comPletions.Create({...})メソッドを使用します。 すべてをまとめると、以下のコードはこれら2つのプロンプトと入力テキストとともにOpenai.chat.completions.create({...})EndpointにOpenAI APIのエンドポイントを送信します。また、GPT-3.5ターボとして使用するモデルを指定していることにも注意してください。 GPT-4:

など、OpenAIモデルを使用できます。

テキストIn、json out

ChatGptでシンプルなスペルチェッカーを構築する方法これまでのところ、AWS Lambdaクラウド機能を作成しました。これは、chatgptにテキストを送信し、スペルミスが削除されたテキストの修正バージョンを返すようにしました。しかし、Openaiパッケージにより、私たちはもっと多くのことをすることができます。テキストで作成された代替品を実際にリストしている機能から構造化されたデータを返すのはいいことではないでしょうか?これにより、このクラウド機能をFrontEndユーザーインターフェイスと統合することがはるかに簡単になります。

幸いなことに、OpenaiはAPIの機能を提供します。

関数呼び出しは、

いくつかのopenaiモデルに存在する機能です。これにより、ChatGptは簡単なメッセージの代わりに構造化されたJSONで応答できます。 AIモデルに関数を呼び出すように指示し、呼び出すことができる関数の詳細(すべての引数を含む)を提供することにより、APIからより便利で予測可能なJSON応答を受け取ることができます。 関数呼び出しを使用するには、チャット完了の作成オプションに関数配列を設定します。ここでは、MakeCorrectionsという関数が存在し、置換と呼ばれる1つの引数で呼び出すことができることをChatGptに伝えています。

関数とすべての引数の説明はここで重要です。なぜなら、ChatGptは私たちのコードのいずれにもアクセスできないため、関数について知っていることはすべて、それを提供する説明に含まれています。パラメータープロパティは、ChatGPTが呼び出すことができる関数の署名を記述し、JSONスキーマに従って引数のデータ構造を説明します。

上記の関数には、次のタイプスクリプトタイプに合わせた代替と呼ばれる単一の引数があります。
<span>// Entry point for AWS Lambda.
</span><span>export async function spellcheck({ body }: { body: string }) {
</span>
    <span>// Read the text from the request body.
</span>    <span>const { textToCheck } = <{ textToCheck: string }>JSON.parse(body);
</span>
    <span>//... perform spellchecking
</span>
    <span>// Return an HTTP OK response
</span>    <span>return {
</span>        statusCode<span>: 200,
</span>        body<span>: JSON.stringify(...)
</span>    <span>};
</span><span>}
</span>
ログイン後にコピー
ログイン後にコピー

JSONスキーマでこのタイプを定義することで、ChatGPTから戻ってきたJSONがこの予測可能な形状に適合し、json.parse()を使用して、このタイプのオブジェクトにゆるくすることができます。

すべてをまとめる

<span>npm install --save openai
</span>
ログイン後にコピー
これがAWS Lambda関数の最終コードです。 ChatGptを呼び出し、修正のリスト

リストをテキストに返します。

ここに注意すべきいくつかの余分なこと。前述のように、いくつかのOpenAIモデルのみが機能呼び出しをサポートしています。これらのモデルの1つはGPT-3.5-Turbo-0613であるため、これは完了エンドポイントへの呼び出しで指定されています。また、function_call:{name: 'makecorrections'}をコールに追加しました。このプロパティは、MakeCorrections関数を呼び出すために必要な引数を返すことを期待するモデルへの指示であり、チャットメッセージを返すとは思わないことを期待しています。
<span>// Import the OpenAI package
</span><span>import OpenAI from "openai";
</span>
<span>export async function spellcheck({ body }: { body: string }) {
</span>
    <span>const { textToCheck }: { textToCheck: string } = JSON.parse(body);
</span>
    <span>// Create a new instance of OpenAI...
</span>    <span>const openai = new OpenAI({ apiKey: process.env.OPENAI_KEY });
</span>
    <span>//... perform spellchecking
</span>
    <span>return {
</span>        statusCode<span>: 200,
</span>        body<span>: JSON.stringify(...)
</span>    <span>};
</span><span>}
</span>
ログイン後にコピー

この関数はAWS Lambdaに展開し、次の要求本体を使用してHTTPを介して呼び出すことができます。

このようなjsonアレイとして修正のリストを返します:

結論

Openai APIとクラウド関数を活用することにより、スペルエラーを特定するだけでなく、コンテキストを理解し、典型的なスペルチェッカーが見落とす可能性のある複雑な文法ニュアンスをキャプチャするアプリケーションを作成できます。このチュートリアルは基盤を提供しますが、言語分析と修正におけるChatGPTの潜在的なアプリケーションは膨大です。 AIが進化し続けるにつれて、そのようなツールの機能も進化します。

<span>// Import the OpenAI package
</span><span>import OpenAI from "openai";
</span>
<span>export async function spellcheck({ body }: { body: string }) {
</span>
    <span>const { textToCheck }: { textToCheck: string } = JSON.parse(body);
</span>
    <span>// Create a new instance of OpenAI.
</span>    <span>const openai = new OpenAI({ apiKey: process.env.OPENAI_KEY });
</span>
    <span>const userPrompt = 'Correct the spelling and grammatical errors in the following text:\n\n';
</span>
    <span>const gptResponse = await openai.chat.completions.create({
</span>        model<span>: "gpt-3.5-turbo",
</span>        messages<span>: [
</span>            <span>{
</span>                role<span>: "system",
</span>                content<span>: "You are a copy editor that corrects pieces of text, you always reply with just the corrected text, no explanations or other description"
</span>            <span>},
</span>            <span>{
</span>                role<span>: "user",
</span>                content<span>: userPrompt + textToCheck
</span>            <span>}
</span>        <span>]
</span>    <span>});
</span>
    <span>// The message.content will contain the corrected text...
</span>    <span>const correctedText = gptResponse.choices[0].message.content;
</span>
    <span>return {
</span>        statusCode<span>: 200,
</span>        body<span>: correctedText
</span>    <span>};
</span><span>}
</span>
ログイン後にコピー
このチュートリアルのすべてのコードをgithubで見つけることができます。

以上がChatGptでシンプルなスペルチェッカーを構築する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート