目次
機能せずにopenaiを使用して
​​ " >モデルの関数呼び出しが定義された関数と一致しない場合はどうなりますか? ​​
ホームページ テクノロジー周辺機器 AI OpenAI関数呼び出しチュートリアル:構造化された出力を生成します

OpenAI関数呼び出しチュートリアル:構造化された出力を生成します

Mar 10, 2025 pm 12:02 PM

機能せずにopenaiを使用して

を使用します このセクションでは、一貫した出力が得られるかどうかを確認するために、関数呼び出しなしでGPT-3.5ターボモデルを使用して応答を生成します。

Openai Python APIをインストールする前に、APIキーを取得してローカルシステムにセットアップする必要があります。 PythonチュートリアルのOpenai APIを介してGPT-3.5およびGPT-4をフォローして、APIキーを取得してセットアップする方法を学びます。チュートリアルには、DatacampのAI対応データノートブックであるDatalabの環境変数のセットアップの例も含まれています。

さらなる支援については、datalabのワークブックを呼び出すOpenai関数のコードをチェックしてください。

Openai Python APIを使用してV1にアップグレードします

その後、APIキーを使用してOpenAIクライアントを開始します。

Note

:Openaiは新しいユーザーに無料クレジットを提供しなくなったため、APIを使用するには購入する必要があります。
pip install --upgrade openai -q
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ランダムな学生の説明を書きます。自分のテキストを思いついたり、ChatGptを使用してあなたのために生成することもできます。

次の部分では、テキストから学生情報を抽出し、JSONオブジェクトとして出力を返すようにプロンプ​​トを書きます。学生の説明に名前、メジャー、学校、成績、クラブを抽出します。
import os
from openai import OpenAI

client = OpenAI(
  api_key=os.environ['OPENAI_API_KEY'],
)
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

OpenAI APIチャット完了モジュールにプロンプ​​トを追加して、応答を生成します。 応答は非常に良いです。 JSONに変換して、よりよく理解しましょう

「JSON」ライブラリを使用して、テキストをJSONオブジェクトに変換します。

student_1_description = "David Nguyen is a sophomore majoring in computer science at Stanford University. He is Asian American and has a 3.8 GPA. David is known for his programming skills and is an active member of the university's Robotics Club. He hopes to pursue a career in artificial intelligence after graduating."
ログイン後にコピー
ログイン後にコピー
最終結果はかなり完璧です。それで、なぜ関数呼び出しが必要ですか?

# A simple prompt to extract information from "student_description" in a JSON format.
prompt1 = f'''
Please extract the following information from the given text and return it as a JSON object:

name
major
school
grades
club

This is the body of text to extract the information from:
{student_1_description}
'''
ログイン後にコピー
ログイン後にコピー
同じプロンプトを試してみましょうが、別の学生の説明を使用してください。

プロンプトの学生の説明テキストを変更するだけです。
# Generating response back from gpt-3.5-turbo
openai_response = client.chat.completions.create(
    model = 'gpt-3.5-turbo',
    messages = [{'role': 'user', 'content': prompt_1}]
)

openai_response.choices[0].message.content
ログイン後にコピー
ログイン後にコピー

そして、2番目のプロンプトを使用してチャット完了関数を実行します。

'{\n  "name": "David Nguyen",\n  "major": "computer science",\n  "school": "Stanford University",\n  "grades": "3.8 GPA",\n  "club": "Robotics Club"\n}'
ログイン後にコピー
ログイン後にコピー
ご覧のとおり、一貫性はありません。 1つのクラブを返す代わりに、Raviが参加したクラブのリストを返しました。また、最初の学生とは異なります

openai関数呼び出し例
import json

# Loading the response as a JSON object
json_response = json.loads(openai_response.choices[0].message.content)
json_response
ログイン後にコピー
この問題を解決するために、関数呼び出しと呼ばれる最近導入された機能を使用します。 Openai APIがその機能を理解できるように、辞書のリストに必要な情報を追加するためにカスタム関数を作成することが不可欠です。
  • 名前:最近作成したPython関数名を書きます。
  • 説明:関数の機能。
  • パラメーター:「プロパティ」内で、引数、タイプ、および説明の名前を書きます。 Openai APIが私たちが探している世界を特定するのに役立ちます。

:正しいパターンに従っていることを確認してください。公式ドキュメントを読んで、関数呼び出しの詳細をご覧ください。 次に、「関数」引数に追加されたカスタム関数を使用して、2つの学生の説明の応答を生成します。その後、テキスト応答をJSONオブジェクトに変換して印刷します。

pip install --upgrade openai -q
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ご覧のとおり、均一な出力が得られました。文字列の代わりに数値でグレードを取得しました。一貫した出力は、バグのないAIアプリケーションを作成するために不可欠です

複数のカスタム関数
import os
from openai import OpenAI

client = OpenAI(
  api_key=os.environ['OPENAI_API_KEY'],
)
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

チャット完了関数に複数のカスタム関数を追加できます。このセクションでは、Openai APIの魔法の能力と、正しい関数を自動的に選択し、正しい引数を返す方法を確認します。

辞書のPythonリストでは、「Extract_school_info」と呼ばれる別の関数を追加します。これは、テキストから大学の情報を抽出するのに役立ちます。 これを達成するには、名前、説明、パラメーターを含む関数の別の辞書を追加する必要があります。
student_1_description = "David Nguyen is a sophomore majoring in computer science at Stanford University. He is Asian American and has a 3.8 GPA. David is known for his programming skills and is an active member of the university's Robotics Club. He hopes to pursue a career in artificial intelligence after graduating."
ログイン後にコピー
ログイン後にコピー

chatgptを使用して「スタンフォード大学」の説明を生成して関数をテストします。

生徒と学校の説明のリストを作成し、OpenAIチャット完了関数を通過して応答を生成します。更新されたカスタム関数を提供していることを確認してください

GPT-3.5ターボモデルは、さまざまな説明タイプに対して正しい関数を自動的に選択しました。生徒と学校のための完璧なJSON出力が得られます。

「extract_school_info」関数を使用して、安価が生成されるという名前の下でも見ることができます。
# A simple prompt to extract information from "student_description" in a JSON format.
prompt1 = f'''
Please extract the following information from the given text and return it as a JSON object:

name
major
school
grades
club

This is the body of text to extract the information from:
{student_1_description}
'''
ログイン後にコピー
ログイン後にコピー

# Generating response back from gpt-3.5-turbo
openai_response = client.chat.completions.create(
    model = 'gpt-3.5-turbo',
    messages = [{'role': 'user', 'content': prompt_1}]
)

openai_response.choices[0].message.content
ログイン後にコピー
ログイン後にコピー

関数呼び出しのアプリケーション
'{\n  "name": "David Nguyen",\n  "major": "computer science",\n  "school": "Stanford University",\n  "grades": "3.8 GPA",\n  "club": "Robotics Club"\n}'
ログイン後にコピー
ログイン後にコピー
このセクションでは、学校と学生の情報を特定の方法で要約する安定したテキスト要約を構築します。

最初に、extract_student_infoとextract_school_infoの2つのpython関数を作成します。

pip install --upgrade openai -q
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
  1. Pythonリストを作成します。Pythonリストは、生徒の1つの説明、ランダムプロンプト、および1つの説明で構成されています。ランダムプロンプトが追加されて、自動関数呼び出しメカニックを検証します。
  2. 「説明」リストの各テキストを使用して応答を生成します。
  3. 関数呼び出しが使用されている場合、関数の名前を取得し、それに基づいて、応答を使用して関連する引数を関数に適用します。それ以外の場合は、通常の応答を返します。
  4. 3つのサンプルすべての出力を印刷します
import os
from openai import OpenAI

client = OpenAI(
  api_key=os.environ['OPENAI_API_KEY'],
)
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
サンプル#1
    :GPTモデルは「extract_student_info」を選択しました。学生についての短い要約がありました。
  • サンプル#2:GPTモデルは機能を選択しておらず、プロンプトを定期的な質問として扱いました。その結果、アブラハムリンカーンの伝記が得られました。
  • サンプル#3:GPTモデルは「extract_school_info」を選択し、スタンフォード大学について短い要約を得ました。
  • 結論 このチュートリアルでは、Openaiの関数呼び出しについて学びました。また、一貫した出力を生成し、複数の関数を作成し、信頼できるテキストサマリライザーを構築するためにそれを使用する方法を学びました。 Openai APIの詳細を知りたい場合は、Openai APIコースで作業し、PythonチートシートでOpenai APIを使用して最初のAIを搭載したプロジェクトを作成することを検討してください。関数スキーマ内のネストされたJSON構造を定義する。パラメータープロパティ内の階層的な関係を指定することにより、モデルが複雑なデータ要件のために適切にネストされ、構造化されたJSON出力を生成することを確認できます。モデルから渡された引数に基づくデータベースクエリ。これにより、一貫した構造化された応答を維持しながら、外部システムとの動的な相互作用が可能になります。

    モデルの関数呼び出しが定義された関数と一致しない場合はどうなりますか? ​​

    モデルの関数呼び出しが定義された関数または提供されたスキーマと一致しない場合、モデルは標準テキストベースのプロンプトとして入力を扱います。これにより、さまざまな入力タイプの取り扱いに柔軟性が保証されます。トップAI認定を獲得ai.get認定を効果的かつ責任を持って使用できることを実証します。

以上がOpenAI関数呼び出しチュートリアル:構造化された出力を生成しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

クリエイティブプロジェクトのための最高のAIアートジェネレーター(無料&有料) クリエイティブプロジェクトのための最高のAIアートジェネレーター(無料&有料) Apr 02, 2025 pm 06:10 PM

この記事では、トップAIアートジェネレーターをレビューし、その機能、創造的なプロジェクトへの適合性、価値について説明します。 Midjourneyを専門家にとって最高の価値として強調し、高品質でカスタマイズ可能なアートにDall-E 2を推奨しています。

Meta Llama 3.2を始めましょう - 分析Vidhya Meta Llama 3.2を始めましょう - 分析Vidhya Apr 11, 2025 pm 12:04 PM

メタのラマ3.2:マルチモーダルとモバイルAIの前進 メタは最近、ラマ3.2を発表しました。これは、モバイルデバイス向けに最適化された強力なビジョン機能と軽量テキストモデルを特徴とするAIの大幅な進歩です。 成功に基づいてo

ベストAIチャットボットが比較されました(chatgpt、gemini、claude& more) ベストAIチャットボットが比較されました(chatgpt、gemini、claude& more) Apr 02, 2025 pm 06:09 PM

この記事では、ChatGpt、Gemini、ClaudeなどのトップAIチャットボットを比較し、自然言語の処理と信頼性における独自の機能、カスタマイズオプション、パフォーマンスに焦点を当てています。

トップAIライティングアシスタントは、コンテンツの作成を後押しします トップAIライティングアシスタントは、コンテンツの作成を後押しします Apr 02, 2025 pm 06:11 PM

この記事では、Grammarly、Jasper、Copy.ai、Writesonic、RytrなどのトップAIライティングアシスタントについて説明し、コンテンツ作成のためのユニークな機能に焦点を当てています。 JasperがSEOの最適化に優れているのに対し、AIツールはトーンの維持に役立つと主張します

10生成AIコーディング拡張機能とコードのコードを探る必要があります 10生成AIコーディング拡張機能とコードのコードを探る必要があります Apr 13, 2025 am 01:14 AM

ねえ、忍者をコーディング!その日はどのようなコーディング関連のタスクを計画していますか?このブログにさらに飛び込む前に、コーディング関連のすべての問題について考えてほしいです。 終わり? - &#8217を見てみましょう

従業員へのAI戦略の販売:Shopify CEOのマニフェスト 従業員へのAI戦略の販売:Shopify CEOのマニフェスト Apr 10, 2025 am 11:19 AM

Shopify CEOのTobiLütkeの最近のメモは、AIの能力がすべての従業員にとって基本的な期待であると大胆に宣言し、会社内の重大な文化的変化を示しています。 これはつかの間の傾向ではありません。これは、pに統合された新しい運用パラダイムです

AVバイト:Meta' s llama 3.2、GoogleのGemini 1.5など AVバイト:Meta' s llama 3.2、GoogleのGemini 1.5など Apr 11, 2025 pm 12:01 PM

今週のAIの風景:進歩、倫理的考慮、規制の議論の旋風。 Openai、Google、Meta、Microsoftのような主要なプレーヤーは、画期的な新しいモデルからLEの重要な変化まで、アップデートの急流を解き放ちました

最高のAI音声ジェネレーターの選択:レビューされたトップオプション 最高のAI音声ジェネレーターの選択:レビューされたトップオプション Apr 02, 2025 pm 06:12 PM

この記事では、Google Cloud、Amazon Polly、Microsoft Azure、IBM Watson、DecriptなどのトップAI音声ジェネレーターをレビューし、機能、音声品質、さまざまなニーズへの適合性に焦点を当てています。

See all articles