Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/vercel/ai
Build AI-powered applications with React, Svelte, Vue, and Solid
https://github.com/vercel/ai
artificial-intelligence generative-ai generative-ui huggingface javascript language-model llm nextjs openai react solidjs svelte typescript vercel vue
Last synced: 6 days ago
JSON representation
Build AI-powered applications with React, Svelte, Vue, and Solid
- Host: GitHub
- URL: https://github.com/vercel/ai
- Owner: vercel
- License: other
- Created: 2023-05-23T15:04:08.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-04-12T23:43:15.000Z (7 months ago)
- Last Synced: 2024-04-14T12:48:42.863Z (7 months ago)
- Topics: artificial-intelligence, generative-ai, generative-ui, huggingface, javascript, language-model, llm, nextjs, openai, react, solidjs, svelte, typescript, vercel, vue
- Language: TypeScript
- Homepage: https://sdk.vercel.ai/docs
- Size: 5.88 MB
- Stars: 7,582
- Watchers: 50
- Forks: 979
- Open Issues: 183
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Security: .github/SECURITY.md
Awesome Lists containing this project
- StarryDivineSky - vercel/ai
- awesome - vercel/ai - Build AI-powered applications with React, Svelte, Vue, and Solid (TypeScript)
- awesome-production-machine-learning - Vercel AI - Vercel AI is a TypeScript toolkit designed to help you build AI-powered applications using popular frameworks like Next.js, React, Svelte, Vue and runtimes like Node.js. (Deployment and Serving)
- awesome-ChatGPT-repositories - ai - Build AI-powered applications with React, Svelte, Vue, and Solid (NLP)
README
![hero illustration](./assets/hero.gif)
# AI SDK
The [AI SDK](https://sdk.vercel.ai/docs) is a TypeScript toolkit designed to help you build AI-powered applications using popular frameworks like Next.js, React, Svelte, Vue and runtimes like Node.js.
To learn more about how to use the AI SDK, check out our [API Reference](https://sdk.vercel.ai/docs/reference) and [Documentation](https://sdk.vercel.ai/docs).
## Installation
You will need Node.js 18+ and pnpm installed on your local development machine.
```shell
npm install ai
```## Usage
### AI SDK Core
The [AI SDK Core](https://sdk.vercel.ai/docs/ai-sdk-core/overview) module provides a unified API to interact with model providers like [OpenAI](https://sdk.vercel.ai/providers/ai-sdk-providers/openai), [Anthropic](https://sdk.vercel.ai/providers/ai-sdk-providers/anthropic), [Google](https://sdk.vercel.ai/providers/ai-sdk-providers/google-generative-ai), and more.
You will then install the model provider of your choice.
```shell
npm install @ai-sdk/openai
```###### @/index.ts (Node.js Runtime)
```ts
import { generateText } from 'ai';
import { openai } from '@ai-sdk/openai'; // Ensure OPENAI_API_KEY environment variable is setasync function main() {
const { text } = await generateText({
model: openai('gpt-4-turbo'),
system: 'You are a friendly assistant!',
prompt: 'Why is the sky blue?',
});console.log(text);
}main();
```### AI SDK UI
The [AI SDK UI](https://sdk.vercel.ai/docs/ai-sdk-ui/overview) module provides a set of hooks that help you build chatbots and generative user interfaces. These hooks are framework agnostic, so they can be used in Next.js, React, Svelte, Vue, and SolidJS.
###### @/app/page.tsx (Next.js App Router)
```tsx
'use client';import { useChat } from 'ai/react';
export default function Page() {
const { messages, input, handleSubmit, handleInputChange, isLoading } =
useChat();return (
{messages.map(message => (
{message.role}
{message.content}
))}
);
}
```###### @/app/api/chat/route.ts (Next.js App Router)
```ts
import { CoreMessage, streamText } from 'ai';
import { openai } from '@ai-sdk/openai';export async function POST(req: Request) {
const { messages }: { messages: CoreMessage[] } = await req.json();const result = await streamText({
model: openai('gpt-4'),
system: 'You are a helpful assistant.',
messages,
});return result.toDataStreamResponse();
}
```## Templates
We've built [templates](https://vercel.com/templates?type=ai) that include AI SDK integrations for different use cases, providers, and frameworks. You can use these templates to get started with your AI-powered application.
## Community
The AI SDK community can be found on [GitHub Discussions](https://github.com/vercel/ai/discussions) where you can ask questions, voice ideas, and share your projects with other people.
## Contributing
Contributions to the AI SDK are welcome and highly appreciated. However, before you jump right into it, we would like you to review our [Contribution Guidelines](https://github.com/vercel/ai/blob/main/CONTRIBUTING.md) to make sure you have smooth experience contributing to AI SDK.
## Authors
This library is created by [Vercel](https://vercel.com) and [Next.js](https://nextjs.org) team members, with contributions from the [Open Source Community](https://github.com/vercel/ai/graphs/contributors).