From 835f89ef30a2f69d3698b023cb762aa69f490331 Mon Sep 17 00:00:00 2001 From: Atai Barkai Date: Fri, 5 Jul 2024 16:30:08 -0700 Subject: [PATCH 1/2] directly use unify --- .env.local.example | 1 + src/app/api/copilotkit/route.ts | 9 ++++++++- src/app/page.tsx | 2 +- 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/.env.local.example b/.env.local.example index 212afab..d4d865d 100644 --- a/.env.local.example +++ b/.env.local.example @@ -1,3 +1,4 @@ OPENAI_API_KEY=xxxxxxx OPENAI_MODEL=gpt-4-1106-preview TAVILY_API_KEY=xxxxxxx +UNIFY_API_KEY=xxxxxxx \ No newline at end of file diff --git a/src/app/api/copilotkit/route.ts b/src/app/api/copilotkit/route.ts index 747e59c..23f569a 100644 --- a/src/app/api/copilotkit/route.ts +++ b/src/app/api/copilotkit/route.ts @@ -6,6 +6,7 @@ import { copilotRuntimeNextJSAppRouterEndpoint, OpenAIAdapter, } from "@copilotkit/runtime"; +import OpenAI from "openai"; const UNSPLASH_ACCESS_KEY_ENV = "UNSPLASH_ACCESS_KEY"; const UNSPLASH_ACCESS_KEY = process.env[UNSPLASH_ACCESS_KEY_ENV]; @@ -74,13 +75,19 @@ export const POST = async (req: NextRequest) => { const openaiModel = process.env["OPENAI_MODEL"]; + const openai = new OpenAI({ + apiKey: process.env.UNIFY_API_KEY, + baseURL: "https://api.unify.ai/v0/" + }); + console.log("ENV.COPILOT_CLOUD_API_KEY", process.env.COPILOT_CLOUD_API_KEY); const { handleRequest } = copilotRuntimeNextJSAppRouterEndpoint({ runtime: new CopilotRuntime({ actions }), - serviceAdapter: new OpenAIAdapter({ model: openaiModel }), + serviceAdapter: new OpenAIAdapter({ openai, model: openaiModel }), endpoint: req.nextUrl.pathname, }); return handleRequest(req); }; + diff --git a/src/app/page.tsx b/src/app/page.tsx index 37780fe..4f42178 100644 --- a/src/app/page.tsx +++ b/src/app/page.tsx @@ -11,7 +11,7 @@ export default function AIPresentation() { return ( Date: Thu, 11 Jul 2024 18:10:56 +0530 Subject: [PATCH 2/2] updated adapter based on changes to CopilotKit (#8) * updated adapter based on changes to CopilotKit * got the route working with the unify adapter * minor change * added router instead * updated router * updated metric --- src/app/api/copilotkit/route.ts | 16 +++++----------- 1 file changed, 5 insertions(+), 11 deletions(-) diff --git a/src/app/api/copilotkit/route.ts b/src/app/api/copilotkit/route.ts index 23f569a..561d012 100644 --- a/src/app/api/copilotkit/route.ts +++ b/src/app/api/copilotkit/route.ts @@ -4,9 +4,8 @@ import { NextRequest } from "next/server"; import { CopilotRuntime, copilotRuntimeNextJSAppRouterEndpoint, - OpenAIAdapter, + UnifyAdapter, } from "@copilotkit/runtime"; -import OpenAI from "openai"; const UNSPLASH_ACCESS_KEY_ENV = "UNSPLASH_ACCESS_KEY"; const UNSPLASH_ACCESS_KEY = process.env[UNSPLASH_ACCESS_KEY_ENV]; @@ -73,21 +72,16 @@ export const POST = async (req: NextRequest) => { actions.push(researchAction); } - const openaiModel = process.env["OPENAI_MODEL"]; - - const openai = new OpenAI({ - apiKey: process.env.UNIFY_API_KEY, - baseURL: "https://api.unify.ai/v0/" - }); - console.log("ENV.COPILOT_CLOUD_API_KEY", process.env.COPILOT_CLOUD_API_KEY); const { handleRequest } = copilotRuntimeNextJSAppRouterEndpoint({ runtime: new CopilotRuntime({ actions }), - serviceAdapter: new OpenAIAdapter({ openai, model: openaiModel }), + serviceAdapter: new UnifyAdapter({ + apiKey: process.env.UNIFY_API_KEY, + model: "router@q:0.5|c:0.013|models:gpt-4o,gpt-3.5-turbo|providers:openai" + }), endpoint: req.nextUrl.pathname, }); return handleRequest(req); }; -