?CopilotKitとは何ですか?
CopilotKit は、強力で本番環境に対応した AI Copilot をあらゆるアプリケーションに簡単に統合できるオープンソース フレームワークです。 CopilotKit を使用すると、カスタム AI チャットボット、エージェント、テキスト領域などをシームレスに実装して、製品を強化できます。
?CopilotKit をアプリケーションに統合する方法を学ぶアプリケーションを構築しましょう:-
?このアプリケーションは一体何ですか?
このアプリケーションは CopilotKit を使用してフラッシュカードとクイズを自動的に生成します。 AI を活用したチャットボットに任意のトピックに関するフラッシュカードの作成を依頼するだけで、フラッシュカードと対応するクイズの両方が即座に生成されます。これは、あらゆる主題について迅速かつ効率的に学習できる方法です。
?技術スタック:
フロントエンド: NextJs、Tailwind CSS、shadcdn、Zustand
バックエンド: 次の Js
データストレージ: ローカルストレージ
?設定
- これらの依存関係をインストールしてください:
npm install @copilotkit/react-core @copilotkit/react-ui @copilotkit/runtime
- アプリケーションのルート レベルに .evn ファイルを作成し、次の変数をそのファイルに追加します。
GROQ_API_KEY=<your_groq_api_key> </your_groq_api_key>
?Groq API キーを取得するには、次の手順に従ってください:
GroqCloud に移動し、[API キーの作成] ボタンをクリックして API キーを生成します。
?開発について詳しく見ていきましょう:
バックエンド: バックエンドの場合、/api/copilotkit エンドポイントをセットアップします。このエンドポイントは、フロントエンドからのリクエストを処理し、必要に応じてデータを提供したり応答したりします。CopilotKit を使用してアプリケーションを強化するために必要なのは、この 1 つのエンドポイントだけです。
import { CopilotRuntime, GroqAdapter, copilotRuntimeNextJSAppRouterEndpoint, } from "@copilotkit/runtime"; import { NextRequest } from "next/server"; import Groq from "groq-sdk"; const groq:Groq = new Groq({ apiKey: process.env.GROQ_API_KEY }) ; const copilotKit = new CopilotRuntime(); const serviceAdapter = new GroqAdapter({ groq, model: "llama3-groq-8b-8192-tool-use-preview" }); export const POST = async (req: NextRequest) => { const { handleRequest } = copilotRuntimeNextJSAppRouterEndpoint({ runtime: copilotKit, serviceAdapter, endpoint: "/api/copilotkit", }); return handleRequest(req); };
フロントエンド:
次に、CopilotKit をアプリケーションに統合しましょう。 CopilotKit にはいくつかの便利なフックが用意されており、このチュートリアルでは 2 つの重要なフックに焦点を当てます:
- useCopilotReadable: useCopilotReadable フックは、アプリの状態やその他の関連情報を Copilot に提供する React フックです。さらに、このフックはアプリケーション内の階層状態を管理できるため、必要に応じて親子関係をコパイロットに渡すことができます。
npm install @copilotkit/react-core @copilotkit/react-ui @copilotkit/runtime
- useCopilotAction: useCopilotAction フックは、コパイロットがアプリ内でアクションを実行できるようにする React フックです。このフックを使用して、アプリケーション内の AI によってトリガーできるカスタム アクションを定義できます。
GROQ_API_KEY=<your_groq_api_key> </your_groq_api_key>
- チャットボットを実装するには、@copilotkit/react-ui パッケージの CopilotSidebar コンポーネントを使用できます。続行方法は次のとおりです。
import { CopilotRuntime, GroqAdapter, copilotRuntimeNextJSAppRouterEndpoint, } from "@copilotkit/runtime"; import { NextRequest } from "next/server"; import Groq from "groq-sdk"; const groq:Groq = new Groq({ apiKey: process.env.GROQ_API_KEY }) ; const copilotKit = new CopilotRuntime(); const serviceAdapter = new GroqAdapter({ groq, model: "llama3-groq-8b-8192-tool-use-preview" }); export const POST = async (req: NextRequest) => { const { handleRequest } = copilotRuntimeNextJSAppRouterEndpoint({ runtime: copilotKit, serviceAdapter, endpoint: "/api/copilotkit", }); return handleRequest(req); };
- これらのコンポーネントをすべて組み合わせると、完全なファイルは次のようになります:
useCopilotReadable({ description: 'A code snippet manager', value: flashcards, });
- さらに、AI がアクションを起こすたびに UI が更新されるようにするために、状態管理ライブラリが必要になります。任意の状態管理ライブラリを選択できますが、このチュートリアルでは、データ ストレージとしてローカル ストレージと併用して Zustand を使用します。これは、アプリケーション状態のグローバル管理ポイントとして機能します。
useCopilotAction({ name: "create-flashcards-and-also-quiz-questions-for-those-flashcards", description: `Create a new flashcard along with corresponding quiz questions. Each flashcard should contain a term, description, topic, and relevant tags. Additionally, for each flashcard, generate quiz questions with multiple answer options. The quiz questions should conform to the 'QuizQuestion' interface, where: - Each question contains a string 'question', an array of four 'options', and the 'correctOption' corresponding to the correct answer. `, parameters: [ { name: "flashcards", description: "The flashcards for the given topic", type: "object[]", // Use "array" as the type }, { name: "quiz", description: "The quiz questions for the given topic, adhering to the QuizQuestion interface", type: "object[]", // Use "array" for QuizQuestion[] }, { name:"topic", description: "The title of the topic", type: "string" } ], handler: (args: { flashcards: Flashcard[], quiz: QuizQuestion[], topic: string }) => { addTopics(args); }, });
最終的なアプリケーションのスクリーンショット:
これは私が参照しているプロジェクトです:
https://github.com/Niharika0104/learn-using-flash-cards
ここではプロジェクトのライブデモンストレーションを示します:
https://learn-using-flash-cards.vercel.app/
CopilotKit に関するこの短いチュートリアルを楽しんでいただければ幸いです。今後もこのような興味深く簡潔なチュートリアルにご期待ください!
次回は皆さんにお会いできることを楽しみにしています。
ニハリカ。
以上がAI を簡単に統合: CopilotKit の使用に関する初心者向けガイドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

Web開発におけるJavaScriptの主な用途には、クライアントの相互作用、フォーム検証、非同期通信が含まれます。 1)DOM操作による動的なコンテンツの更新とユーザーインタラクション。 2)ユーザーエクスペリエンスを改善するためにデータを提出する前に、クライアントの検証が実行されます。 3)サーバーとのリフレッシュレス通信は、AJAXテクノロジーを通じて達成されます。

JavaScriptエンジンが内部的にどのように機能するかを理解することは、開発者にとってより効率的なコードの作成とパフォーマンスのボトルネックと最適化戦略の理解に役立つためです。 1)エンジンのワークフローには、3つの段階が含まれます。解析、コンパイル、実行。 2)実行プロセス中、エンジンはインラインキャッシュや非表示クラスなどの動的最適化を実行します。 3)ベストプラクティスには、グローバル変数の避け、ループの最適化、constとletsの使用、閉鎖の過度の使用の回避が含まれます。

Pythonは、スムーズな学習曲線と簡潔な構文を備えた初心者により適しています。 JavaScriptは、急な学習曲線と柔軟な構文を備えたフロントエンド開発に適しています。 1。Python構文は直感的で、データサイエンスやバックエンド開発に適しています。 2。JavaScriptは柔軟で、フロントエンドおよびサーバー側のプログラミングで広く使用されています。

PythonとJavaScriptには、コミュニティ、ライブラリ、リソースの観点から、独自の利点と短所があります。 1)Pythonコミュニティはフレンドリーで初心者に適していますが、フロントエンドの開発リソースはJavaScriptほど豊富ではありません。 2)Pythonはデータサイエンスおよび機械学習ライブラリで強力ですが、JavaScriptはフロントエンド開発ライブラリとフレームワークで優れています。 3)どちらも豊富な学習リソースを持っていますが、Pythonは公式文書から始めるのに適していますが、JavaScriptはMDNWebDocsにより優れています。選択は、プロジェクトのニーズと個人的な関心に基づいている必要があります。

C/CからJavaScriptへのシフトには、動的なタイピング、ゴミ収集、非同期プログラミングへの適応が必要です。 1)C/Cは、手動メモリ管理を必要とする静的に型付けられた言語であり、JavaScriptは動的に型付けされ、ごみ収集が自動的に処理されます。 2)C/Cはマシンコードにコンパイルする必要がありますが、JavaScriptは解釈言語です。 3)JavaScriptは、閉鎖、プロトタイプチェーン、約束などの概念を導入します。これにより、柔軟性と非同期プログラミング機能が向上します。

さまざまなJavaScriptエンジンは、各エンジンの実装原則と最適化戦略が異なるため、JavaScriptコードを解析および実行するときに異なる効果をもたらします。 1。語彙分析:ソースコードを語彙ユニットに変換します。 2。文法分析:抽象的な構文ツリーを生成します。 3。最適化とコンパイル:JITコンパイラを介してマシンコードを生成します。 4。実行:マシンコードを実行します。 V8エンジンはインスタントコンピレーションと非表示クラスを通じて最適化され、Spidermonkeyはタイプ推論システムを使用して、同じコードで異なるパフォーマンスパフォーマンスをもたらします。

現実世界におけるJavaScriptのアプリケーションには、サーバー側のプログラミング、モバイルアプリケーション開発、モノのインターネット制御が含まれます。 2。モバイルアプリケーションの開発は、ReactNativeを通じて実行され、クロスプラットフォームの展開をサポートします。 3.ハードウェアの相互作用に適したJohnny-Fiveライブラリを介したIoTデバイス制御に使用されます。

私はあなたの日常的な技術ツールを使用して機能的なマルチテナントSaaSアプリケーション(EDTECHアプリ)を作成しましたが、あなたは同じことをすることができます。 まず、マルチテナントSaaSアプリケーションとは何ですか? マルチテナントSaaSアプリケーションを使用すると、Singの複数の顧客にサービスを提供できます


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

DVWA
Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

SecLists
SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

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

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