@artemiskit/adapter-vercel-ai 0.1.2 → 0.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +8 -0
- package/README.md +125 -0
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
package/README.md
ADDED
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
# @artemiskit/adapter-vercel-ai
|
|
2
|
+
|
|
3
|
+
Vercel AI SDK adapter for ArtemisKit LLM evaluation toolkit.
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npm install @artemiskit/adapter-vercel-ai
|
|
9
|
+
# or
|
|
10
|
+
bun add @artemiskit/adapter-vercel-ai
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
## Overview
|
|
14
|
+
|
|
15
|
+
This adapter uses the [Vercel AI SDK](https://ai-sdk.dev/) to provide a unified interface to LLM providers.
|
|
16
|
+
|
|
17
|
+
**Currently Supported (MVP):**
|
|
18
|
+
- OpenAI (GPT-5.2, GPT-4.1, GPT-4o)
|
|
19
|
+
- Azure OpenAI
|
|
20
|
+
|
|
21
|
+
**Coming Soon:**
|
|
22
|
+
- Anthropic
|
|
23
|
+
- Google
|
|
24
|
+
- Mistral
|
|
25
|
+
|
|
26
|
+
## Usage
|
|
27
|
+
|
|
28
|
+
### With CLI
|
|
29
|
+
|
|
30
|
+
Configure in `artemis.config.yaml`:
|
|
31
|
+
|
|
32
|
+
```yaml
|
|
33
|
+
provider: vercel-ai
|
|
34
|
+
model: gpt-4.1
|
|
35
|
+
|
|
36
|
+
providers:
|
|
37
|
+
vercel-ai:
|
|
38
|
+
apiKey: ${OPENAI_API_KEY}
|
|
39
|
+
provider: openai # underlying provider
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
### Programmatic
|
|
43
|
+
|
|
44
|
+
```typescript
|
|
45
|
+
import { VercelAIAdapter } from '@artemiskit/adapter-vercel-ai';
|
|
46
|
+
|
|
47
|
+
const adapter = new VercelAIAdapter({
|
|
48
|
+
provider: 'vercel-ai',
|
|
49
|
+
apiKey: process.env.OPENAI_API_KEY,
|
|
50
|
+
underlyingProvider: 'openai',
|
|
51
|
+
defaultModel: 'gpt-4.1',
|
|
52
|
+
});
|
|
53
|
+
|
|
54
|
+
const result = await adapter.generate({
|
|
55
|
+
prompt: 'Hello, how are you?',
|
|
56
|
+
model: 'gpt-4.1',
|
|
57
|
+
});
|
|
58
|
+
|
|
59
|
+
console.log(result.text);
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
### Azure OpenAI via Vercel AI SDK
|
|
63
|
+
|
|
64
|
+
```typescript
|
|
65
|
+
import { VercelAIAdapter } from '@artemiskit/adapter-vercel-ai';
|
|
66
|
+
|
|
67
|
+
const adapter = new VercelAIAdapter({
|
|
68
|
+
provider: 'vercel-ai',
|
|
69
|
+
apiKey: process.env.AZURE_OPENAI_API_KEY,
|
|
70
|
+
underlyingProvider: 'azure',
|
|
71
|
+
defaultModel: 'gpt-4o-deployment',
|
|
72
|
+
providerConfig: {
|
|
73
|
+
resourceName: 'my-azure-resource',
|
|
74
|
+
},
|
|
75
|
+
});
|
|
76
|
+
|
|
77
|
+
const result = await adapter.generate({
|
|
78
|
+
prompt: 'Hello, how are you?',
|
|
79
|
+
});
|
|
80
|
+
|
|
81
|
+
console.log(result.text);
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
## Configuration Options
|
|
85
|
+
|
|
86
|
+
| Option | Type | Required | Description |
|
|
87
|
+
|--------|------|----------|-------------|
|
|
88
|
+
| `provider` | `'vercel-ai'` | Yes | Provider identifier |
|
|
89
|
+
| `apiKey` | `string` | No | API key for underlying provider |
|
|
90
|
+
| `underlyingProvider` | `string` | Yes | Provider to use: `openai`, `azure` (MVP) |
|
|
91
|
+
| `defaultModel` | `string` | No | Default model to use |
|
|
92
|
+
| `baseUrl` | `string` | No | Custom API base URL |
|
|
93
|
+
| `timeout` | `number` | No | Request timeout (ms) |
|
|
94
|
+
| `maxRetries` | `number` | No | Max retry attempts |
|
|
95
|
+
| `providerConfig` | `object` | No | Additional provider-specific configuration |
|
|
96
|
+
|
|
97
|
+
## Supported Providers (MVP)
|
|
98
|
+
|
|
99
|
+
| Provider | Example Models |
|
|
100
|
+
|----------|---------------|
|
|
101
|
+
| `openai` | `gpt-5.2`, `gpt-4.1`, `gpt-4.1-mini`, `gpt-4o` |
|
|
102
|
+
| `azure` | Depends on your Azure OpenAI deployment |
|
|
103
|
+
|
|
104
|
+
## When to Use This Adapter
|
|
105
|
+
|
|
106
|
+
Use this adapter when:
|
|
107
|
+
|
|
108
|
+
- You're already using Vercel AI SDK in your project
|
|
109
|
+
- You want to leverage Vercel AI SDK's streaming capabilities
|
|
110
|
+
- You need unified error handling across providers
|
|
111
|
+
|
|
112
|
+
For direct provider access, consider using:
|
|
113
|
+
- [`@artemiskit/adapter-openai`](https://www.npmjs.com/package/@artemiskit/adapter-openai) - Direct OpenAI/Azure access
|
|
114
|
+
- [`@artemiskit/adapter-anthropic`](https://www.npmjs.com/package/@artemiskit/adapter-anthropic) - Direct Anthropic access
|
|
115
|
+
|
|
116
|
+
## Related Packages
|
|
117
|
+
|
|
118
|
+
- [`@artemiskit/cli`](https://www.npmjs.com/package/@artemiskit/cli) - Command-line interface
|
|
119
|
+
- [`@artemiskit/core`](https://www.npmjs.com/package/@artemiskit/core) - Core runtime
|
|
120
|
+
- [`@artemiskit/adapter-openai`](https://www.npmjs.com/package/@artemiskit/adapter-openai) - OpenAI adapter
|
|
121
|
+
- [`@artemiskit/adapter-anthropic`](https://www.npmjs.com/package/@artemiskit/adapter-anthropic) - Anthropic adapter
|
|
122
|
+
|
|
123
|
+
## License
|
|
124
|
+
|
|
125
|
+
Apache-2.0
|