github.com/get-convex/a...
Agent component:
convex.dev/components/a...
Rate Limiter:
www.convex.dev/components/r...
github.com/get-convex/a...
Agent component:
convex.dev/components/a...
Rate Limiter:
www.convex.dev/components/r...
What's your preferred way to handle routing / dispatching / step-by-step tool calls btw?
What's your preferred way to handle routing / dispatching / step-by-step tool calls btw?
My gut feel is that code is still king though - the second you want more flexibility, composability, or control over context / prompting, you'd be fighting the framework.
A la #4 here stack.convex.dev/ai-agents#go...
My gut feel is that code is still king though - the second you want more flexibility, composability, or control over context / prompting, you'd be fighting the framework.
A la #4 here stack.convex.dev/ai-agents#go...
YT talk: youtube.com/watch?v=3Ydg...
Durable workflow article: stack.convex.dev/durable-work...
YT talk: youtube.com/watch?v=3Ydg...
Durable workflow article: stack.convex.dev/durable-work...
const messages = useThreadMessages(
api.foo.listMessages,
{ threadId },
{ initialNumItems: 10, stream: true },
);
const sendMessage = useMutation(
api.foo.generateText,
).withOptimisticUpdate(
optimisticallySendMessage(api.foo.listMessages),
);
const messages = useThreadMessages(
api.foo.listMessages,
{ threadId },
{ initialNumItems: 10, stream: true },
);
const sendMessage = useMutation(
api.foo.generateText,
).withOptimisticUpdate(
optimisticallySendMessage(api.foo.listMessages),
);
Example code: github.com/get-convex/a...
Changelog: github.com/get-convex/a...
It one-ups persistent-text-streaming by syncing down only the deltas, not the full text, so you don't pay for bandwidth except proportional to the total length
Example code: github.com/get-convex/a...
Changelog: github.com/get-convex/a...
It one-ups persistent-text-streaming by syncing down only the deltas, not the full text, so you don't pay for bandwidth except proportional to the total length
Agent component / framework: github.com/get-convex/a...
Playground directory: github.com/get-convex/a...
Fun fact: It can target your @convex.dev backend if you if you expose the API, using API key auth.
Statically hosted on GitHub pages
Agent component / framework: github.com/get-convex/a...
Playground directory: github.com/get-convex/a...
Fun fact: It can target your @convex.dev backend if you if you expose the API, using API key auth.
Statically hosted on GitHub pages
1. Normalize the existing vector to (1-x) and add √.x
2. Search with [...embedding, 0].
e.g.:
Say we have an embedding of 2 numbers [.6, .8]
For 50% importance: [.3, .4, .707]
For [.6, .8] we used to get 1.0.
Now we get .6*.3 + .8+.4+0 = .5🎉
1. Normalize the existing vector to (1-x) and add √.x
2. Search with [...embedding, 0].
e.g.:
Say we have an embedding of 2 numbers [.6, .8]
For 50% importance: [.3, .4, .707]
For [.6, .8] we used to get 1.0.
Now we get .6*.3 + .8+.4+0 = .5🎉
The trick is to add an extra number ("feature") to the embedding.
[...1536 numbers, <X>]
Then query with
[...1536 numbers, 0].
How it works: 🧵
The trick is to add an extra number ("feature") to the embedding.
[...1536 numbers, <X>]
Then query with
[...1536 numbers, 0].
How it works: 🧵
Article: stack.convex.dev/ai-agents
Code:
github.com/get-convex/a...
Article: stack.convex.dev/ai-agents
Code:
github.com/get-convex/a...
Article on Agentic Workflow: stack.convex.dev/ai-agents
Agent framework: convex.dev/components/a...
Article on Agentic Workflow: stack.convex.dev/ai-agents
Agent framework: convex.dev/components/a...