You're Invited:Meet the Socket Team at BlackHat and DEF CON in Las Vegas, Aug 4-6.RSVP
Socket
Book a DemoInstallSign in
Socket

@ai-sdk/openai-compatible

Package Overview
Dependencies
Maintainers
0
Versions
93
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@ai-sdk/openai-compatible - npm Package Compare versions

Comparing version

to
0.0.14

11

CHANGELOG.md
# @ai-sdk/openai-compatible
## 0.0.14
### Patch Changes
- 43b37f7: feat (provider/openai-compatible): Add 'apiKey' option for concise direct use.
- Updated dependencies [19a2ce7]
- Updated dependencies [19a2ce7]
- Updated dependencies [6337688]
- @ai-sdk/provider@1.0.4
- @ai-sdk/provider-utils@2.0.6
## 0.0.13

@@ -4,0 +15,0 @@

17

dist/index.d.ts

@@ -76,16 +76,23 @@ import { ProviderV1, LanguageModelV1, EmbeddingModelV1, LanguageModelV1ObjectGenerationMode } from '@ai-sdk/provider';

/**
Base URL for the API calls.
Base URL for the API calls.
*/
baseURL?: string;
/**
Custom headers to include in the requests.
API key for authenticating requests. If specified, adds an `Authorization`
header to request headers with the value `Bearer <apiKey>`. This will be added
before any headers potentially specified in the `headers` option.
*/
apiKey?: string;
/**
Optional custom headers to include in requests. These will be added to request headers
after any headers potentially added by use of the `apiKey` option.
*/
headers?: Record<string, string>;
/**
Custom fetch implementation. You can use it as a middleware to intercept requests,
or to provide a custom fetch implementation for e.g. testing.
Custom fetch implementation. You can use it as a middleware to intercept requests,
or to provide a custom fetch implementation for e.g. testing.
*/
fetch?: FetchFunction;
/**
Provider name.
Provider name.
*/

@@ -92,0 +99,0 @@ name?: string;

@@ -1127,9 +1127,10 @@ "use strict";

const providerName = options.name;
const getHeaders = () => ({
...options.apiKey && { Authorization: `Bearer ${options.apiKey}` },
...options.headers
});
const getCommonModelConfig = (modelType) => ({
provider: `${providerName}.${modelType}`,
url: ({ path }) => `${baseURL}${path}`,
headers: () => {
var _a;
return (_a = options.headers) != null ? _a : {};
},
headers: getHeaders,
fetch: options.fetch

@@ -1136,0 +1137,0 @@ });

{
"name": "@ai-sdk/openai-compatible",
"version": "0.0.13",
"version": "0.0.14",
"license": "Apache-2.0",

@@ -29,4 +29,4 @@ "sideEffects": false,

"dependencies": {
"@ai-sdk/provider": "1.0.3",
"@ai-sdk/provider-utils": "2.0.5"
"@ai-sdk/provider": "1.0.4",
"@ai-sdk/provider-utils": "2.0.6"
},

@@ -33,0 +33,0 @@ "devDependencies": {

@@ -33,2 +33,20 @@ # AI SDK - OpenAI Compatible Provider

name: 'example',
apiKey: process.env.MY_API_KEY,
}).chatModel('meta-llama/Llama-3-70b-chat-hf'),
prompt: 'Write a vegetarian lasagna recipe for 4 people.',
});
```
### Customizing headers
You can further customize headers if desired. For example, here is an alternate implementation to pass along api key authentication:
```ts
import { createOpenAICompatible } from '@ai-sdk/openai-compatible';
import { generateText } from 'ai';
const { text } = await generateText({
model: createOpenAICompatible({
baseURL: 'https://api.example.com/v1',
name: 'example',
headers: {

@@ -70,5 +88,3 @@ Authorization: `Bearer ${process.env.MY_API_KEY}`,

name: 'example',
headers: {
Authorization: `Bearer ${process.env.MY_API_KEY}`,
},
apiKey: process.env.MY_API_KEY,
});

@@ -75,0 +91,0 @@

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet