nscale-ai-provider
v0.1.2
Published
> the project is under active development, for now only text models are supported.
Maintainers
Readme
AI SDK - nscale Provider
the project is under active development, for now only text models are supported.
The Nscale provider for the AI SDK contains language model support for the Nscale Serverless Inference Models.
Setup
The Nscale provider is available in the nscale-ai-provider module. You can install it with
npm i nscale-ai-providerProvider Instance
You can import the default provider instance nscale from nscale-ai-provider:
import { nscale } from 'nscale-ai-provider'Example
import { generateText } from 'ai'
import { nscale } from 'nscale-ai-provider'
const { text } = await generateText({
model: nscale('openai/gpt-oss-20b'),
prompt: 'Write a vegetarian lasagna recipe for 4 people.',
})For this to work you need the NSCALE_API_KEY environment variable set with your Nscale Service Token.
Alternatively create a instance of the provider:
import { generateText } from 'ai'
import { createNscale } from 'nscale-ai-provider'
const nscale = createNscale({
apiKey: '<API_KEY>', // Nscale Service Token
})
const { text } = await generateText({
model: nscale('openai/gpt-oss-20b'),
prompt: 'Write a vegetarian lasagna recipe for 4 people.',
})Nscale Client Hook
To get data about the Nscale models, you can use the useNscaleModels hook:
import type { NscaleModel } from 'nscale-ai-provider/client'
import { useNscaleModels } from 'nscale-ai-provider/client'
interface ModelSelectProps {
selectedModelId?: string
onChange: (modelId: string) => void
}
function ChatModelSelect({ selectedModelId, onChange }: ModelSelectProps) {
const { models } = useNscaleModels()
if (!models || models.length === 0) {
return <select disabled><option>No models available</option></select>
}
return (
<select
value={selectedModelId}
onChange={e => onChange(e.target.value)}
>
<option value="">Select a model...</option>
{models.map(model => (
<option key={model.id} value={model.id}>
{model.name}
</option>
))}
</select>
)
}You can get models from the hook.
Interface
interface NscaleModel {
id: string,
contextLength: number,
name: string,
}
function useNscaleModels(): {
models: NscaleModel[]
}Documentation
Please check out the ai-sdk documentation for more information.
