Vercel の AI SDK と Pica の OneTool を使用して、無制限の API に接続された AI エージェントを構築する
ソフトウェア プロジェクトでシームレスな API インタラクションの力を解放しましょう!このチュートリアルでは、Express、Vercel の AI SDK、Pica の AI インフラストラクチャを使用して複数の API に簡単に接続する AI エージェントを構築する方法を説明します。
前提条件
始める前に、Node.js と npm がインストールされていることを確認してください。 OpenAI API キーと Pica 秘密キーも必要です。 新しいプロジェクトを作成し、必要なパッケージをインストールします:
npm install express @ai-sdk/openai ai @picahq/ai dotenv
次に、プロジェクトのルート ディレクトリに .env
ファイルを作成し、API キーを追加します。
<code>PICA_SECRET_KEY=your-pica-secret-key OPENAI_API_KEY=your-openai-api-key PORT=3000</code>
プレースホルダー キーを実際のキーに置き換えることを忘れないでください。
ステップ 1: Express サーバーのセットアップ
server.js
を作成し、AI インタラクションを処理するための基本的な Express サーバーを構築します。
import express from "express"; import { openai } from "@ai-sdk/openai"; import { generateText } from "ai"; import { Pica } from "@picahq/ai"; import * as dotenv from "dotenv"; dotenv.config(); const app = express(); const port = process.env.PORT || 3000; app.use(express.json()); app.post("/api/ai", async (req, res) => { try { const { message } = req.body; const pica = new Pica(process.env.PICA_SECRET_KEY); const systemPrompt = await pica.generateSystemPrompt(); const { text } = await generateText({ model: openai("gpt-4o"), system: systemPrompt, tools: { ...pica.oneTool }, prompt: message, maxSteps: 5, }); res.setHeader("Content-Type", "application/json"); res.status(200).json({ text }); } catch (error) { console.error("Error:", error); res.status(500).json({ error: "Server error" }); } }); app.listen(port, () => { console.log(`Server listening on port ${port}`); }); export default app;
ステップ 2: API テスト
サーバーを起動します。 /api/ai
または Postman:curl
を使用して
curl --location 'http://localhost:3000/api/ai' \ --header 'Content-Type: application/json' \ --data '{ "message": "What connections do I have access to?" }'
Pica ダッシュボードで接続を設定するまでは、使用可能な接続がないことを示す応答が返されることが予想されます。
コードを理解する
コードはいくつかの主要なコンポーネントを利用します:
- Express: サーバーとルーティングを管理します。
-
@ai-sdk/openai
およびai
: OpenAI API 呼び出しを処理します。 -
@picahq/ai
: Pica のインフラストラクチャへのアクセスを提供します。 -
dotenv
: API キーを.env
ファイルから安全にロードします。 -
/api/ai
エンドポイントは Pica を初期化し、システム プロンプトを生成し、ユーザーのメッセージを処理して、AI の応答を返します。
ステップ 3: 次のステップと展開
- 機能強化: 運用環境向けに認証とレート制限を実装します。
- 拡張: Pica の追加ツールを活用して、より幅広い API やデータ ソースに接続します。
- 展開: サーバーを Vercel や AWS などのプラットフォームに展開して、より広範囲にアクセスできるようにします。
結論
多数の API と対話できる AI エージェントの基盤を構築することに成功しました。 これを拡張して、タスクを自動化し、複雑なリクエストを処理し、他のサービスとシームレスに統合します。 お気軽に質問を共有したり、Twitter でつながりましょう。 コーディングを楽しんでください!
以上がVercel の AI SDK と Pica の OneTool を使用して、無制限の API に接続された AI エージェントを構築するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undress AI Tool
脱衣画像を無料で

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

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

Stock Market GPT
AIを活用した投資調査により賢明な意思決定を実現

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

この記事では、JavaScriptを使用して画像をクリックする効果を実現する方法を紹介します。コアのアイデアは、HTML5のデータ - *属性を使用して、代替画像パスを保存し、JavaScriptを介してクリックイベントをリッスンし、SRC属性を動的に切り替えて、画像の切り替えを実現することです。この記事では、詳細なコードの例と説明を提供して、この一般的に使用されるインタラクティブ効果を理解し、習得するのに役立ちます。

まず、ブラウザがGeolocationapiをサポートしているかどうかを確認します。サポートされている場合は、getCurrentPosition()を呼び出してユーザーの現在の位置座標を取得し、成功したコールバックを通じて緯度と経度の値を取得します。同時に、拒否許可、場所の利用不能、タイムアウトなどのエラーコールバック処理の例外を提供します。また、高精度を有効にするために構成オプションを渡し、タイムアウト時間とキャッシュの妥当性期間を設定することもできます。プロセス全体には、ユーザー承認と対応するエラー処理が必要です。

JavaScriptに繰り返し間隔を作成するには、SetInterval()関数を使用する必要があります。これは、指定されたミリ秒間隔で関数またはコードブロックを繰り返し実行する必要があります。たとえば、setinterval(()=> {console.log( "2秒ごとに実行");}、2000)は、clearinterval(intervalid)によってクリアされるまで2秒ごとにメッセージを出力します。実際のアプリケーションでは、クロック、投票サーバーなどを更新するために使用できますが、最小遅延制限と機能実行時間の影響に注意を払い、メモリの漏れを避けるために不要になった時間の間隔をクリアします。特にコンポーネントのアンインストールまたはページの閉鎖の前に、それを確認してください

NUXT3の構成APIコア使用量には次のものが含まれます。1。DefinePageMetaは、タイトル、レイアウト、ミドルウェアなどのページメタ情報を定義するために使用されます。 2。Useheadは、ページヘッダータグを管理し、静的およびレスポンシブな更新をサポートし、SEO最適化を実現するためにDefinePageMetaと協力する必要があります。 3. useasyncdataは、非同期データを安全に取得し、負荷とエラーステータスを自動的に処理し、サーバーとクライアントのデータ収集制御をサポートします。 4. usefetchは、useasyncdataと$ fetchのカプセル化であり、リクエストキーを自動的にエンスして、リクエストを重複しないようにします

この記事の目的は、javascriptのdocument.getElementbyid()を介してDOM要素を取得するときにnullを返す問題を解決することを目的としています。コアは、スクリプトの実行タイミングとDOM解析ステータスを理解することです。タグを正しく配置するか、DomContentLoadedイベントを使用することにより、要素が利用可能なときに再び試行され、そのようなエラーを効果的に回避することができます。

このチュートリアルでは、JavaScriptに固定された2つの小数を持つ文字列に数値をフォーマットする方法を詳細に説明します。整数でさえ「#.00」の形で表示できます。 number.prototype.tofixed()メソッドの使用に焦点を当てます。これには、その構文、機能、サンプルコード、およびそのリターンタイプが常に文字列であるなどの重要なポイントが含まれます。

ClipboardapiのWriteTextメソッドを使用してテキストをクリップボードにコピーします。セキュリティコンテキストとユーザーインタラクションで呼び出され、最新のブラウザーをサポートし、古いバージョンをExecCommandで格下げできます。

thebestatatororeAteamulti-linestringinjavascriptsisingsisingSemplatalalswithbackticks、whitherverebreakenexactlyaswritten。
