@things-factory/integration-openai 10.0.0-beta.7 → 10.0.0-beta.72
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.
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const integration_base_1 = require("@things-factory/integration-base");
|
|
4
|
-
const
|
|
4
|
+
const ai_client_base_1 = require("@things-factory/ai-client-base");
|
|
5
|
+
const SYSTEM_PROMPT = 'You are an assistant that generates detailed information in response to user requests, providing pure and direct data with no additional explanations or details.';
|
|
5
6
|
async function OpenAICompletion(step, context) {
|
|
6
7
|
var { params: { prompt } } = step;
|
|
7
8
|
var { domain, user, data, variables } = context;
|
|
@@ -12,8 +13,12 @@ async function OpenAICompletion(step, context) {
|
|
|
12
13
|
catch (err) {
|
|
13
14
|
throw new Error(`Failed to evaluate prompt: ${err.message}`);
|
|
14
15
|
}
|
|
15
|
-
const
|
|
16
|
-
|
|
16
|
+
const client = (0, ai_client_base_1.getDefaultAIClient)();
|
|
17
|
+
if (!client) {
|
|
18
|
+
throw new Error('openai-completion task: no AI client configured. Set config.aiClient (provider/model/apiKey).');
|
|
19
|
+
}
|
|
20
|
+
const completion = await client.chat([{ role: 'user', content: evalPrompt }], {
|
|
21
|
+
systemPrompt: SYSTEM_PROMPT
|
|
17
22
|
});
|
|
18
23
|
return {
|
|
19
24
|
data: completion
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openai-completion.js","sourceRoot":"","sources":["../../../server/engine/task/openai-completion.ts"],"names":[],"mappings":";;AAAA,uEAAiF;AACjF,
|
|
1
|
+
{"version":3,"file":"openai-completion.js","sourceRoot":"","sources":["../../../server/engine/task/openai-completion.ts"],"names":[],"mappings":";;AAAA,uEAAiF;AACjF,mEAAmE;AAEnE,MAAM,aAAa,GACjB,mKAAmK,CAAA;AAErK,KAAK,UAAU,gBAAgB,CAAC,IAAI,EAAE,OAAO;IAC3C,IAAI,EACF,MAAM,EAAE,EAAE,MAAM,EAAE,EACnB,GAAG,IAAI,CAAA;IAER,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,OAAO,CAAA;IAE/C,IAAI,UAAU,CAAA;IACd,IAAI,CAAC;QACH,UAAU,GAAG,IAAA,mCAAgB,EAAC,MAAM,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAA;IACnF,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,8BAA8B,GAAG,CAAC,OAAO,EAAE,CAAC,CAAA;IAC9D,CAAC;IAED,MAAM,MAAM,GAAG,IAAA,mCAAkB,GAAE,CAAA;IACnC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CACb,+FAA+F,CAChG,CAAA;IACH,CAAC;IACD,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,EAAE;QAC5E,YAAY,EAAE,aAAa;KAC5B,CAAC,CAAA;IAEF,OAAO;QACL,IAAI,EAAE,UAAU;KACjB,CAAA;AACH,CAAC;AAED,gBAAgB,CAAC,aAAa,GAAG;IAC/B;QACE,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,QAAQ;QACf,QAAQ,EAAE;YACR,QAAQ,EAAE,MAAM;YAChB,eAAe,EAAE,IAAI;SACtB;QACD,MAAM,EAAE;YACN,IAAI,EAAE,GAAG;SACV;KACF;CACF,CAAA;AACD,gBAAgB,CAAC,IAAI,GAAG,oCAAoC,CAAA;AAC5D,gBAAgB,CAAC,aAAa,GAAG,IAAI,CAAA;AAErC,+BAAY,CAAC,mBAAmB,CAAC,mBAAmB,EAAE,gBAAgB,CAAC,CAAA","sourcesContent":["import { TaskRegistry, evaluateTemplate } from '@things-factory/integration-base'\nimport { getDefaultAIClient } from '@things-factory/ai-client-base'\n\nconst SYSTEM_PROMPT =\n 'You are an assistant that generates detailed information in response to user requests, providing pure and direct data with no additional explanations or details.'\n\nasync function OpenAICompletion(step, context) {\n var {\n params: { prompt }\n } = step\n\n var { domain, user, data, variables } = context\n\n let evalPrompt\n try {\n evalPrompt = evaluateTemplate(prompt, { domain, user, data, variables, console })\n } catch (err) {\n throw new Error(`Failed to evaluate prompt: ${err.message}`)\n }\n\n const client = getDefaultAIClient()\n if (!client) {\n throw new Error(\n 'openai-completion task: no AI client configured. Set config.aiClient (provider/model/apiKey).'\n )\n }\n const completion = await client.chat([{ role: 'user', content: evalPrompt }], {\n systemPrompt: SYSTEM_PROMPT\n })\n\n return {\n data: completion\n }\n}\n\nOpenAICompletion.parameterSpec = [\n {\n type: 'textarea',\n name: 'prompt',\n label: 'prompt',\n property: {\n language: 'text',\n showLineNumbers: true\n },\n styles: {\n flex: '1'\n }\n }\n]\nOpenAICompletion.help = 'integration/task/openai-completion'\nOpenAICompletion.connectorFree = true\n\nTaskRegistry.registerTaskHandler('openai-completion', OpenAICompletion)\n"]}
|