オープンAIのファンクションコーリング入門

オープンAIのファンクションコーリング入門:美容&ファッションエキスパートの洞察力

Forbesによると、AI市場は2030年までに$1,811.8 billionに到達すると予想されています。Davinci、GPT Turbo、GPT Turbo 3.5、またはGPT 4のようなOpenAI APIモデルの導入が人工知能の世界にまさに革命をもたらしています。Davinci、GPT Turbo、GPT Turbo 3.5、またはGPT 4のようなOpenAI APIモデルの導入が人工知能の世界にまさに革命をもたらしています。

OpenAI API言語モデルの登場により、AIのシーンは多くの機能を備えていましたが、データ抽出に制限がありました。エンジニアは、この制約を克服し、作業を容易にするために関数コールを発表しました。OpenAI関数コールは、その高度な機能を理由に、開発者やエンジニアの間で急速に人気を集めています。

Open AI関数コールの必要性

テック中心の領域では、Open AI言語モデルがチャット対話やテキスト生成モデルによってすべての機械学習モデルを圧倒しています。

従来、エンジニアは正しい応答を得るためにOpen AI APIでプロンプトエンジニアリングを使用し、非構造化データには正規表現(RegEx)を使用していました。RegExは効果的ですが、開発者は望ましい結果を得るために時間がかかる複雑なプロンプトを使用しなければなりませんでした。

2023年6月にOpenAI関数コールを導入することで、この問題に取り組むことができました。これにより、OpenAI APIは開発者にとってより使いやすくなり、RegExの必要性が最小限に抑えられました。GPT Turbo 3.5とGPT 4モデルは、構造化データの抽出のためのブループリントとして関数コールを賢く使用しています。

Open AI関数コールの探求

関数コールは、GPTモデルの能力を最大限に活用し、チャット補完APIをより効率的にする頼りになる方法です。OpenAI関数コールは、ユーザー定義の関数を入力として受け取り、RegExよりもより構造化された出力を生成します。開発者は予め定義されたデータ構造とタイプで作業に慣れています。GPT 3.5とGPT 4モデルの出力は、ユーザー定義の入力に基づいて整理され、開発者にとってデータ抽出プロセスがスムーズになりました。開発者がOpenAI関数コールを使用することのいくつかの利点には、以下があります:

  • 強化された結果:構造化データの支援により、この関数は自然言語をAPI呼び出しやデータベースクエリに変換することで、より良い結果を生み出します。
  • カスタマイズ:ユーザー定義の関数の導入により、開発者はRegExとは異なり、関数をカスタマイズすることができます。
  • データ抽出:開発者は予め定義されたデータ構造とタイプで作業しているため、OpenAI関数コールを使用して複雑なデータを簡単に抽出することができます。

はじめに

組織のChatGPTの導入により、人々がAIを強力に認識する方法が変わりました。そのため、多くの人々がそのロジックを理解したいと考えています。初心者として、OpenAIを始めるための信頼できるリソースをいくつか紹介します:

Pythonチュートリアル:Pythonでプログラミングを始め、迅速に学習し、素晴らしいことを成し遂げることができます。

  • Pythonの入門ガイドを使用する
  • データサイエンスのためのPythonチュートリアル
  • 初心者向けのPythonコーディングの読み物

ウェビナー:PythonとOpen AIに関する多くの素晴らしいビデオがインターネット上で利用可能です。

Python APIを学ぶためには、無料のPythonでチャットボットを作ることができます。

オープンAIの関数呼び出しを使わない方法

オープンAIの関数呼び出しの寛容さを理解するために、関数呼び出しをしない場合にGPT 3.5 TurboモデルAPIが出力の一貫性を確認する方法を見てみましょう。まず、ウェブサイト上のすべてのツールにアクセスするためにOpenAIのシークレットキーを生成します。

OpenAIのウェブサイトにアクセスして、アカウントを作成し、アカウントを確認し、APIキーを管理するためにアカウントに移動し、キーを作成します。

関数呼び出しを使用せずにOpenAIを使用するために、Google Colabノートブックで新しいノートブックを作成してテストする例を見てみましょう。

  • Google Colabノートブックのセルを使用してOpenAIをインストールします。
pip install openai#import csv
  • 学生の説明を書きます。
  • student_one = “RakeshはIITマドラスで神経科学を専攻する2年生です。彼のCGPAは8です。Rakeshはバイオテックスキルで知られ、大学のNeuro Clubのメンバーです。”
  • 次のセルに書きましょう。
prompt = f'''次のテキストから以下の情報を抽出し、JSONとして返します:名前、専攻、大学、成績、クラブ。テキストは次のとおりです:{student_one}'''#import csv
  • さあ、APIにプロンプトからのレスポンスをプログラムしましょう。
import openai import jsonopenai_response = openai.ChatCompletion.create(    model = 'gpt-3.5-turbo',    messages = [{'role': 'user', 'content': prompt}])answer = openai_response['choices'][0]['message']['content']answer_json = json.loads(answer)answer_json#import csv
  • 以下の出力が得られます:{‘name’: ‘Rakesh’, ‘major’: ‘神経科学’, ‘college’: ‘IITマドラス’, ‘grade’: ‘8’, ‘club’: ‘Neuro Club’}

オープンAIの関数呼び出しを使用する方法

今度は、オープンAIの関数呼び出しを使用して正確な結果を得るためのニーズに合わせた関数を作成することができます。これにより、開発者がAPIを使用するプロセスが改善されました。以下は、学生情報を抽出し、OpenAIのカスタム関数を書くための正しい構文の例です。

function_one = [    {        'name': 'info_of_student',        'description': 'テキストから学生の情報を取得する',        'parameters': {            'type': 'object',            'properties': {                'name': {                    'type': 'string',                    'description': '学生の名前'                },                'major': {                    'type': 'string',                    'description': '専攻科目'                },                'school': {                    'type': 'string',                    'description': '大学名'                },                'grades': {                    'type': 'integer',                    'description': '学生のCGPA'                },                'club': {                    'type': 'string',                    'description': '学生が参加しているクラブ'                }}}}]#import csv

やった!オープンAIの関数呼び出しを使用して最初のカスタム関数を作成しました。

オープンAIの関数呼び出しの適用

関数を作成したら、データ抽出のためのプロンプトを作成し、Pythonを使ってオープンAIライブラリを使用して関数呼び出しを書くことができます。例えば、以下のように:

  • 新しい学生の情報を好きなように作成します。
  • このコードを使用して関数呼び出しを実装します。
student_info = [student_one, student_two]for stu in student_info:    response = openai.ChatCompletion.create(        model = 'gpt-3.5-turbo',        messages = [{'role': 'user', 'content': stu}],        functions = function_one,        function_call = 'auto'    )    response = json.loads(response['choices'][0]['message']['function_call']['arguments'])    print(response)#import csv
  • 以下では、オープンAIの関数呼び出しを使用することで、より良い応答を得ることができ、より大きなデータの学生にも簡単に対応できます。

小規模な学生数に対してはAPI関数を使用しないコードがうまく動作しますが、より大量のデータに対してはオープンAIの関数呼び出しは素晴らしい結果をもたらします。

複数のカスタム関数を使用したOpenAI関数呼び出し

GPTモデルの能力を最大限に活用するために、複数のカスタム関数を使用することができます。さあ、学生向けの大学情報のためのさらなる関数の例を作成してみましょう:

  • 説明を作成し、大学情報を入力するための関数を書きます。
function_two = [{        'name': 'info_of_college',        'description': 'テキストから大学の情報を取得',        'parameters': {            'type': 'object',            'properties': {                'name': {                    'type': 'string',                    'description': '大学の名前'                },                'country': {                    'type': 'string',                    'description': '大学の国'                },                'no_of_students': {                    'type': 'integer',                    'description': '学校の学生数'                }            }        }} ]#import csv
  • 次に、GPTを使用して大学情報を生成し、
#import csvfunctions = [function_one[0], function_two[0]]info = [student_one, college_one]for n in info:    response = openai.ChatCompletion.create(        model = 'gpt-3.5-turbo',        messages = [{'role': 'user', 'content': n}],        functions = functions,        function_call = 'auto'    )    response = json.loads(response['choices'][0]['message']['function_call']['arguments'])    print(response)
  • 複数の関数は開発者の作業を効率化します。

アプリケーションの開発

複数の関数を使用して完全なアプリケーションを開発することができます。OpenAIの関数呼び出しを使用したGPTモデルのパワーは、より広範なデータを使用して大規模なアプリケーションを作成するためのさまざまな関数呼び出しの柔軟性を持っています。異なる入力データを挿入して段階的にアプリケーションを作成しましょう:

  • まず、情報抽出のための2つのPython関数を作成します。
def student_info(name, major, school, cgpa, club):    return f"{name}は{school}の{major}学生で、{cgpa}のCGPAです。{club}のメンバーです。"def school_info(name, country, num_students):    return f"{name}は{country}にあり、{num_students}人の学生がいます。"#import csv
  • 次に、student_one、random_prompt、およびcollege_oneのリストを作成します。その後、リスト内のテキストを使用して応答を生成し、引数を適用して関数呼び出しを検出し、3つのサンプルすべての出力を印刷します。
info = [    student_one,    "パリはどこですか?",    college_one]for i, sample in enumerate(info):    response = openai.ChatCompletion.create(        model = 'gpt-3.5-turbo',        messages = [{'role': 'user', 'content': sample}],        functions = [function_one[0], function_two[0]],        function_call = 'auto'    )       response = response["choices"][0]["message"]       if response.get('function_call'):               function_used = response['function_call']['name']               function_args  = json.loads(response['function_call']['arguments'])               available_functions = {            "info_of_college": get_college,            "info_of_student": get_student        }               fuction_to_use = available_functions[function_used]        response = fuction_to_use(*list(function_args .values()))           else:        response = response['content']       print(f"\nans#{i+1}\n")    print(response)#import csv
  • おめでとうございます!複数の関数を使用して、OpenAIを使ったアプリケーションを作成し、プロンプトに応じて回答しました。

結論

複数の関数を作成したり、カスタム関数を使用してアプリケーションを構築したりすることから、OpenAPI関数呼び出しなどの新しいツールは、開発者にコードを革新的なビジョンで実現し、ディープラーニングの技術を活用したプロジェクトを強化する力を与えています。APIの新しいバージョンと言語モデルの機能の向上によって、将来はさらなる驚きが待っています。

よくある質問

We will continue to update VoAGI; if you have any questions or suggestions, please contact us!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more

AI研究

Eleuther AI Research Groupが、Classifier-free Guidance(CFG)がLLMsとどのように組み合わされるかを実証しました

最近、巨大な言語モデルは印象的な生成能力を示し、様々な問題に対応することができるようになりました。通常、タスクの指示...

AIニュース

「AI安全性の議論がシリコンバレーを引き裂いている」

OpenAIのリーダーシップのドラマは、AIの安全重視技術専門家と自由主義的なテクノ楽観主義者の激しい論争の中で最新の火花と...

機械学習

メタAIのコンピュータビジョンにおける公平性のための2つの新しい取り組み:DINOv2のためのライセンス導入とFACETのリリースの紹介

コンピュータビジョンの絶え間ない進化の中で、公平性を確保することが急務となっています。この記事では、AI技術、特にコン...

コンピュータサイエンス

「ユートピアの再創造:デジタル時代の自己創造コミュニティ」

ジョン・ヒリスは、デジタル技術を使用して、テキサス州オースティンの外にあるネイバーフッド・ゼロのような自己生成型の共...

機械学習

ニューラルネットワークにおける系統的組み合わせ可能性の解除:組み合わせ可能性のためのメタラーニング(MLC)アプローチによるブレイクスルー

人工知能(Artificial Intelligence)と機械学習(Machine Learning)の分野はますます普及しています。これらの領域での主要...

AI研究

中国のこのAI研究は、AIの幻覚を探求する:大型言語モデルにおける幻視に深く潜る

大型言語モデルは最近、自然言語処理におけるパラダイムの変化をもたらし、以前には考えられなかった言語の創造、理解、推論...