CopilotKit は、強力で本番環境に対応した AI Copilot をあらゆるアプリケーションに簡単に統合できるオープンソース フレームワークです。 CopilotKit を使用すると、カスタム AI チャットボット、エージェント、テキスト領域などをシームレスに実装して、製品を強化できます。
?CopilotKit をアプリケーションに統合する方法を学ぶアプリケーションを構築しましょう:-
このアプリケーションは CopilotKit を使用してフラッシュカードとクイズを自動的に生成します。 AI を活用したチャットボットに任意のトピックに関するフラッシュカードの作成を依頼するだけで、フラッシュカードと対応するクイズの両方が即座に生成されます。これは、あらゆる主題について迅速かつ効率的に学習できる方法です。
フロントエンド: NextJs、Tailwind CSS、shadcdn、Zustand
バックエンド: 次の Js
データストレージ: ローカルストレージ
npm install @copilotkit/react-core @copilotkit/react-ui @copilotkit/runtime
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 つの重要なフックに焦点を当てます:
npm install @copilotkit/react-core @copilotkit/react-ui @copilotkit/runtime
GROQ_API_KEY=<your_groq_api_key>
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, });
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 サイトの他の関連記事を参照してください。