@activepieces/piece-azure-openai 0.0.1 → 0.0.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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@activepieces/piece-azure-openai",
3
- "version": "0.0.1",
3
+ "version": "0.0.3",
4
4
  "dependencies": {
5
5
  "@azure/openai": "1.0.0-beta.11",
6
6
  "@sinclair/typebox": "0.26.8",
@@ -11,8 +11,8 @@
11
11
  "nanoid": "3.3.6",
12
12
  "semver": "7.6.0",
13
13
  "tiktoken": "1.0.11",
14
- "@activepieces/pieces-framework": "0.7.19",
15
- "@activepieces/shared": "0.10.82",
14
+ "@activepieces/pieces-framework": "0.7.23",
15
+ "@activepieces/shared": "0.10.92",
16
16
  "tslib": "1.14.1"
17
17
  },
18
18
  "main": "./src/index.js",
package/src/index.js CHANGED
@@ -8,7 +8,7 @@ exports.azureOpenaiAuth = pieces_framework_1.PieceAuth.CustomAuth({
8
8
  endpoint: pieces_framework_1.Property.ShortText({
9
9
  displayName: 'Endpoint',
10
10
  description: 'https://<resource name>.openai.azure.com/',
11
- required: true
11
+ required: true,
12
12
  }),
13
13
  apiKey: pieces_framework_1.PieceAuth.SecretText({
14
14
  displayName: 'API Key',
@@ -20,13 +20,12 @@ exports.azureOpenaiAuth = pieces_framework_1.PieceAuth.CustomAuth({
20
20
  });
21
21
  exports.azureOpenai = (0, pieces_framework_1.createPiece)({
22
22
  displayName: 'Azure OpenAI',
23
+ description: 'Powerful AI tools from Microsoft',
23
24
  auth: exports.azureOpenaiAuth,
24
25
  minimumSupportedRelease: '0.9.0',
25
26
  logoUrl: 'https://cdn.activepieces.com/pieces/azure-openai.png',
26
27
  authors: ['MoShizzle'],
27
- actions: [
28
- ask_gpt_1.askGpt,
29
- ],
28
+ actions: [ask_gpt_1.askGpt],
30
29
  triggers: [],
31
30
  });
32
31
  //# sourceMappingURL=index.js.map
package/src/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/pieces/community/azure-openai/src/index.ts"],"names":[],"mappings":";;;AAAA,qEAIwC;AACxC,mDAA+C;AAElC,QAAA,eAAe,GAAG,4BAAS,CAAC,UAAU,CAAC;IAClD,KAAK,EAAE;QACL,QAAQ,EAAE,2BAAQ,CAAC,SAAS,CAAC;YACzB,WAAW,EAAE,UAAU;YACvB,WAAW,EAAE,2CAA2C;YACxD,QAAQ,EAAE,IAAI;SACjB,CAAC;QACF,MAAM,EAAE,4BAAS,CAAC,UAAU,CAAC;YACzB,WAAW,EAAE,SAAS;YACtB,WAAW,EAAE,gFAAgF;YAC7F,QAAQ,EAAE,IAAI;SACjB,CAAC;KACH;IACD,QAAQ,EAAE,IAAI;CACf,CAAC,CAAC;AAQU,QAAA,WAAW,GAAG,IAAA,8BAAW,EAAC;IACrC,WAAW,EAAE,cAAc;IAC3B,IAAI,EAAE,uBAAe;IACrB,uBAAuB,EAAE,OAAO;IAChC,OAAO,EAAE,sDAAsD;IAC/D,OAAO,EAAE,CAAC,WAAW,CAAC;IACtB,OAAO,EAAE;QACP,gBAAM;KACP;IACD,QAAQ,EAAE,EAAE;CACb,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/pieces/community/azure-openai/src/index.ts"],"names":[],"mappings":";;;AAAA,qEAIwC;AACxC,mDAA+C;AAElC,QAAA,eAAe,GAAG,4BAAS,CAAC,UAAU,CAAC;IAClD,KAAK,EAAE;QACL,QAAQ,EAAE,2BAAQ,CAAC,SAAS,CAAC;YAC3B,WAAW,EAAE,UAAU;YACvB,WAAW,EAAE,2CAA2C;YACxD,QAAQ,EAAE,IAAI;SACf,CAAC;QACF,MAAM,EAAE,4BAAS,CAAC,UAAU,CAAC;YAC3B,WAAW,EAAE,SAAS;YACtB,WAAW,EACT,gFAAgF;YAClF,QAAQ,EAAE,IAAI;SACf,CAAC;KACH;IACD,QAAQ,EAAE,IAAI;CACf,CAAC,CAAC;AAQU,QAAA,WAAW,GAAG,IAAA,8BAAW,EAAC;IACrC,WAAW,EAAE,cAAc;IAC3B,WAAW,EAAE,kCAAkC;IAE/C,IAAI,EAAE,uBAAe;IACrB,uBAAuB,EAAE,OAAO;IAChC,OAAO,EAAE,sDAAsD;IAC/D,OAAO,EAAE,CAAC,WAAW,CAAC;IACtB,OAAO,EAAE,CAAC,gBAAM,CAAC;IACjB,QAAQ,EAAE,EAAE;CACb,CAAC,CAAC"}
@@ -7,5 +7,5 @@ export declare const askGpt: import("@activepieces/pieces-framework").IAction<im
7
7
  frequencyPenalty: import("@activepieces/pieces-framework").NumberProperty<false>;
8
8
  presencePenalty: import("@activepieces/pieces-framework").NumberProperty<false>;
9
9
  memoryKey: import("@activepieces/pieces-framework").ShortTextProperty<false>;
10
- roles: import("@activepieces/pieces-framework").ArrayProperty<false>;
10
+ roles: import("../../../../../../../dist/packages/pieces/community/framework/src/lib/property/input/json-property").JsonProperty<false>;
11
11
  }>;
@@ -11,9 +11,8 @@ exports.askGpt = (0, pieces_framework_1.createAction)({
11
11
  description: 'Ask ChatGPT anything you want!',
12
12
  props: {
13
13
  deploymentId: pieces_framework_1.Property.ShortText({
14
- displayName: 'Deployment ID',
15
- description: 'The ID of your model deployment or model to use.',
16
- defaultValue: 'gpt-3.5-turbo',
14
+ displayName: 'Deployment Name',
15
+ description: 'The name of your model deployment.',
17
16
  required: true,
18
17
  }),
19
18
  prompt: pieces_framework_1.Property.LongText({
@@ -56,15 +55,17 @@ exports.askGpt = (0, pieces_framework_1.createAction)({
56
55
  description: 'A memory key that will keep the chat history shared across runs and flows. Keep it empty to leave ChatGPT without memory of previous messages.',
57
56
  required: false,
58
57
  }),
59
- roles: pieces_framework_1.Property.Array({
58
+ roles: pieces_framework_1.Property.Json({
60
59
  displayName: 'Roles',
61
60
  required: false,
62
61
  description: 'Array of roles to specify more accurate response',
63
- defaultValue: ['You are a helpful assistant.'],
62
+ defaultValue: [
63
+ { role: 'system', content: 'You are a helpful assistant.' },
64
+ ],
64
65
  }),
65
66
  },
66
67
  run(context) {
67
- var _a;
68
+ var _a, _b;
68
69
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
69
70
  const { propsValue, store } = context;
70
71
  const auth = context.auth;
@@ -75,17 +76,30 @@ exports.askGpt = (0, pieces_framework_1.createAction)({
75
76
  messageHistory = (_a = (yield store.get(propsValue.memoryKey, pieces_framework_1.StoreScope.PROJECT))) !== null && _a !== void 0 ? _a : [];
76
77
  }
77
78
  // Add user prompt to message history
78
- messageHistory.push(propsValue.prompt);
79
+ messageHistory.push({
80
+ role: 'user',
81
+ content: propsValue.prompt,
82
+ });
79
83
  // Add system instructions if set by user
80
- const roles = propsValue.roles ? propsValue.roles : [];
81
- const completion = yield openai.getCompletions(propsValue.deploymentId, [...roles, ...messageHistory], {
84
+ const rolesArray = propsValue.roles ? propsValue.roles : [];
85
+ const roles = rolesArray.map((item) => {
86
+ const rolesEnum = ['system', 'user', 'assistant'];
87
+ if (!rolesEnum.includes(item.role)) {
88
+ throw new Error('The only available roles are: [system, user, assistant]');
89
+ }
90
+ return {
91
+ role: item.role,
92
+ content: item.content,
93
+ };
94
+ });
95
+ const completion = yield openai.getChatCompletions(propsValue.deploymentId, [...roles, ...messageHistory], {
82
96
  maxTokens: propsValue.maxTokens,
83
97
  temperature: propsValue.temperature,
84
98
  frequencyPenalty: propsValue.frequencyPenalty,
85
99
  presencePenalty: propsValue.presencePenalty,
86
100
  topP: propsValue.topP,
87
101
  });
88
- const responseText = completion.choices[0].text;
102
+ const responseText = (_b = completion.choices[0].message) === null || _b === void 0 ? void 0 : _b.content;
89
103
  // Add response to message history
90
104
  messageHistory = [...messageHistory, responseText];
91
105
  // Check message history token size
@@ -99,7 +113,7 @@ exports.askGpt = (0, pieces_framework_1.createAction)({
99
113
  // Store history
100
114
  yield store.put(propsValue.memoryKey, messageHistory, pieces_framework_1.StoreScope.PROJECT);
101
115
  }
102
- return completion.choices[0].text;
116
+ return responseText;
103
117
  });
104
118
  },
105
119
  });
@@ -1 +1 @@
1
- {"version":3,"file":"ask-gpt.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/community/azure-openai/src/lib/actions/ask-gpt.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ask-gpt.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/community/azure-openai/src/lib/actions/ask-gpt.ts"],"names":[],"mappings":";;;;AACA,qEAKwC;AACxC,0CAAiE;AACjE,sCAA+F;AAElF,QAAA,MAAM,GAAG,IAAA,+BAAY,EAAC;IAC/B,IAAI,EAAE,SAAS;IACf,WAAW,EAAE,SAAS;IACtB,WAAW,EAAE,gCAAgC;IAC7C,KAAK,EAAE;QACH,YAAY,EAAE,2BAAQ,CAAC,SAAS,CAAC;YAC7B,WAAW,EAAE,iBAAiB;YAC9B,WAAW,EAAE,oCAAoC;YACjD,QAAQ,EAAE,IAAI;SACjB,CAAC;QACF,MAAM,EAAE,2BAAQ,CAAC,QAAQ,CAAC;YACtB,WAAW,EAAE,UAAU;YACvB,QAAQ,EAAE,IAAI;SACjB,CAAC;QACF,WAAW,EAAE,2BAAQ,CAAC,MAAM,CAAC;YACzB,WAAW,EAAE,aAAa;YAC1B,QAAQ,EAAE,KAAK;YACf,WAAW,EACP,2JAA2J;YAC/J,UAAU,EAAE,CAAC,6BAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,6BAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YAC9D,YAAY,EAAE,GAAG;SACpB,CAAC;QACF,SAAS,EAAE,2BAAQ,CAAC,MAAM,CAAC;YACvB,WAAW,EAAE,gBAAgB;YAC7B,QAAQ,EAAE,IAAI;YACd,WAAW,EACP,qRAAqR;YACzR,YAAY,EAAE,IAAI;SACrB,CAAC;QACF,IAAI,EAAE,2BAAQ,CAAC,MAAM,CAAC;YAClB,WAAW,EAAE,OAAO;YACpB,QAAQ,EAAE,KAAK;YACf,WAAW,EACP,6OAA6O;YACjP,YAAY,EAAE,CAAC;SAClB,CAAC;QACF,gBAAgB,EAAE,2BAAQ,CAAC,MAAM,CAAC;YAC9B,WAAW,EAAE,mBAAmB;YAChC,QAAQ,EAAE,KAAK;YACf,WAAW,EACP,4LAA4L;YAChM,YAAY,EAAE,CAAC;SAClB,CAAC;QACF,eAAe,EAAE,2BAAQ,CAAC,MAAM,CAAC;YAC7B,WAAW,EAAE,kBAAkB;YAC/B,QAAQ,EAAE,KAAK;YACf,WAAW,EACP,8KAA8K;YAClL,YAAY,EAAE,GAAG;SACpB,CAAC;QACF,SAAS,EAAE,2BAAQ,CAAC,SAAS,CAAC;YAC1B,WAAW,EAAE,YAAY;YACzB,WAAW,EACP,gJAAgJ;YACpJ,QAAQ,EAAE,KAAK;SAClB,CAAC;QACF,KAAK,EAAE,2BAAQ,CAAC,IAAI,CAAC;YACjB,WAAW,EAAE,OAAO;YACpB,QAAQ,EAAE,KAAK;YACf,WAAW,EAAE,kDAAkD;YAC/D,YAAY,EAAE;gBACV,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,8BAA8B,EAAE;aAC9D;SACJ,CAAC;KACL;IAEK,GAAG,CAAC,OAAO;;;YACb,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC;YACtC,MAAM,IAAI,GAAoB,OAAO,CAAC,IAAuB,CAAC;YAE9D,MAAM,MAAM,GAAG,IAAI,qBAAY,CAC3B,IAAI,CAAC,QAAQ,EACb,IAAI,2BAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,CACtC,CAAC;YAEF,IAAI,cAAc,GAAiB,EAAE,CAAC;YACtC,4DAA4D;YAC5D,IAAI,UAAU,CAAC,SAAS,EAAE;gBACtB,cAAc,GAAG,MAAA,CAAC,MAAM,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,SAAS,EAAE,6BAAU,CAAC,OAAO,CAAC,CAAC,mCAAI,EAAE,CAAC;aACtF;YAED,qCAAqC;YACrC,cAAc,CAAC,IAAI,CAAC;gBAChB,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE,UAAU,CAAC,MAAM;aAC7B,CAAC,CAAC;YAEH,yCAAyC;YACzC,MAAM,UAAU,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAE,UAAU,CAAC,KAAa,CAAC,CAAC,CAAC,EAAE,CAAC;YACrE,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,IAAS,EAAE,EAAE;gBACvC,MAAM,SAAS,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;gBAClD,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;oBAChC,MAAM,IAAI,KAAK,CACX,yDAAyD,CAC5D,CAAC;iBACL;gBAED,OAAO;oBACH,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,OAAO,EAAE,IAAI,CAAC,OAAO;iBACxB,CAAC;YACN,CAAC,CAAC,CAAC;YAEH,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC,GAAG,KAAK,EAAE,GAAG,cAAc,CAAC,EAAE;gBACvG,SAAS,EAAE,UAAU,CAAC,SAAS;gBAC/B,WAAW,EAAE,UAAU,CAAC,WAAW;gBACnC,gBAAgB,EAAE,UAAU,CAAC,gBAAgB;gBAC7C,eAAe,EAAE,UAAU,CAAC,eAAe;gBAC3C,IAAI,EAAE,UAAU,CAAC,IAAI;aACxB,CAAC,CAAC;YAEH,MAAM,YAAY,GAAG,MAAA,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,0CAAE,OAAO,CAAC;YAE5D,kCAAkC;YAClC,cAAc,GAAG,CAAC,GAAG,cAAc,EAAE,YAAY,CAAC,CAAC;YAEnD,mCAAmC;YACnC,qFAAqF;YACrF,MAAM,WAAW,GAAG,MAAM,IAAA,mCAA0B,EAAC,cAAc,EAAE,EAAE,CAAC,CAAC;YACzE,IAAI,UAAU,CAAC,SAAS,EAAE;gBACtB,iGAAiG;gBACjG,IAAI,IAAA,4BAAmB,EAAC,WAAW,EAAE,EAAE,EAAE,UAAU,CAAC,SAAS,CAAC,EAAE;oBAC5D,cAAc,GAAG,MAAM,IAAA,0BAAiB,EACpC,cAAc,EACd,EAAE,EACF,UAAU,CAAC,SAAS,CACvB,CAAC;iBACL;gBACD,gBAAgB;gBAChB,MAAM,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,SAAS,EAAE,cAAc,EAAE,6BAAU,CAAC,OAAO,CAAC,CAAC;aAC7E;YAED,OAAO,YAAY,CAAC;;KACvB;CACJ,CAAC,CAAC"}