検索
ホームページテクノロジー周辺機器AIOpenAI関数呼び出しチュートリアル:構造化された出力を生成します

機能せずに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 までご連絡ください。
テスラのロブバンは、2024年のロボタクシティーザーの隠された宝石でしたテスラのロブバンは、2024年のロボタクシティーザーの隠された宝石でしたApr 22, 2025 am 11:48 AM

2008年以来、私は共有ライドバンを擁護しました。これは、「Robotjitney」と呼ばれる「後に「Vansit」と呼ばれ、都市交通の未来として擁護しました。 私はこれらの車両を21世紀の次世代トランジットソリューション、スルパとして予見します

サムのクラブは領収書の小切手を排除し、小売を強化するためにAIに賭けますサムのクラブは領収書の小切手を排除し、小売を強化するためにAIに賭けますApr 22, 2025 am 11:29 AM

チェックアウトエクスペリエンスに革命をもたらす Sam's Clubの革新的な「Just Go」システムは、既存のAIを搭載した「スキャン&ゴー」テクノロジーに基づいて構築され、ショッピング旅行中にメンバーがサムズクラブアプリを介して購入をスキャンできるようになりました。

NvidiaのAI OmniverseはGTC 2025で拡大しますNvidiaのAI OmniverseはGTC 2025で拡大しますApr 22, 2025 am 11:28 AM

GTC 2025でのNvidiaの強化された予測可能性と新製品のラインナップ AIインフラストラクチャの重要なプレーヤーであるNvidiaは、クライアントの予測可能性の向上に焦点を当てています。 これには、一貫した製品配信、パフォーマンスの期待を満たすこと、および

Google'のGemma 2モデルの機能を調査しますGoogle'のGemma 2モデルの機能を調査しますApr 22, 2025 am 11:26 AM

GoogleのGemma 2:強力で効率的な言語モデル 効率とパフォーマンスで祝われるGoogleのGemmaファミリーは、Gemma 2の到着とともに拡大しました。この最新リリースは2つのモデルで構成されています。

genaiの次の波:Kirk Borne博士との展望-AnalyticsVidhyagenaiの次の波:Kirk Borne博士との展望-AnalyticsVidhyaApr 22, 2025 am 11:21 AM

データエピソードを率いるこの主要なのは、主要なデータサイエンティスト、天体物理学者、TEDXスピーカーであるカークボーン博士を特徴としています。 ビッグデータ、AI、および機械学習の有名な専門家であるボルネ博士は、現在の状態と将来のトラジェについて非常に貴重な洞察を提供しています

ランナーとアスリート向けのAI:私たちは素晴らしい進歩を遂げていますランナーとアスリート向けのAI:私たちは素晴らしい進歩を遂げていますApr 22, 2025 am 11:12 AM

このスピーチには、人工知能が人々の運動をサポートするのに非常に優れている理由を示すエンジニアリングに関するバックグラウンド情報には、非常に洞察に満ちた視点がいくつかありました。 各寄稿者の観点からコアアイデアを概説し、スポーツにおける人工知能の適用の調査の重要な部分である3つの設計側面を実証します。 エッジデバイスと生の個人データ 人工知能に関するこのアイデアには、実際には2つのコンポーネントが含まれています。1つは大きな言語モデルを配置する場所に関連しており、もう1つは人間の言語と、リアルタイムで測定したときにバイタルサインが「表現」する言語の違いに関連しています。 アレクサンダー・アミニはランニングとテニスについて多くのことを知っていますが、彼はまだ

Caterpillarでのテクノロジー、才能、変革に関するJamie EngstromCaterpillarでのテクノロジー、才能、変革に関するJamie EngstromApr 22, 2025 am 11:10 AM

Caterpillarの最高情報責任者であり、その上級副社長であるJamie Engstromは、28か国の2,200人以上のITプロフェッショナルのグローバルチームを率いています。 彼女の現在の役割で4年半を含むCaterpillarで26年間、Engst

新しいGoogleフォトの更新は、ウルトラHDR品質の写真をポップにします新しいGoogleフォトの更新は、ウルトラHDR品質の写真をポップにしますApr 22, 2025 am 11:09 AM

Google Photosの新しいUltra HDRツール:クイックガイド Google Photosの新しいUltra HDRツールで写真を強化し、標準画像を活気に満ちた高ダイナミックレンジの傑作に変換します。ソーシャルメディアに最適なこのツールは、あらゆる写真の影響を高め、

See all articles

ホット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 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

MantisBT

MantisBT

Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境

VSCode Windows 64 ビットのダウンロード

VSCode Windows 64 ビットのダウンロード

Microsoft によって発売された無料で強力な IDE エディター

SublimeText3 Linux 新バージョン

SublimeText3 Linux 新バージョン

SublimeText3 Linux 最新バージョン