@stratix/ai-openai 0.6.1 → 0.6.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/dist/OpenAIProvider.d.ts
CHANGED
|
@@ -3,9 +3,9 @@ import type { TokenUsage } from '@stratix/core';
|
|
|
3
3
|
/**
|
|
4
4
|
* OpenAI provider implementation for Stratix AI Agents.
|
|
5
5
|
*
|
|
6
|
-
* Supports GPT-4, GPT-3.5, and embeddings models with function calling.
|
|
6
|
+
* Supports GPT-4, GPT-3.5, and embeddings models with function calling and streaming.
|
|
7
7
|
*
|
|
8
|
-
* @example
|
|
8
|
+
* @example Basic chat
|
|
9
9
|
* ```typescript
|
|
10
10
|
* const provider = new OpenAIProvider({
|
|
11
11
|
* apiKey: process.env.OPENAI_API_KEY!,
|
|
@@ -20,6 +20,41 @@ import type { TokenUsage } from '@stratix/core';
|
|
|
20
20
|
* temperature: 0.7
|
|
21
21
|
* });
|
|
22
22
|
* ```
|
|
23
|
+
*
|
|
24
|
+
* @example Streaming
|
|
25
|
+
* ```typescript
|
|
26
|
+
* for await (const chunk of provider.streamChat({
|
|
27
|
+
* model: 'gpt-4',
|
|
28
|
+
* messages: [{ role: 'user', content: 'Write a story', timestamp: new Date() }]
|
|
29
|
+
* })) {
|
|
30
|
+
* process.stdout.write(chunk.content);
|
|
31
|
+
* }
|
|
32
|
+
* ```
|
|
33
|
+
*
|
|
34
|
+
* @example Function calling
|
|
35
|
+
* ```typescript
|
|
36
|
+
* const response = await provider.chat({
|
|
37
|
+
* model: 'gpt-4',
|
|
38
|
+
* messages: [{ role: 'user', content: 'What is the weather?', timestamp: new Date() }],
|
|
39
|
+
* tools: [{
|
|
40
|
+
* name: 'getWeather',
|
|
41
|
+
* description: 'Get weather for a location',
|
|
42
|
+
* parameters: {
|
|
43
|
+
* type: 'object',
|
|
44
|
+
* properties: { city: { type: 'string' } }
|
|
45
|
+
* }
|
|
46
|
+
* }]
|
|
47
|
+
* });
|
|
48
|
+
* ```
|
|
49
|
+
*
|
|
50
|
+
* @example Embeddings
|
|
51
|
+
* ```typescript
|
|
52
|
+
* const result = await provider.embeddings({
|
|
53
|
+
* model: 'text-embedding-3-small',
|
|
54
|
+
* input: ['Hello world', 'Another text']
|
|
55
|
+
* });
|
|
56
|
+
* console.log(result.embeddings.length);
|
|
57
|
+
* ```
|
|
23
58
|
*/
|
|
24
59
|
export declare class OpenAIProvider implements LLMProvider {
|
|
25
60
|
readonly name = "openai";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OpenAIProvider.d.ts","sourceRoot":"","sources":["../src/OpenAIProvider.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,WAAW,EACX,UAAU,EACV,YAAY,EACZ,SAAS,EACT,eAAe,EACf,iBAAiB,EAClB,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAgB,UAAU,EAAY,MAAM,eAAe,CAAC;AAoBxE
|
|
1
|
+
{"version":3,"file":"OpenAIProvider.d.ts","sourceRoot":"","sources":["../src/OpenAIProvider.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,WAAW,EACX,UAAU,EACV,YAAY,EACZ,SAAS,EACT,eAAe,EACf,iBAAiB,EAClB,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAgB,UAAU,EAAY,MAAM,eAAe,CAAC;AAoBxE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuDG;AACH,qBAAa,cAAe,YAAW,WAAW;IAChD,QAAQ,CAAC,IAAI,YAAY;IACzB,QAAQ,CAAC,MAAM,WAQb;IAEF,OAAO,CAAC,MAAM,CAAS;gBAEX,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE;IAQzE,IAAI,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,YAAY,CAAC;IAuC9C,UAAU,CAAC,MAAM,EAAE,UAAU,GAAG,aAAa,CAAC,SAAS,CAAC;IAuBzD,UAAU,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAoBrE;;;;;;OAMG;IACH,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,GAAG,MAAM;IAavD,OAAO,CAAC,eAAe;IASvB,OAAO,CAAC,YAAY;IAapB,OAAO,CAAC,qBAAqB;IA2B7B,OAAO,CAAC,gBAAgB;IAUxB,OAAO,CAAC,eAAe;CAgBxB"}
|
package/dist/OpenAIProvider.js
CHANGED
|
@@ -19,9 +19,9 @@ const MODEL_PRICING = {
|
|
|
19
19
|
/**
|
|
20
20
|
* OpenAI provider implementation for Stratix AI Agents.
|
|
21
21
|
*
|
|
22
|
-
* Supports GPT-4, GPT-3.5, and embeddings models with function calling.
|
|
22
|
+
* Supports GPT-4, GPT-3.5, and embeddings models with function calling and streaming.
|
|
23
23
|
*
|
|
24
|
-
* @example
|
|
24
|
+
* @example Basic chat
|
|
25
25
|
* ```typescript
|
|
26
26
|
* const provider = new OpenAIProvider({
|
|
27
27
|
* apiKey: process.env.OPENAI_API_KEY!,
|
|
@@ -36,6 +36,41 @@ const MODEL_PRICING = {
|
|
|
36
36
|
* temperature: 0.7
|
|
37
37
|
* });
|
|
38
38
|
* ```
|
|
39
|
+
*
|
|
40
|
+
* @example Streaming
|
|
41
|
+
* ```typescript
|
|
42
|
+
* for await (const chunk of provider.streamChat({
|
|
43
|
+
* model: 'gpt-4',
|
|
44
|
+
* messages: [{ role: 'user', content: 'Write a story', timestamp: new Date() }]
|
|
45
|
+
* })) {
|
|
46
|
+
* process.stdout.write(chunk.content);
|
|
47
|
+
* }
|
|
48
|
+
* ```
|
|
49
|
+
*
|
|
50
|
+
* @example Function calling
|
|
51
|
+
* ```typescript
|
|
52
|
+
* const response = await provider.chat({
|
|
53
|
+
* model: 'gpt-4',
|
|
54
|
+
* messages: [{ role: 'user', content: 'What is the weather?', timestamp: new Date() }],
|
|
55
|
+
* tools: [{
|
|
56
|
+
* name: 'getWeather',
|
|
57
|
+
* description: 'Get weather for a location',
|
|
58
|
+
* parameters: {
|
|
59
|
+
* type: 'object',
|
|
60
|
+
* properties: { city: { type: 'string' } }
|
|
61
|
+
* }
|
|
62
|
+
* }]
|
|
63
|
+
* });
|
|
64
|
+
* ```
|
|
65
|
+
*
|
|
66
|
+
* @example Embeddings
|
|
67
|
+
* ```typescript
|
|
68
|
+
* const result = await provider.embeddings({
|
|
69
|
+
* model: 'text-embedding-3-small',
|
|
70
|
+
* input: ['Hello world', 'Another text']
|
|
71
|
+
* });
|
|
72
|
+
* console.log(result.embeddings.length);
|
|
73
|
+
* ```
|
|
39
74
|
*/
|
|
40
75
|
export class OpenAIProvider {
|
|
41
76
|
name = 'openai';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OpenAIProvider.js","sourceRoot":"","sources":["../src/OpenAIProvider.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAW5B;;;;GAIG;AACH,MAAM,aAAa,GAAG;IACpB,QAAQ,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE;IACtC,aAAa,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE;IAC1C,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;IACtC,aAAa,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;IAC5C,qBAAqB,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;IACpD,eAAe,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE;IAC5C,mBAAmB,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE;IAChD,wBAAwB,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE;IACpD,wBAAwB,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE;IACpD,wBAAwB,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE;CACpD,CAAC;AAEF
|
|
1
|
+
{"version":3,"file":"OpenAIProvider.js","sourceRoot":"","sources":["../src/OpenAIProvider.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@stratix/ai-openai",
|
|
3
|
-
"version": "0.6.
|
|
3
|
+
"version": "0.6.3",
|
|
4
4
|
"description": "Stratix AI Agents - OpenAI Provider",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -40,7 +40,7 @@
|
|
|
40
40
|
},
|
|
41
41
|
"dependencies": {
|
|
42
42
|
"openai": "^4.75.0",
|
|
43
|
-
"@stratix/core": "workspace
|
|
43
|
+
"@stratix/core": "workspace:^"
|
|
44
44
|
},
|
|
45
45
|
"devDependencies": {
|
|
46
46
|
"@types/node": "^20.0.0",
|