From fed8d2a28efd7c7b2f8d404b9f5af6188d1f0b43 Mon Sep 17 00:00:00 2001 From: chronark Date: Sun, 20 Oct 2024 14:21:48 +0200 Subject: [PATCH] chore: deprecate llm cache --- apps/dashboard/app/(app)/desktop-sidebar.tsx | 3 + apps/dashboard/app/(app)/layout.tsx | 3 + apps/dashboard/app/(app)/mobile-sidebar.tsx | 1 + .../[gatewayId]/settings/delete-gateway.tsx | 2 +- .../app/(app)/semantic-cache/form.tsx | 121 ------------------ .../app/(app)/semantic-cache/new/page.tsx | 30 ----- .../generate-semantic-cache-default-name.ts | 11 -- .../app/(app)/semantic-cache/page.tsx | 2 +- .../app/(app)/workspace-navigations.tsx | 4 +- .../app/new/create-semantic-cache.tsx | 36 ------ apps/dashboard/app/new/page.tsx | 23 +--- apps/dashboard/lib/trpc/routers/index.ts | 2 - .../lib/trpc/routers/llmGateway/create.ts | 83 ------------ apps/docs/mint.json | 8 -- apps/docs/semantic-cache/introduction.mdx | 64 --------- apps/docs/semantic-cache/llmcache-monitor.png | Bin 78593 -> 0 bytes apps/docs/semantic-cache/llmcache.png | Bin 82925 -> 0 bytes apps/docs/semantic-cache/settings.mdx | 41 ------ .../semantic-cache/why-semantic-caching.mdx | 23 ---- 19 files changed, 14 insertions(+), 443 deletions(-) delete mode 100644 apps/dashboard/app/(app)/semantic-cache/form.tsx delete mode 100644 apps/dashboard/app/(app)/semantic-cache/new/page.tsx delete mode 100644 apps/dashboard/app/(app)/semantic-cache/new/util/generate-semantic-cache-default-name.ts delete mode 100644 apps/dashboard/app/new/create-semantic-cache.tsx delete mode 100644 apps/dashboard/lib/trpc/routers/llmGateway/create.ts delete mode 100644 apps/docs/semantic-cache/introduction.mdx delete mode 100644 apps/docs/semantic-cache/llmcache-monitor.png delete mode 100644 apps/docs/semantic-cache/llmcache.png delete mode 100644 apps/docs/semantic-cache/settings.mdx delete mode 100644 apps/docs/semantic-cache/why-semantic-caching.mdx diff --git a/apps/dashboard/app/(app)/desktop-sidebar.tsx b/apps/dashboard/app/(app)/desktop-sidebar.tsx index 1f11b7e76a..36815078e4 100644 --- a/apps/dashboard/app/(app)/desktop-sidebar.tsx +++ b/apps/dashboard/app/(app)/desktop-sidebar.tsx @@ -20,6 +20,9 @@ type Props = { id: string; name: string; }[]; + llmGateways: { + id: string; + }[]; }; className?: string; }; diff --git a/apps/dashboard/app/(app)/layout.tsx b/apps/dashboard/app/(app)/layout.tsx index 437a718001..9eef0340f7 100644 --- a/apps/dashboard/app/(app)/layout.tsx +++ b/apps/dashboard/app/(app)/layout.tsx @@ -22,6 +22,9 @@ export default async function Layout({ children, breadcrumb }: LayoutProps) { apis: { where: (table, { isNull }) => isNull(table.deletedAt), }, + llmGateways: { + columns: { id: true }, + }, }, }); if (!workspace) { diff --git a/apps/dashboard/app/(app)/mobile-sidebar.tsx b/apps/dashboard/app/(app)/mobile-sidebar.tsx index 56cfc43a4a..17ad006ef7 100644 --- a/apps/dashboard/app/(app)/mobile-sidebar.tsx +++ b/apps/dashboard/app/(app)/mobile-sidebar.tsx @@ -19,6 +19,7 @@ type Props = { id: string; name: string; }[]; + llmGateways: { id: string }[]; }; }; diff --git a/apps/dashboard/app/(app)/semantic-cache/[gatewayId]/settings/delete-gateway.tsx b/apps/dashboard/app/(app)/semantic-cache/[gatewayId]/settings/delete-gateway.tsx index 9ec6c59c0b..48b8c04859 100644 --- a/apps/dashboard/app/(app)/semantic-cache/[gatewayId]/settings/delete-gateway.tsx +++ b/apps/dashboard/app/(app)/semantic-cache/[gatewayId]/settings/delete-gateway.tsx @@ -68,7 +68,7 @@ export const DeleteGateway: React.FC = ({ gateway }) => { await revalidate(); - router.push("/semantic-cache"); + router.push("/"); }, onError(err) { console.error(err); diff --git a/apps/dashboard/app/(app)/semantic-cache/form.tsx b/apps/dashboard/app/(app)/semantic-cache/form.tsx deleted file mode 100644 index a2c2d46b30..0000000000 --- a/apps/dashboard/app/(app)/semantic-cache/form.tsx +++ /dev/null @@ -1,121 +0,0 @@ -"use client"; -import { Button } from "@/components/ui/button"; -import { Card, CardContent } from "@/components/ui/card"; -import { - Form, - FormControl, - FormDescription, - FormField, - FormItem, - FormLabel, - FormMessage, -} from "@/components/ui/form"; -import { toast } from "@/components/ui/toaster"; -import { trpc } from "@/lib/trpc/client"; -import { PostHogEvent } from "@/providers/PostHogProvider"; -import { zodResolver } from "@hookform/resolvers/zod"; -import { useRouter } from "next/navigation"; -import { useForm } from "react-hook-form"; -import { z } from "zod"; -import { generateSemanticCacheDefaultName } from "./new/util/generate-semantic-cache-default-name"; -const formSchema = z.object({ - subdomain: z.string().regex(/^[a-zA-Z0-9-]+$/), -}); - -export const CreateLLMGatewayForm: React.FC = () => { - const router = useRouter(); - const defaultName = generateSemanticCacheDefaultName(); - const form = useForm>({ - resolver: zodResolver(formSchema), - mode: "all", - shouldFocusError: true, - defaultValues: { - subdomain: defaultName, - }, - }); - - const create = trpc.llmGateway.create.useMutation({ - onSuccess(res) { - toast.success("Gateway Created", { - description: "Your Gateway has been created", - duration: 10_000, - }); - PostHogEvent({ - name: "semantic_cache_gateway_created", - properties: { id: res.id }, - }); - router.push(`/semantic-cache/${res.id}/logs`); - }, - }); - - async function onSubmit(values: z.infer) { - const gatewayValues = { - subdomain: values.subdomain, - }; - - create.mutate(gatewayValues); - } - - return ( -
-
-
-

What is semantic caching?

-

- Faster, cheaper LLM API calls through re-using semantically similar previous responses. -

-
    -
  1. You switch out the baseUrl in your requests to OpenAI with your gateway URL
  2. -
  3. Unkey will automatically start caching your responses
  4. -
  5. Monitor and track your cache usage here
  6. -
-
- -
- - -
- - ( - - Domain - -
- - https:// - - - - .llm.unkey.io - -
-
- - The domain where your semantic cache will be available - - -
- )} - /> - -
- -
- - -
-
-
-
-
- ); -}; diff --git a/apps/dashboard/app/(app)/semantic-cache/new/page.tsx b/apps/dashboard/app/(app)/semantic-cache/new/page.tsx deleted file mode 100644 index 1a204e8ff4..0000000000 --- a/apps/dashboard/app/(app)/semantic-cache/new/page.tsx +++ /dev/null @@ -1,30 +0,0 @@ -import { getTenantId } from "@/lib/auth"; -import { db } from "@/lib/db"; -import { redirect } from "next/navigation"; -import { CreateLLMGatewayForm } from "../form"; - -export default async function NewSemanticCachePage() { - const tenantId = getTenantId(); - const workspace = await db.query.workspaces.findFirst({ - where: (table, { and, eq, isNull }) => - and(eq(table.tenantId, tenantId), isNull(table.deletedAt)), - with: { - llmGateways: { - columns: { - id: true, - name: true, - }, - }, - }, - }); - - if (workspace?.llmGateways.length) { - return redirect(`/semantic-cache/${workspace.llmGateways[0].id}/logs`); - } - - return ( -
- -
- ); -} diff --git a/apps/dashboard/app/(app)/semantic-cache/new/util/generate-semantic-cache-default-name.ts b/apps/dashboard/app/(app)/semantic-cache/new/util/generate-semantic-cache-default-name.ts deleted file mode 100644 index 8d7f8778be..0000000000 --- a/apps/dashboard/app/(app)/semantic-cache/new/util/generate-semantic-cache-default-name.ts +++ /dev/null @@ -1,11 +0,0 @@ -"use client"; - -import { faker } from "@faker-js/faker"; - -export function generateSemanticCacheDefaultName() { - return `${faker.hacker.adjective()}-${faker.hacker.adjective()}-${ - faker.science.chemicalElement().name - }-${faker.number.int({ min: 1000, max: 9999 })}` - .replaceAll(/\s+/g, "-") - .toLowerCase(); -} diff --git a/apps/dashboard/app/(app)/semantic-cache/page.tsx b/apps/dashboard/app/(app)/semantic-cache/page.tsx index 3f180bd4eb..2631747e7d 100644 --- a/apps/dashboard/app/(app)/semantic-cache/page.tsx +++ b/apps/dashboard/app/(app)/semantic-cache/page.tsx @@ -22,7 +22,7 @@ export default async function SemanticCachePage() { } if (!workspace.llmGateways.length) { - return redirect("/semantic-cache/new"); + return redirect("/"); } return redirect(`/semantic-cache/${workspace.llmGateways[0].id}/logs`); diff --git a/apps/dashboard/app/(app)/workspace-navigations.tsx b/apps/dashboard/app/(app)/workspace-navigations.tsx index faa1dafa1a..110d411ed0 100644 --- a/apps/dashboard/app/(app)/workspace-navigations.tsx +++ b/apps/dashboard/app/(app)/workspace-navigations.tsx @@ -55,7 +55,8 @@ const Tag: React.FC<{ label: string; className?: string }> = ({ label, className ); export const createWorkspaceNavigation = ( - workspace: Pick & Pick, + workspace: Pick & + Pick & { llmGateways: { id: string }[] }, segments: string[], ) => { return [ @@ -104,6 +105,7 @@ export const createWorkspaceNavigation = ( href: "/semantic-cache", label: "Semantic Cache", active: segments.at(0) === "semantic-cache", + hidden: workspace.llmGateways.length === 0, }, { icon: Fingerprint, diff --git a/apps/dashboard/app/new/create-semantic-cache.tsx b/apps/dashboard/app/new/create-semantic-cache.tsx deleted file mode 100644 index 76243f70a5..0000000000 --- a/apps/dashboard/app/new/create-semantic-cache.tsx +++ /dev/null @@ -1,36 +0,0 @@ -"use client"; - -import { Button } from "@/components/ui/button"; -import { toast } from "@/components/ui/toaster"; -import { trpc } from "@/lib/trpc/client"; -import { PostHogEvent } from "@/providers/PostHogProvider"; -import { useRouter } from "next/navigation"; -import { generateSemanticCacheDefaultName } from "../(app)/semantic-cache/new/util/generate-semantic-cache-default-name"; - -export const CreateSemanticCacheButton: React.FC = () => { - const router = useRouter(); - - const createGateway = trpc.llmGateway.create.useMutation({ - onSuccess(res) { - toast.success("Gateway Created", { - description: "Your Gateway has been created", - duration: 10_000, - }); - PostHogEvent({ - name: "semantic_cache_gateway_created", - properties: { id: res.id }, - }); - router.push(`/semantic-cache/${res.id}/settings`); - }, - }); - async function onClick() { - createGateway.mutate({ - subdomain: generateSemanticCacheDefaultName(), - }); - } - return ( - - ); -}; diff --git a/apps/dashboard/app/new/page.tsx b/apps/dashboard/app/new/page.tsx index d67692f0ee..389348ce76 100644 --- a/apps/dashboard/app/new/page.tsx +++ b/apps/dashboard/app/new/page.tsx @@ -5,13 +5,12 @@ import { insertAuditLogs } from "@/lib/audit"; import { db, schema } from "@/lib/db"; import { auth } from "@clerk/nextjs"; import { newId } from "@unkey/id"; -import { ArrowRight, DatabaseZap, GlobeLock, KeySquare } from "lucide-react"; +import { ArrowRight, GlobeLock, KeySquare } from "lucide-react"; import { headers } from "next/headers"; import Link from "next/link"; import { notFound, redirect } from "next/navigation"; import { CreateApi } from "./create-api"; import { CreateRatelimit } from "./create-ratelimit"; -import { CreateSemanticCacheButton } from "./create-semantic-cache"; import { CreateWorkspace } from "./create-workspace"; import { Keys } from "./keys"; @@ -80,7 +79,7 @@ export default async function (props: Props) { ]} /> -
+
@@ -124,24 +123,6 @@ export default async function (props: Props) {
-
-
-
- -
-

I want to cache an LLM

-

- Faster, cheaper LLM API calls through re-using semantically similar previous - responses. -

-
    -
  1. You switch out the baseUrl in your requests to OpenAI with your gateway URL
  2. -
  3. Unkey will automatically start caching your responses
  4. -
  5. Monitor and track your cache usage here
  6. -
-
- -
); diff --git a/apps/dashboard/lib/trpc/routers/index.ts b/apps/dashboard/lib/trpc/routers/index.ts index 5e8fce109d..32b1edbe80 100644 --- a/apps/dashboard/lib/trpc/routers/index.ts +++ b/apps/dashboard/lib/trpc/routers/index.ts @@ -18,7 +18,6 @@ import { updateKeyOwnerId } from "./key/updateOwnerId"; import { updateKeyRatelimit } from "./key/updateRatelimit"; import { updateKeyRemaining } from "./key/updateRemaining"; import { updateRootKeyName } from "./key/updateRootKeyName"; -import { createLlmGateway } from "./llmGateway/create"; import { deleteLlmGateway } from "./llmGateway/delete"; import { createPlainIssue } from "./plain"; import { createNamespace } from "./ratelimit/createNamespace"; @@ -61,7 +60,6 @@ export const router = t.router({ }), llmGateway: t.router({ - create: createLlmGateway, delete: deleteLlmGateway, }), rootKey: t.router({ diff --git a/apps/dashboard/lib/trpc/routers/llmGateway/create.ts b/apps/dashboard/lib/trpc/routers/llmGateway/create.ts deleted file mode 100644 index a50a08562c..0000000000 --- a/apps/dashboard/lib/trpc/routers/llmGateway/create.ts +++ /dev/null @@ -1,83 +0,0 @@ -import { insertAuditLogs } from "@/lib/audit"; -import { db, schema } from "@/lib/db"; -import { rateLimitedProcedure, ratelimit } from "@/lib/trpc/ratelimitProcedure"; -import { DatabaseError } from "@planetscale/database"; -import { TRPCError } from "@trpc/server"; -import { newId } from "@unkey/id"; -import { z } from "zod"; - -export const createLlmGateway = rateLimitedProcedure(ratelimit.create) - .input( - z.object({ - subdomain: z.string().min(1).max(50), - }), - ) - .mutation(async ({ input, ctx }) => { - const ws = await db.query.workspaces - .findFirst({ - where: (table, { and, eq, isNull }) => - and(eq(table.tenantId, ctx.tenant.id), isNull(table.deletedAt)), - }) - .catch((_err) => { - throw new TRPCError({ - code: "INTERNAL_SERVER_ERROR", - message: - "We were unable to create LLM gateway. Please try again or contact support@unkey.dev", - }); - }); - if (!ws) { - throw new TRPCError({ - code: "NOT_FOUND", - message: - "We are unable to find the correct workspace. Please try again or contact support@unkey.dev.", - }); - } - - const llmGatewayId = newId("llmGateway"); - - await db - .transaction(async (tx) => { - await tx.insert(schema.llmGateways).values({ - id: llmGatewayId, - subdomain: input.subdomain, - name: input.subdomain, - workspaceId: ws.id, - }); - await insertAuditLogs(tx, { - workspaceId: ws.id, - actor: { - type: "user", - id: ctx.user.id, - }, - event: "llmGateway.create", - description: `Created ${llmGatewayId}`, - resources: [ - { - type: "gateway", - id: llmGatewayId, - }, - ], - context: { - location: ctx.audit.location, - userAgent: ctx.audit.userAgent, - }, - }); - }) - .catch((err) => { - if (err instanceof DatabaseError && err.body.message.includes("Duplicate entry")) { - throw new TRPCError({ - code: "PRECONDITION_FAILED", - message: - "Gateway subdomains must have unique names. Please try a different subdomain.
If you believe this is an error and the subdomain should not be in use already, please contact support at support@unkey.dev", - }); - } - throw new TRPCError({ - code: "INTERNAL_SERVER_ERROR", - message: "Unable to create gateway, please contact support at support@unkey.dev", - }); - }); - - return { - id: llmGatewayId, - }; - }); diff --git a/apps/docs/mint.json b/apps/docs/mint.json index d29f8ea1e7..971cf7dfbe 100644 --- a/apps/docs/mint.json +++ b/apps/docs/mint.json @@ -173,14 +173,6 @@ "group": "Ratelimiting", "pages": ["ratelimiting/introduction", "ratelimiting/modes", "ratelimiting/overrides"] }, - { - "group": "Semantic cache", - "pages": [ - "semantic-cache/introduction", - "semantic-cache/settings", - "semantic-cache/why-semantic-caching" - ] - }, { "group": "Audit logs", "pages": ["audit-log/introduction", "audit-log/types"] diff --git a/apps/docs/semantic-cache/introduction.mdx b/apps/docs/semantic-cache/introduction.mdx deleted file mode 100644 index 42d50ca41c..0000000000 --- a/apps/docs/semantic-cache/introduction.mdx +++ /dev/null @@ -1,64 +0,0 @@ ---- -title: Overview -description: Faster, cheaper LLM responses -mode: "wide" ---- - -A simple way to improve performance when using LLMs is to cache responses using the user query as the key. This has the -disadvantage of only allowing for caching of exact matches. - -A more useful form of caching is *semantic caching*: caching based on the embedding of the query, and returning a response -if the query passes a threshold of semantic similarity. This allows for a higher cache hit rate, meaning faster responses -for your users and reduced OpenAI bills. - -To enable semantic caching with Unkey: - -1. Set up a new gateway in the dashboard -2. Replace the baseURL of your OpenAI constructor with your new gateway URL - -Subsequent responses will be cached. You can monitor the cache via our dashboard. - -Unkey's semantic cache supports streaming, making it useful for web-based chat applications where you want to display results in real-time. - -As with all our work, semantic caching is [open-source on Github](https://github.com/unkeyed/unkey/apps/semantic-cache). - -# Get started - - - Visit [/semantic-cache](https://app.unkey.com/semantic-cache) and enter a name for your cache gateway. - - ``` - const openai = new OpenAI({ - apiKey: process.env.OPENAI_API_KEY, - baseURL: "https://.llm.unkey.io", - }); - ``` - Add your baseURL to your OpenAI constructor. This will forward all requests via your new gateway. - - - Make a request to your new gateway. You will see new logs arrive at the [logs page](https://app.unkey.com/semantic-cache/logs). After the first new request, subsequent requests will be cached. - ``` - const chatCompletion = await openai.chat.completions.create({ - messages: [ - { - role: "user", - content: "What's the capital of France?", - }, - ], - model: "gpt-3.5-turbo", - stream: true, - }); - - for await (const chunk of chatCompletion) { - process.stdout.write(chunk.choices[0].delta.content); - } - ``` - - - New requests will appear in the [logs tab](https://app.unkey.com/semantic-cache/analytics). - Visit the [analytics tab](https://app.unkey.com/semantic-cache/analytics) to monitor cache hits and misses and see your time and cost savings over time. - - Monitoring UI for semantic caching - - - diff --git a/apps/docs/semantic-cache/llmcache-monitor.png b/apps/docs/semantic-cache/llmcache-monitor.png deleted file mode 100644 index 46b6844a34b23774a73d8999a2540713743a1c54..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 78593 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.llm.unkey.io", - defaultHeaders: { - 'X-Base-Url': 'https://api.openai.com/v2' - } - }); -``` - -## Similarity threshold - -By default, the semantic cache will return a HIT if a previous response is found with a similarity score of 0.9 or above. - -You can customize this, if you want to increase cache hit ratio and/or have a higher standard for returning cached responses. - -To do so, set the `X-Min-Similarity` header when sending requests to the cache: - -``` - const openai = new OpenAI({ - apiKey: process.env.OPENAI_API_KEY, - baseURL: "https://.llm.unkey.io", - defaultHeaders: { - 'X-Min-Similarity': '0.92' - } - }); -``` diff --git a/apps/docs/semantic-cache/why-semantic-caching.mdx b/apps/docs/semantic-cache/why-semantic-caching.mdx deleted file mode 100644 index 7098eaf0d9..0000000000 --- a/apps/docs/semantic-cache/why-semantic-caching.mdx +++ /dev/null @@ -1,23 +0,0 @@ ---- -title: Why semantic caching ---- - -If you're building with LLMs, many of the queries from your users will be similar. For example: - -- "What are the best things to do in Paris?" -- "I'm travelling to Paris, what are the best things to do there?" -- "Give me a recommendation of things to do in Paris." - -All of the above queries are 'semantically' similar: they mean the same thing. They just differ in phrasing. When converted to an embedding -vector, they will have similar enough cosine similarity scores that the cache can identify them as referring to the same response object stored in the cache. - - - Semantic caching - - -Unkey offers semantic caching through a *gateway*: a unique URL through which you proxy your LLM API traffic. In the future, we will offer -additional functionality through this gateway: - -- Support for additional AI APIs -- Full integration with Unkey's API keys -- Rate-limiting and analytics via a gateway \ No newline at end of file