投稿

#25 C SHARPで学ぶAI API(ChatGPT等)の呼び出し方の基本

ChatGPTのような生成AIを、自分のプログラムから呼び出して使ってみたい――そんな興味を持つ人が増えています。実はC#からでも、比較的シンプルなコードでAI API(エーアイ エーピーアイ。AIの機能をインターネット経由で呼び出すための窓口のようなもの)を利用できます。この記事では、C#でAI APIを呼び出す際の基本的な流れと、押さえておきたい注意点を初心者向けに解説します。 AI APIって何をしているの? AI API(APIはApplication Programming Interfaceの略で、「プログラム同士が会話するための決まりごと」のことです)を使うと、自分のアプリからインターネットを通じて「この文章に返事をください」といったお願いを送れます。すると、AIが考えた答えを受け取ることができます。多くのAIサービスは、この仕組みをHTTP通信(Webサイトを見るときと同じ仕組みの通信)で提供しており、C#からも他の言語と同じように利用できます。 必要なもの 利用したいAIサービスのAPIキー(利用者を識別するための合言葉のような文字列) .NET SDK(C#のプログラムを動かすための開発環境) インターネット接続 C#でAPIを呼び出す基本の書き方 C#には HttpClient というクラス(通信機能をひとまとめにした部品)が標準で用意されており、これを使ってAI APIにリクエスト(要求)を送ります。大まかな流れは次の3ステップです。 送りたい内容(質問文など)をJSON形式(データをやり取りするための共通フォーマット)に変換する HttpClient でAPIのアドレスにリクエストを送る 返ってきたJSONを読み取り、必要な部分(AIの返答文)を取り出す コードのイメージは以下のようになります(実際のAPIキー・URL・モデル名は利用するAIサービスに合わせて読み替えてください)。 using System.Net.Http.Json; // apiKeyには事前に取得したAPIキーの文字列を入れておく var client = new HttpClient(); client.DefaultRequestHeaders.Add("Authorization", "...

#25 C Plusで学ぶAI API(ChatGPT等)の呼び出し方の基本

ChatGPTのようなAI(人工知能)が答えを返してくれる仕組みは、実はシンプルです。「API」と呼ばれる窓口にインターネット経由でお願い事(リクエスト)を送り、返事(レスポンス)を受け取っているだけなのです。この記事では、C++からAI APIを呼び出すための基本的な考え方と、最低限おさえておきたい注意点を初心者向けに解説します。 AI APIを呼び出すとはどういうことか API(エーピーアイ)とは「Application Programming Interface」の略で、プログラム同士がやり取りするための決まりごとのことです。ChatGPTを提供しているサービスなどでは、Webサイトの画面を使わなくても、決められた形式でデータを送るだけでAIに質問を投げかけることができます。そして、AIからの答えも同じように受け取れます。 このやり取りには、Webブラウザがサイトを表示するときと同じ「HTTP」という通信の仕組みが使われます。具体的には、質問文などをJSON(ジェイソン)という形式のテキストにまとめて送り、AIからの返事もJSON形式で返ってくる、という流れです。JSONは「キーと値のペア」を並べたシンプルなデータ形式で、多くのプログラミング言語で扱いやすいよう設計されています。 C++でHTTP通信をするにはlibcurlが定番 PythonやJavaScriptには標準でHTTP通信を行う機能が用意されていることが多いのですが、C++には標準機能としてのHTTP通信手段がありません。そこで広く使われているのが「libcurl」という外部ライブラリです。libcurlはコマンドラインツール「curl」の中身を担っているライブラリで、C言語向けに作られていますが、C++からもそのまま利用できます。 libcurlを使う場合、大まかな流れは次のようになります。 curl_easy_init() で通信の準備をする curl_easy_setopt() で送信先のURLや、送るデータ、認証情報などを設定する curl_easy_perform() で実際に通信を実行する 返ってきたレスポンス(応答)を受け取る curl_easy_cleanup() で後片付けをする C++では自分でメモリの確保・解放を管理する場面が多く、libcu...

#25 Rubyで学ぶAI API(ChatGPT等)の呼び出し方の基本

ChatGPTのようなAI(人工知能)を、自分のプログラムから呼び出せたら便利だと思ったことはありませんか。実は難しい専用ソフトを使わなくても、Rubyの標準的な仕組みだけでAI APIを呼び出すことができます。この記事では、RubyからAI APIを利用する基本の流れを、初心者向けにやさしく解説します。 AI APIとは何か API(エーピーアイ、Application Programming Interfaceの略)とは、プログラム同士が機能をやり取りする窓口のような仕組みです。AI APIは、AIの会社が用意しているサーバーに「この質問に答えて」とお願いすると、AIが考えた答えを返してくれる仕組みです。自分のパソコンでAIモデルを動かす必要がないため、比較的手軽に使えるのが特徴です。 APIリクエストの基本の流れ AI APIを使うときの流れは、だいたいどのサービスでも共通しています。 APIキー(利用者を識別するための暗号のような文字列)を取得する HTTP通信(インターネット上でデータをやり取りする方法)を使って、質問文などのデータを送る AIからの返事(JSONというテキスト形式のデータ)を受け取る 受け取ったデータから、必要な部分だけを取り出して使う Rubyでこの通信を行うには、標準ライブラリの net/http を使う方法があります。ほかにも、 httparty や faraday といった外部のgem(Rubyの便利な拡張機能をまとめたパッケージ)を使う方法もあります。標準ライブラリだけでも十分動きますが、外部gemを使うとコードがすっきり書けることが多いです。 net/httpを使った送信の例 require 'net/http' require 'json' require 'uri' uri = URI('https://api.example.com/v1/chat') http = Net::HTTP.new(uri.host, uri.port) http.use_ssl = true request = Net::HTTP::Post.new(uri) request['Content-Type'] =...

#25 Swiftで学ぶAI API(ChatGPT等)の呼び出し方の基本

SwiftアプリからAI API(ChatGPT等)を呼び出してみよう 最近は、アプリの中にChatGPTのような「AI(人工知能)」の機能を組み込む場面が増えてきました。実は、SwiftでもiPhoneアプリ(iOS)やMacアプリ(macOS)から、インターネット越しにAIサービスへ質問を送り、回答を受け取ることができます。この記事では、SwiftからAI APIを呼び出す基本的な流れと、初心者がつまずきやすいポイントを解説します。 そもそも「API」とは何か API(エーピーアイ、Application Programming Interfaceの略)とは、あるプログラムやサービスの機能を、外部のプログラムから利用できるようにした「窓口」のようなものです。ChatGPTのようなAIサービスの多くは、インターネット上に用意された窓口(APIエンドポイント)にデータを送ると、AIが処理した結果を返してくれる仕組みになっています。 この「データを送って結果を受け取る」やり取りは、Web APIと呼ばれる形式で行われることが多くあります。SwiftアプリからもHTTP通信(Webページの読み込みなどに使われる通信方式)を使ってやり取りします。 SwiftでHTTP通信を行う基本:URLSession Swiftで外部のサーバーと通信するときは、標準ライブラリに含まれる URLSession というクラスを使うのが基本です。URLSessionは、URLを指定して通信リクエストを送り、結果を受け取るための仕組みで、追加のライブラリをインストールしなくても使えます。 Swift 5.5以降では、 async/await という書き方が使えます。これを使うと、非同期処理(時間のかかる処理を待っている間も他の処理を止めない仕組み)をシンプルに書けるようになりました。以前は「完了したら呼ばれる関数(クロージャ)」を入れ子にして書く必要がありました。しかしasync/awaitのおかげで、あたかも上から下へ順番に処理が進むかのように読みやすいコードになります。JavaScriptのasync/awaitに近い感覚で書けるので、他言語の経験がある人にはなじみやすいはずです。 実際のコード例 以下は、AI API(ChatGPTのようなチャット形式の応答を返す...

#25 Javaで学ぶAI API(ChatGPT等)の呼び出し方の基本

はじめに ChatGPTのようなAI(人工知能)は、実は「API(エーピーアイ)」という仕組みを通じて、自分のプログラムから呼び出すことができます。APIとは「Application Programming Interface」の略で、あるサービスの機能を外部のプログラムから利用できるようにする「窓口」のようなものです。Javaは企業システムなどでよく使われる言語ですが、AI APIを呼び出す仕組みは意外とシンプルです。この記事では、JavaからAI APIを呼び出す基本の流れを、初めての人にもわかるように解説します。 AI APIを使う前に知っておきたいこと APIキーとは何か 多くのAIサービスは、誰でも自由に使えるわけではなく「APIキー」と呼ばれる文字列を発行しています。これは利用者を識別するための合言葉のようなもので、リクエスト(サービスへの依頼)に添えることで「誰がどれだけ利用したか」をサービス側が把握できる仕組みです。APIキーは家の鍵と同じくらい大切な情報です。コードに直接書いてGitHubなどに公開してしまうと、第三者に無断で使われてしまう恐れがあるため、環境変数(プログラムの外側で値を管理し、実行時に読み込む仕組み)などを使って管理するのが基本です。 JavaはHTTP通信の準備が少し多め PythonやJavaScriptでは、外部ライブラリなしでも比較的簡単にWeb通信ができる場合があります。一方Javaは「型(データの種類)」をきっちり指定する言語なので、通信内容やJSON(データをやり取りするための文字列形式)の扱いに一手間かかる印象があります。ただしJava11以降では java.net.http.HttpClient という通信用の機能が標準ライブラリに追加され、以前より簡潔にHTTP通信を書けるようになりました。今回はこの標準機能だけを使い、追加のライブラリなしでAI APIを呼び出す方法を紹介します。 HttpClientを使った呼び出し方の基本 HttpClient は、Webサービスにリクエストを送り、返ってきたレスポンス(応答)を受け取るためのJava標準の仕組みです。基本の書き方は次のようになります。 import java.net.URI; import java.net.http.HttpCl...

#25 Kotlinで学ぶAI API(ChatGPT等)の呼び出し方の基本

はじめに ChatGPTのようなAI(人工知能)が返してくれる文章を、自分の作ったアプリから呼び出してみたいと思ったことはありませんか。実はAI開発企業の多くは「API(エーピーアイ)」と呼ばれる仕組みを公開しています。これを使えば、自分のプログラムからAIに質問を送り、回答を受け取ることができます。APIとは、あるプログラムが別のプログラムの機能を呼び出すための「窓口」のようなものです。この記事では、Android開発などでも人気のプログラミング言語Kotlin(コトリン)を使って、AI APIを呼び出す基本の流れを解説します。 AI APIを呼び出す仕組みをざっくり理解する AI APIとのやり取りは、多くの場合「HTTP通信」で行われます。HTTP通信とは、Webブラウザがサーバーにページを要求するときと同じ仕組みで、プログラム同士がインターネット経由でデータをやり取りする方法です。手順を簡単にまとめると、次のようになります。 質問したい内容を「JSON」という形式のテキストにまとめる それをAPIの窓口(URL)に向けて送信する(これを「リクエスト」と呼びます) AI側が回答をJSON形式で返してくる(これを「レスポンス」と呼びます) 受け取ったJSONの中から、必要な文章部分だけを取り出す JSONとは、データを「キー」と「値」のペアで表す、多くのプログラミング言語で読み書きしやすいテキスト形式です。KotlinでもJSONを扱うためのライブラリ(便利な機能をまとめた部品)が用意されているので、難しく考える必要はありません。 Kotlinで通信する準備 Kotlinで外部のAPIと通信する場合、代表的な方法としてOkHttp(オーケーエイチティーティーピー)というライブラリを使う方法があります。OkHttpはHTTP通信を簡単に行うための定番ツールで、Android開発でも広く使われています。ビルドツール(プログラムの部品を管理する仕組み)であるGradleの設定ファイルに、次のように依存関係を追加します。 implementation("com.squareup.okhttp3:okhttp:4.12.0") これでOkHttpの機能がプロジェクト内で使えるようになります。 実際にリクエストを送るコ...

#25 Pythonで学ぶAI API(ChatGPT等)の呼び出し方の基本

はじめに ChatGPTのようなAI(人工知能)を、自分のPythonプログラムから呼び出せたら便利だと思ったことはありませんか。実は「API(エーピーアイ)」という仕組みを使えば、初心者でも数行のコードでAIに質問を投げて答えを受け取ることができます。APIとは「Application Programming Interface」の略で、簡単に言うと「あるサービスの機能を、プログラムから使わせてもらうための窓口」のことです。この記事では、PythonからAI APIを呼び出す基本的な流れを、初めての人にもわかるように解説します。 AI APIを使う前に知っておきたいこと APIキーとは何か 多くのAIサービスは、誰でも自由に使えるわけではなく「APIキー」と呼ばれる、いわば合言葉のような文字列を発行しています。このキーをリクエスト(サービスへの依頼)に添えることで、「あなたが誰で、どれだけ利用したか」をサービス側が把握できる仕組みです。APIキーは家の鍵のようなものなので、他人に見せたり、そのままコードに書いてSNSやGitHubに公開したりしないよう注意しましょう。 APIキーは環境変数で管理する APIキーをコードに直接書き込む(ハードコーディングと呼びます)のは避けたい書き方です。代わりによく使われるのが「環境変数」という、OS(パソコンの基本ソフト)側にこっそり値を保存しておく仕組みです。Pythonでは os という標準ライブラリ(あらかじめPythonに用意されている機能集)を使って、次のように環境変数からキーを読み込めます。 import os api_key = os.environ.get("OPENAI_API_KEY") この方法なら、コード自体にはキーが書かれないため、他の人とコードを共有しても安全です。環境変数の設定方法はOSによって異なります。多くの場合、ターミナル(コマンドを入力する画面)で1行コマンドを実行するか、 .env というファイルに書いて専用ライブラリで読み込む方法が使われます。 Pythonからの呼び出し方の基本 方法1: requestsライブラリを使う Pythonには requests という、Webサービスとやり取りするための定番の外部ライブラリ(標準では入ってお...