straico-custom-provider
Version:
Straico custom provider for Vercel AI SDK
109 lines (77 loc) • 2.82 kB
Markdown
# Straico Custom Provider for Vercel AI SDK
This package provides a custom provider for using the Straico API with the Vercel AI SDK.
## Project Structure
- `src/provider/index-simple.ts` - Simplified implementation that doesn't depend on @ai-sdk/provider
- `src/provider/straico-provider.ts` - Original implementation following Vercel AI SDK provider patterns
- `examples/` - Example usage and integration with Next.js
## Installation
```bash
yarn add straico-custom-provider
```
## Usage
```typescript
import { straico } from 'straico-custom-provider';
// Use the provider with a specific model
const model = straico('anthropic/claude-3-haiku:beta', {
fileUrls: ['https://example.com/file.csv'],
youtubeUrls: ['https://www.youtube.com/watch?v=example'],
});
// Generate a completion
const result = await model.doGenerate([
{ type: 'text', text: 'What key terms from the file also appear in the YouTube video?' }
], {});
console.log(result);
```
## Configuration
You can configure the provider by creating a custom instance:
```typescript
import { createStraicioProvider } from 'straico-custom-provider';
const customStraico = createStraicioProvider({
apiKey: 'your-api-key', // Or set STRAICO_API_KEY environment variable
baseURL: 'https://your-proxy.com/v1', // Custom API endpoint
headers: {
'X-Custom-Header': 'value'
}
});
```
## Environment Variables
- `STRAICO_API_KEY`: Your Straico API key
## Integration with Next.js
See [examples/integration-example.md](examples/integration-example.md) for a complete example of integrating with Next.js and the Vercel AI SDK.
## About Straico
Straico is an API that allows you to:
- Process prompts with multiple models simultaneously
- Work with files and YouTube videos
- Get detailed usage and pricing information
### Example Request Format
```javascript
const data = {
"models": [
"anthropic/claude-3-haiku:beta",
"openai/gpt-3.5-turbo-0125"
],
"message": "Which key terms from the 100-word space document also appear in the YouTube video about the universe?",
"file_urls": [
"https://prompt-rack.s3.amazonaws.com/api/1721329178731_space_words.csv"
],
"youtube_urls": [
"https://www.youtube.com/watch?v=zORUUqJd81M"
]
};
```
## Development Notes
We've created two implementations:
1. **Original Implementation** - Following the Vercel AI SDK provider patterns, but encountering issues with the latest version of @ai-sdk/provider
2. **Simplified Implementation** - A standalone implementation that doesn't depend on @ai-sdk/provider
We recommend using the simplified implementation, which is exported as the default from this package.
## Development
```bash
# Install dependencies
yarn install
# Build the package
yarn build
# Run in watch mode during development
yarn dev
```
## License
MIT