@theia/ai-huggingface 1.60.0-next.47 → 1.60.0

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,13 +1,11 @@
1
1
  import { FrontendApplicationContribution, PreferenceService } from '@theia/core/lib/browser';
2
2
  import { HuggingFaceLanguageModelsManager, HuggingFaceModelDescription } from '../common';
3
- import { RequestSetting } from '@theia/ai-core/lib/browser/ai-core-preferences';
4
3
  export declare class HuggingFaceFrontendApplicationContribution implements FrontendApplicationContribution {
5
4
  protected preferenceService: PreferenceService;
6
5
  protected manager: HuggingFaceLanguageModelsManager;
7
6
  protected prevModels: string[];
8
7
  onStart(): void;
9
8
  protected handleModelChanges(newModels: string[]): void;
10
- protected handleRequestSettingsChanges(newSettings: RequestSetting[]): void;
11
- protected createHuggingFaceModelDescription(modelId: string, requestSettings: RequestSetting[]): HuggingFaceModelDescription;
9
+ protected createHuggingFaceModelDescription(modelId: string): HuggingFaceModelDescription;
12
10
  }
13
11
  //# sourceMappingURL=huggingface-frontend-application-contribution.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"huggingface-frontend-application-contribution.d.ts","sourceRoot":"","sources":["../../src/browser/huggingface-frontend-application-contribution.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,+BAA+B,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAE7F,OAAO,EAAE,gCAAgC,EAAE,2BAA2B,EAAE,MAAM,WAAW,CAAC;AAE1F,OAAO,EAAoC,cAAc,EAAE,MAAM,gDAAgD,CAAC;AAGlH,qBACa,0CAA2C,YAAW,+BAA+B;IAG9F,SAAS,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IAG/C,SAAS,CAAC,OAAO,EAAE,gCAAgC,CAAC;IAEpD,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,CAAM;IAEpC,OAAO,IAAI,IAAI;IAsBf,SAAS,CAAC,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,IAAI;IAavD,SAAS,CAAC,4BAA4B,CAAC,WAAW,EAAE,cAAc,EAAE,GAAG,IAAI;IAK3E,SAAS,CAAC,iCAAiC,CACvC,OAAO,EAAE,MAAM,EACf,eAAe,EAAE,cAAc,EAAE,GAClC,2BAA2B;CAiBjC"}
1
+ {"version":3,"file":"huggingface-frontend-application-contribution.d.ts","sourceRoot":"","sources":["../../src/browser/huggingface-frontend-application-contribution.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,+BAA+B,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAE7F,OAAO,EAAE,gCAAgC,EAAE,2BAA2B,EAAE,MAAM,WAAW,CAAC;AAI1F,qBACa,0CAA2C,YAAW,+BAA+B;IAG9F,SAAS,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IAG/C,SAAS,CAAC,OAAO,EAAE,gCAAgC,CAAC;IAEpD,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,CAAM;IAEpC,OAAO,IAAI,IAAI;IAmBf,SAAS,CAAC,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,IAAI;IAYvD,SAAS,CAAC,iCAAiC,CACvC,OAAO,EAAE,MAAM,GAChB,2BAA2B;CAOjC"}
@@ -21,7 +21,6 @@ const browser_1 = require("@theia/core/lib/browser");
21
21
  const inversify_1 = require("@theia/core/shared/inversify");
22
22
  const common_1 = require("../common");
23
23
  const huggingface_preferences_1 = require("./huggingface-preferences");
24
- const ai_core_preferences_1 = require("@theia/ai-core/lib/browser/ai-core-preferences");
25
24
  const HUGGINGFACE_PROVIDER_ID = 'huggingface';
26
25
  let HuggingFaceFrontendApplicationContribution = class HuggingFaceFrontendApplicationContribution {
27
26
  constructor() {
@@ -32,8 +31,7 @@ let HuggingFaceFrontendApplicationContribution = class HuggingFaceFrontendApplic
32
31
  const apiKey = this.preferenceService.get(huggingface_preferences_1.API_KEY_PREF, undefined);
33
32
  this.manager.setApiKey(apiKey);
34
33
  const models = this.preferenceService.get(huggingface_preferences_1.MODELS_PREF, []);
35
- const requestSettings = this.preferenceService.get(ai_core_preferences_1.PREFERENCE_NAME_REQUEST_SETTINGS, []);
36
- this.manager.createOrUpdateLanguageModels(...models.map(modelId => this.createHuggingFaceModelDescription(modelId, requestSettings)));
34
+ this.manager.createOrUpdateLanguageModels(...models.map(modelId => this.createHuggingFaceModelDescription(modelId)));
37
35
  this.prevModels = [...models];
38
36
  this.preferenceService.onPreferenceChanged(event => {
39
37
  if (event.preferenceName === huggingface_preferences_1.API_KEY_PREF) {
@@ -42,9 +40,6 @@ let HuggingFaceFrontendApplicationContribution = class HuggingFaceFrontendApplic
42
40
  else if (event.preferenceName === huggingface_preferences_1.MODELS_PREF) {
43
41
  this.handleModelChanges(event.newValue);
44
42
  }
45
- else if (event.preferenceName === ai_core_preferences_1.PREFERENCE_NAME_REQUEST_SETTINGS) {
46
- this.handleRequestSettingsChanges(event.newValue);
47
- }
48
43
  });
49
44
  });
50
45
  }
@@ -54,25 +49,14 @@ let HuggingFaceFrontendApplicationContribution = class HuggingFaceFrontendApplic
54
49
  const modelsToRemove = [...oldModels].filter(model => !updatedModels.has(model));
55
50
  const modelsToAdd = [...updatedModels].filter(model => !oldModels.has(model));
56
51
  this.manager.removeLanguageModels(...modelsToRemove.map(model => `${HUGGINGFACE_PROVIDER_ID}/${model}`));
57
- const requestSettings = this.preferenceService.get(ai_core_preferences_1.PREFERENCE_NAME_REQUEST_SETTINGS, []);
58
- this.manager.createOrUpdateLanguageModels(...modelsToAdd.map(modelId => this.createHuggingFaceModelDescription(modelId, requestSettings)));
52
+ this.manager.createOrUpdateLanguageModels(...modelsToAdd.map(modelId => this.createHuggingFaceModelDescription(modelId)));
59
53
  this.prevModels = newModels;
60
54
  }
61
- handleRequestSettingsChanges(newSettings) {
62
- const models = this.preferenceService.get(huggingface_preferences_1.MODELS_PREF, []);
63
- this.manager.createOrUpdateLanguageModels(...models.map(modelId => this.createHuggingFaceModelDescription(modelId, newSettings)));
64
- }
65
- createHuggingFaceModelDescription(modelId, requestSettings) {
55
+ createHuggingFaceModelDescription(modelId) {
66
56
  const id = `${HUGGINGFACE_PROVIDER_ID}/${modelId}`;
67
- const matchingSettings = requestSettings.filter(setting => (!setting.providerId || setting.providerId === HUGGINGFACE_PROVIDER_ID) && setting.modelId === modelId);
68
- if (matchingSettings.length > 1) {
69
- console.warn(`Multiple entries found for modelId "${modelId}". Using the first match and ignoring the rest.`);
70
- }
71
- const modelRequestSetting = matchingSettings[0];
72
57
  return {
73
58
  id: id,
74
- model: modelId,
75
- defaultRequestSettings: modelRequestSetting === null || modelRequestSetting === void 0 ? void 0 : modelRequestSetting.requestSettings
59
+ model: modelId
76
60
  };
77
61
  }
78
62
  };
@@ -1 +1 @@
1
- {"version":3,"file":"huggingface-frontend-application-contribution.js","sourceRoot":"","sources":["../../src/browser/huggingface-frontend-application-contribution.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"huggingface-frontend-application-contribution.js","sourceRoot":"","sources":["../../src/browser/huggingface-frontend-application-contribution.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;;AAEhF,qDAA6F;AAC7F,4DAAkE;AAClE,sCAA0F;AAC1F,uEAAsE;AAEtE,MAAM,uBAAuB,GAAG,aAAa,CAAC;AAEvC,IAAM,0CAA0C,GAAhD,MAAM,0CAA0C;IAAhD;QAQO,eAAU,GAAa,EAAE,CAAC;IA0CxC,CAAC;IAxCG,OAAO;QACH,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE;YACnC,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAS,sCAAY,EAAE,SAAS,CAAC,CAAC;YAC3E,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YAE/B,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAW,qCAAW,EAAE,EAAE,CAAC,CAAC;YACrE,IAAI,CAAC,OAAO,CAAC,4BAA4B,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,iCAAiC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YACrH,IAAI,CAAC,UAAU,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC;YAE9B,IAAI,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,KAAK,CAAC,EAAE;gBAC/C,IAAI,KAAK,CAAC,cAAc,KAAK,sCAAY,EAAE,CAAC;oBACxC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;gBAC3C,CAAC;qBAAM,IAAI,KAAK,CAAC,cAAc,KAAK,qCAAW,EAAE,CAAC;oBAC9C,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,QAAoB,CAAC,CAAC;gBACxD,CAAC;YACL,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;IAES,kBAAkB,CAAC,SAAmB;QAC5C,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC3C,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC;QAEzC,MAAM,cAAc,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;QACjF,MAAM,WAAW,GAAG,CAAC,GAAG,aAAa,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;QAE9E,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,GAAG,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,uBAAuB,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC;QACzG,IAAI,CAAC,OAAO,CAAC,4BAA4B,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,iCAAiC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC1H,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;IAChC,CAAC;IAES,iCAAiC,CACvC,OAAe;QAEf,MAAM,EAAE,GAAG,GAAG,uBAAuB,IAAI,OAAO,EAAE,CAAC;QACnD,OAAO;YACH,EAAE,EAAE,EAAE;YACN,KAAK,EAAE,OAAO;SACjB,CAAC;IACN,CAAC;CACJ,CAAA;AAlDY,gGAA0C;AAGzC;IADT,IAAA,kBAAM,EAAC,2BAAiB,CAAC;;qFACqB;AAGrC;IADT,IAAA,kBAAM,EAAC,yCAAgC,CAAC;;2EACW;qDAN3C,0CAA0C;IADtD,IAAA,sBAAU,GAAE;GACA,0CAA0C,CAkDtD"}
@@ -9,12 +9,6 @@ export interface HuggingFaceModelDescription {
9
9
  * The model ID as used by the Hugging Face API.
10
10
  */
11
11
  model: string;
12
- /**
13
- * Default request settings for the Hugging Face model.
14
- */
15
- defaultRequestSettings?: {
16
- [key: string]: unknown;
17
- };
18
12
  }
19
13
  export interface HuggingFaceLanguageModelsManager {
20
14
  apiKey: string | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"huggingface-language-models-manager.d.ts","sourceRoot":"","sources":["../../src/common/huggingface-language-models-manager.ts"],"names":[],"mappings":"AAgBA,eAAO,MAAM,wCAAwC,iDAAiD,CAAC;AACvG,eAAO,MAAM,gCAAgC,eAA6C,CAAC;AAE3F,MAAM,WAAW,2BAA2B;IACxC;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IACX;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,sBAAsB,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC;CACvD;AAED,MAAM,WAAW,gCAAgC;IAC7C,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC;IACzC,4BAA4B,CAAC,GAAG,MAAM,EAAE,2BAA2B,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACtF,oBAAoB,CAAC,GAAG,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;CACrD"}
1
+ {"version":3,"file":"huggingface-language-models-manager.d.ts","sourceRoot":"","sources":["../../src/common/huggingface-language-models-manager.ts"],"names":[],"mappings":"AAgBA,eAAO,MAAM,wCAAwC,iDAAiD,CAAC;AACvG,eAAO,MAAM,gCAAgC,eAA6C,CAAC;AAE3F,MAAM,WAAW,2BAA2B;IACxC;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IACX;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,gCAAgC;IAC7C,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC;IACzC,4BAA4B,CAAC,GAAG,MAAM,EAAE,2BAA2B,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACtF,oBAAoB,CAAC,GAAG,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;CACrD"}
@@ -12,13 +12,12 @@ export declare class HuggingFaceModel implements LanguageModel {
12
12
  readonly family?: string | undefined;
13
13
  readonly maxInputTokens?: number | undefined;
14
14
  readonly maxOutputTokens?: number | undefined;
15
- defaultRequestSettings?: Record<string, unknown> | undefined;
16
15
  /**
17
16
  * @param id the unique id for this language model. It will be used to identify the model in the UI.
18
17
  * @param model the model id as it is used by the Hugging Face API
19
18
  * @param apiKey function to retrieve the API key for Hugging Face
20
19
  */
21
- constructor(id: string, model: string, apiKey: () => string | undefined, name?: string | undefined, vendor?: string | undefined, version?: string | undefined, family?: string | undefined, maxInputTokens?: number | undefined, maxOutputTokens?: number | undefined, defaultRequestSettings?: Record<string, unknown> | undefined);
20
+ constructor(id: string, model: string, apiKey: () => string | undefined, name?: string | undefined, vendor?: string | undefined, version?: string | undefined, family?: string | undefined, maxInputTokens?: number | undefined, maxOutputTokens?: number | undefined);
22
21
  request(request: LanguageModelRequest, cancellationToken?: CancellationToken): Promise<LanguageModelResponse>;
23
22
  protected getSettings(request: LanguageModelRequest): Record<string, unknown>;
24
23
  protected handleNonStreamingRequest(hfInference: HfInference, request: LanguageModelRequest): Promise<LanguageModelTextResponse>;
@@ -1 +1 @@
1
- {"version":3,"file":"huggingface-language-model.d.ts","sourceRoot":"","sources":["../../src/node/huggingface-language-model.ts"],"names":[],"mappings":"AAgBA,OAAO,EACH,aAAa,EACb,oBAAoB,EAEpB,qBAAqB,EAErB,yBAAyB,EAE5B,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAErD,eAAO,MAAM,0BAA0B,eAAuC,CAAC;AAsB/E,qBAAa,gBAAiB,YAAW,aAAa;aAQ9B,EAAE,EAAE,MAAM;IACnB,KAAK,EAAE,MAAM;IACb,MAAM,EAAE,MAAM,MAAM,GAAG,SAAS;aACvB,IAAI,CAAC;aACL,MAAM,CAAC;aACP,OAAO,CAAC;aACR,MAAM,CAAC;aACP,cAAc,CAAC;aACf,eAAe,CAAC;IACzB,sBAAsB,CAAC;IAflC;;;;OAIG;gBAEiB,EAAE,EAAE,MAAM,EACnB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,MAAM,GAAG,SAAS,EACvB,IAAI,CAAC,oBAAQ,EACb,MAAM,CAAC,oBAAQ,EACf,OAAO,CAAC,oBAAQ,EAChB,MAAM,CAAC,oBAAQ,EACf,cAAc,CAAC,oBAAQ,EACvB,eAAe,CAAC,oBAAQ,EACjC,sBAAsB,CAAC,qCAAyB;IAGrD,OAAO,CAAC,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IASnH,SAAS,CAAC,WAAW,CAAC,OAAO,EAAE,oBAAoB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;cAQ7D,yBAAyB,CAAC,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,yBAAyB,CAAC;cAyBtH,sBAAsB,CAClC,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,oBAAoB,EAC7B,iBAAiB,CAAC,EAAE,iBAAiB,GACtC,OAAO,CAAC,qBAAqB,CAAC;IAqCjC,SAAS,CAAC,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAKtD,OAAO,CAAC,qBAAqB;CAOhC"}
1
+ {"version":3,"file":"huggingface-language-model.d.ts","sourceRoot":"","sources":["../../src/node/huggingface-language-model.ts"],"names":[],"mappings":"AAgBA,OAAO,EACH,aAAa,EACb,oBAAoB,EAEpB,qBAAqB,EAErB,yBAAyB,EAE5B,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAErD,eAAO,MAAM,0BAA0B,eAAuC,CAAC;AAkC/E,qBAAa,gBAAiB,YAAW,aAAa;aAQ9B,EAAE,EAAE,MAAM;IACnB,KAAK,EAAE,MAAM;IACb,MAAM,EAAE,MAAM,MAAM,GAAG,SAAS;aACvB,IAAI,CAAC;aACL,MAAM,CAAC;aACP,OAAO,CAAC;aACR,MAAM,CAAC;aACP,cAAc,CAAC;aACf,eAAe,CAAC;IAdpC;;;;OAIG;gBAEiB,EAAE,EAAE,MAAM,EACnB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,MAAM,GAAG,SAAS,EACvB,IAAI,CAAC,oBAAQ,EACb,MAAM,CAAC,oBAAQ,EACf,OAAO,CAAC,oBAAQ,EAChB,MAAM,CAAC,oBAAQ,EACf,cAAc,CAAC,oBAAQ,EACvB,eAAe,CAAC,oBAAQ;IAGtC,OAAO,CAAC,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IASnH,SAAS,CAAC,WAAW,CAAC,OAAO,EAAE,oBAAoB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;cAI7D,yBAAyB,CAAC,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,yBAAyB,CAAC;cAyBtH,sBAAsB,CAClC,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,oBAAoB,EAC7B,iBAAiB,CAAC,EAAE,iBAAiB,GACtC,OAAO,CAAC,qBAAqB,CAAC;IAqCjC,SAAS,CAAC,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAKtD,OAAO,CAAC,qBAAqB;CAOhC"}
@@ -16,13 +16,27 @@
16
16
  // *****************************************************************************
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
18
  exports.HuggingFaceModel = exports.HuggingFaceModelIdentifier = void 0;
19
+ const ai_core_1 = require("@theia/ai-core");
19
20
  const inference_1 = require("@huggingface/inference");
20
21
  exports.HuggingFaceModelIdentifier = Symbol('HuggingFaceModelIdentifier');
22
+ const createMessageContent = (message) => {
23
+ if (ai_core_1.LanguageModelMessage.isTextMessage(message)) {
24
+ return message.text;
25
+ }
26
+ return undefined;
27
+ };
21
28
  function toHuggingFacePrompt(messages) {
22
29
  if (messages.length === 1) {
23
- return messages[0].query;
30
+ const message = messages[0];
31
+ return (ai_core_1.LanguageModelMessage.isTextMessage(message) && message.text) || '';
24
32
  }
25
- return messages.map(message => `${toRoleLabel(message.actor)}: ${message.query}`).join('\n');
33
+ return messages.map(message => {
34
+ const messageContent = createMessageContent(message);
35
+ if (messageContent === undefined) {
36
+ return undefined;
37
+ }
38
+ return `${toRoleLabel(message.actor)}: ${messageContent}`;
39
+ }).filter(m => m !== undefined).join('\n');
26
40
  }
27
41
  function toRoleLabel(actor) {
28
42
  switch (actor) {
@@ -42,7 +56,7 @@ class HuggingFaceModel {
42
56
  * @param model the model id as it is used by the Hugging Face API
43
57
  * @param apiKey function to retrieve the API key for Hugging Face
44
58
  */
45
- constructor(id, model, apiKey, name, vendor, version, family, maxInputTokens, maxOutputTokens, defaultRequestSettings) {
59
+ constructor(id, model, apiKey, name, vendor, version, family, maxInputTokens, maxOutputTokens) {
46
60
  this.id = id;
47
61
  this.model = model;
48
62
  this.apiKey = apiKey;
@@ -52,7 +66,6 @@ class HuggingFaceModel {
52
66
  this.family = family;
53
67
  this.maxInputTokens = maxInputTokens;
54
68
  this.maxOutputTokens = maxOutputTokens;
55
- this.defaultRequestSettings = defaultRequestSettings;
56
69
  }
57
70
  async request(request, cancellationToken) {
58
71
  const hfInference = this.initializeHfInference();
@@ -64,11 +77,8 @@ class HuggingFaceModel {
64
77
  }
65
78
  }
66
79
  getSettings(request) {
67
- const settings = request.settings ? request.settings : this.defaultRequestSettings;
68
- if (!settings) {
69
- return {};
70
- }
71
- return settings;
80
+ var _a;
81
+ return (_a = request.settings) !== null && _a !== void 0 ? _a : {};
72
82
  }
73
83
  async handleNonStreamingRequest(hfInference, request) {
74
84
  const settings = this.getSettings(request);
@@ -1 +1 @@
1
- {"version":3,"file":"huggingface-language-model.js","sourceRoot":"","sources":["../../src/node/huggingface-language-model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"huggingface-language-model.js","sourceRoot":"","sources":["../../src/node/huggingface-language-model.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"huggingface-language-models-manager-impl.d.ts","sourceRoot":"","sources":["../../src/node/huggingface-language-models-manager-impl.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAGvD,OAAO,EAAE,gCAAgC,EAAE,2BAA2B,EAAE,MAAM,WAAW,CAAC;AAE1F,qBACa,oCAAqC,YAAW,gCAAgC;IAEzF,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAGtC,SAAS,CAAC,QAAQ,CAAC,qBAAqB,EAAE,qBAAqB,CAAC;IAEhE,IAAI,MAAM,IAAI,MAAM,GAAG,SAAS,CAE/B;IAEK,4BAA4B,CAAC,GAAG,iBAAiB,EAAE,2BAA2B,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAgCtG,oBAAoB,CAAC,GAAG,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI;IAIjD,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;CAG9C"}
1
+ {"version":3,"file":"huggingface-language-models-manager-impl.d.ts","sourceRoot":"","sources":["../../src/node/huggingface-language-models-manager-impl.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAGvD,OAAO,EAAE,gCAAgC,EAAE,2BAA2B,EAAE,MAAM,WAAW,CAAC;AAE1F,qBACa,oCAAqC,YAAW,gCAAgC;IAEzF,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAGtC,SAAS,CAAC,QAAQ,CAAC,qBAAqB,EAAE,qBAAqB,CAAC;IAEhE,IAAI,MAAM,IAAI,MAAM,GAAG,SAAS,CAE/B;IAEK,4BAA4B,CAAC,GAAG,iBAAiB,EAAE,2BAA2B,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IA8BtG,oBAAoB,CAAC,GAAG,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI;IAIjD,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;CAG9C"}
@@ -36,11 +36,10 @@ let HuggingFaceLanguageModelsManagerImpl = class HuggingFaceLanguageModelsManage
36
36
  }
37
37
  model.model = modelDescription.model;
38
38
  model.apiKey = apiKeyProvider;
39
- model.defaultRequestSettings = modelDescription.defaultRequestSettings;
40
39
  }
41
40
  else {
42
41
  this.languageModelRegistry.addLanguageModels([
43
- new huggingface_language_model_1.HuggingFaceModel(modelDescription.id, modelDescription.model, apiKeyProvider, undefined, undefined, undefined, undefined, undefined, undefined, modelDescription.defaultRequestSettings)
42
+ new huggingface_language_model_1.HuggingFaceModel(modelDescription.id, modelDescription.model, apiKeyProvider, undefined, undefined, undefined, undefined, undefined, undefined)
44
43
  ]);
45
44
  }
46
45
  }
@@ -1 +1 @@
1
- {"version":3,"file":"huggingface-language-models-manager-impl.js","sourceRoot":"","sources":["../../src/node/huggingface-language-models-manager-impl.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;;AAEhF,4CAAuD;AACvD,4DAAkE;AAClE,6EAAgE;AAIzD,IAAM,oCAAoC,GAA1C,MAAM,oCAAoC;IAO7C,IAAI,MAAM;;QACN,OAAO,MAAA,IAAI,CAAC,OAAO,mCAAI,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC;IAC3D,CAAC;IAED,KAAK,CAAC,4BAA4B,CAAC,GAAG,iBAAgD;QAClF,KAAK,MAAM,gBAAgB,IAAI,iBAAiB,EAAE,CAAC;YAC/C,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;YACrF,MAAM,cAAc,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC;YAEzC,IAAI,KAAK,EAAE,CAAC;gBACR,IAAI,CAAC,CAAC,KAAK,YAAY,6CAAgB,CAAC,EAAE,CAAC;oBACvC,OAAO,CAAC,IAAI,CAAC,uBAAuB,gBAAgB,CAAC,EAAE,8BAA8B,CAAC,CAAC;oBACvF,SAAS;gBACb,CAAC;gBACD,KAAK,CAAC,KAAK,GAAG,gBAAgB,CAAC,KAAK,CAAC;gBACrC,KAAK,CAAC,MAAM,GAAG,cAAc,CAAC;gBAC9B,KAAK,CAAC,sBAAsB,GAAG,gBAAgB,CAAC,sBAAsB,CAAC;YAC3E,CAAC;iBAAM,CAAC;gBACJ,IAAI,CAAC,qBAAqB,CAAC,iBAAiB,CAAC;oBACzC,IAAI,6CAAgB,CAChB,gBAAgB,CAAC,EAAE,EACnB,gBAAgB,CAAC,KAAK,EACtB,cAAc,EACd,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,EACT,gBAAgB,CAAC,sBAAsB,CAC1C;iBACJ,CAAC,CAAC;YACP,CAAC;QACL,CAAC;IACL,CAAC;IAED,oBAAoB,CAAC,GAAG,QAAkB;QACtC,IAAI,CAAC,qBAAqB,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;IAC9D,CAAC;IAED,SAAS,CAAC,MAA0B;QAChC,IAAI,CAAC,OAAO,GAAG,MAAM,IAAI,SAAS,CAAC;IACvC,CAAC;CACJ,CAAA;AAlDY,oFAAoC;AAK1B;IADlB,IAAA,kBAAM,EAAC,+BAAqB,CAAC;;mFACkC;+CALvD,oCAAoC;IADhD,IAAA,sBAAU,GAAE;GACA,oCAAoC,CAkDhD"}
1
+ {"version":3,"file":"huggingface-language-models-manager-impl.js","sourceRoot":"","sources":["../../src/node/huggingface-language-models-manager-impl.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;;AAEhF,4CAAuD;AACvD,4DAAkE;AAClE,6EAAgE;AAIzD,IAAM,oCAAoC,GAA1C,MAAM,oCAAoC;IAO7C,IAAI,MAAM;;QACN,OAAO,MAAA,IAAI,CAAC,OAAO,mCAAI,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC;IAC3D,CAAC;IAED,KAAK,CAAC,4BAA4B,CAAC,GAAG,iBAAgD;QAClF,KAAK,MAAM,gBAAgB,IAAI,iBAAiB,EAAE,CAAC;YAC/C,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;YACrF,MAAM,cAAc,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC;YAEzC,IAAI,KAAK,EAAE,CAAC;gBACR,IAAI,CAAC,CAAC,KAAK,YAAY,6CAAgB,CAAC,EAAE,CAAC;oBACvC,OAAO,CAAC,IAAI,CAAC,uBAAuB,gBAAgB,CAAC,EAAE,8BAA8B,CAAC,CAAC;oBACvF,SAAS;gBACb,CAAC;gBACD,KAAK,CAAC,KAAK,GAAG,gBAAgB,CAAC,KAAK,CAAC;gBACrC,KAAK,CAAC,MAAM,GAAG,cAAc,CAAC;YAClC,CAAC;iBAAM,CAAC;gBACJ,IAAI,CAAC,qBAAqB,CAAC,iBAAiB,CAAC;oBACzC,IAAI,6CAAgB,CAChB,gBAAgB,CAAC,EAAE,EACnB,gBAAgB,CAAC,KAAK,EACtB,cAAc,EACd,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,CACZ;iBACJ,CAAC,CAAC;YACP,CAAC;QACL,CAAC;IACL,CAAC;IAED,oBAAoB,CAAC,GAAG,QAAkB;QACtC,IAAI,CAAC,qBAAqB,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;IAC9D,CAAC;IAED,SAAS,CAAC,MAA0B;QAChC,IAAI,CAAC,OAAO,GAAG,MAAM,IAAI,SAAS,CAAC;IACvC,CAAC;CACJ,CAAA;AAhDY,oFAAoC;AAK1B;IADlB,IAAA,kBAAM,EAAC,+BAAqB,CAAC;;mFACkC;+CALvD,oCAAoC;IADhD,IAAA,sBAAU,GAAE;GACA,oCAAoC,CAgDhD"}
package/package.json CHANGED
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "name": "@theia/ai-huggingface",
3
- "version": "1.60.0-next.47+9332521b9",
3
+ "version": "1.60.0",
4
4
  "description": "Theia - Hugging Face Integration",
5
5
  "dependencies": {
6
6
  "@huggingface/inference": "^2.0.0",
7
- "@theia/ai-core": "1.60.0-next.47+9332521b9",
8
- "@theia/core": "1.60.0-next.47+9332521b9"
7
+ "@theia/ai-core": "1.60.0",
8
+ "@theia/core": "1.60.0"
9
9
  },
10
10
  "publishConfig": {
11
11
  "access": "public"
@@ -41,10 +41,10 @@
41
41
  "watch": "theiaext watch"
42
42
  },
43
43
  "devDependencies": {
44
- "@theia/ext-scripts": "1.59.0"
44
+ "@theia/ext-scripts": "1.60.0"
45
45
  },
46
46
  "nyc": {
47
47
  "extends": "../../configs/nyc.json"
48
48
  },
49
- "gitHead": "9332521b9aa74bf534d45968905d37e30a13c3b5"
49
+ "gitHead": "193fa55d7e26aa9dc8acba3ae3b99b0182f3603f"
50
50
  }
@@ -18,7 +18,6 @@ import { FrontendApplicationContribution, PreferenceService } from '@theia/core/
18
18
  import { inject, injectable } from '@theia/core/shared/inversify';
19
19
  import { HuggingFaceLanguageModelsManager, HuggingFaceModelDescription } from '../common';
20
20
  import { API_KEY_PREF, MODELS_PREF } from './huggingface-preferences';
21
- import { PREFERENCE_NAME_REQUEST_SETTINGS, RequestSetting } from '@theia/ai-core/lib/browser/ai-core-preferences';
22
21
 
23
22
  const HUGGINGFACE_PROVIDER_ID = 'huggingface';
24
23
  @injectable()
@@ -38,8 +37,7 @@ export class HuggingFaceFrontendApplicationContribution implements FrontendAppli
38
37
  this.manager.setApiKey(apiKey);
39
38
 
40
39
  const models = this.preferenceService.get<string[]>(MODELS_PREF, []);
41
- const requestSettings = this.preferenceService.get<RequestSetting[]>(PREFERENCE_NAME_REQUEST_SETTINGS, []);
42
- this.manager.createOrUpdateLanguageModels(...models.map(modelId => this.createHuggingFaceModelDescription(modelId, requestSettings)));
40
+ this.manager.createOrUpdateLanguageModels(...models.map(modelId => this.createHuggingFaceModelDescription(modelId)));
43
41
  this.prevModels = [...models];
44
42
 
45
43
  this.preferenceService.onPreferenceChanged(event => {
@@ -47,8 +45,6 @@ export class HuggingFaceFrontendApplicationContribution implements FrontendAppli
47
45
  this.manager.setApiKey(event.newValue);
48
46
  } else if (event.preferenceName === MODELS_PREF) {
49
47
  this.handleModelChanges(event.newValue as string[]);
50
- } else if (event.preferenceName === PREFERENCE_NAME_REQUEST_SETTINGS) {
51
- this.handleRequestSettingsChanges(event.newValue as RequestSetting[]);
52
48
  }
53
49
  });
54
50
  });
@@ -62,34 +58,17 @@ export class HuggingFaceFrontendApplicationContribution implements FrontendAppli
62
58
  const modelsToAdd = [...updatedModels].filter(model => !oldModels.has(model));
63
59
 
64
60
  this.manager.removeLanguageModels(...modelsToRemove.map(model => `${HUGGINGFACE_PROVIDER_ID}/${model}`));
65
- const requestSettings = this.preferenceService.get<RequestSetting[]>(PREFERENCE_NAME_REQUEST_SETTINGS, []);
66
- this.manager.createOrUpdateLanguageModels(...modelsToAdd.map(modelId => this.createHuggingFaceModelDescription(modelId, requestSettings)));
61
+ this.manager.createOrUpdateLanguageModels(...modelsToAdd.map(modelId => this.createHuggingFaceModelDescription(modelId)));
67
62
  this.prevModels = newModels;
68
63
  }
69
64
 
70
- protected handleRequestSettingsChanges(newSettings: RequestSetting[]): void {
71
- const models = this.preferenceService.get<string[]>(MODELS_PREF, []);
72
- this.manager.createOrUpdateLanguageModels(...models.map(modelId => this.createHuggingFaceModelDescription(modelId, newSettings)));
73
- }
74
-
75
65
  protected createHuggingFaceModelDescription(
76
- modelId: string,
77
- requestSettings: RequestSetting[]
66
+ modelId: string
78
67
  ): HuggingFaceModelDescription {
79
68
  const id = `${HUGGINGFACE_PROVIDER_ID}/${modelId}`;
80
- const matchingSettings = requestSettings.filter(
81
- setting => (!setting.providerId || setting.providerId === HUGGINGFACE_PROVIDER_ID) && setting.modelId === modelId
82
- );
83
- if (matchingSettings.length > 1) {
84
- console.warn(
85
- `Multiple entries found for modelId "${modelId}". Using the first match and ignoring the rest.`
86
- );
87
- }
88
- const modelRequestSetting = matchingSettings[0];
89
69
  return {
90
70
  id: id,
91
- model: modelId,
92
- defaultRequestSettings: modelRequestSetting?.requestSettings
71
+ model: modelId
93
72
  };
94
73
  }
95
74
  }
@@ -26,10 +26,6 @@ export interface HuggingFaceModelDescription {
26
26
  * The model ID as used by the Hugging Face API.
27
27
  */
28
28
  model: string;
29
- /**
30
- * Default request settings for the Hugging Face model.
31
- */
32
- defaultRequestSettings?: { [key: string]: unknown };
33
29
  }
34
30
 
35
31
  export interface HuggingFaceLanguageModelsManager {
@@ -17,7 +17,7 @@
17
17
  import {
18
18
  LanguageModel,
19
19
  LanguageModelRequest,
20
- LanguageModelRequestMessage,
20
+ LanguageModelMessage,
21
21
  LanguageModelResponse,
22
22
  LanguageModelStreamResponsePart,
23
23
  LanguageModelTextResponse,
@@ -27,12 +27,24 @@ import { CancellationToken } from '@theia/core';
27
27
  import { HfInference } from '@huggingface/inference';
28
28
 
29
29
  export const HuggingFaceModelIdentifier = Symbol('HuggingFaceModelIdentifier');
30
-
31
- function toHuggingFacePrompt(messages: LanguageModelRequestMessage[]): string {
30
+ const createMessageContent = (message: LanguageModelMessage): string | undefined => {
31
+ if (LanguageModelMessage.isTextMessage(message)) {
32
+ return message.text;
33
+ }
34
+ return undefined;
35
+ };
36
+ function toHuggingFacePrompt(messages: LanguageModelMessage[]): string {
32
37
  if (messages.length === 1) {
33
- return messages[0].query;
38
+ const message = messages[0];
39
+ return (LanguageModelMessage.isTextMessage(message) && message.text) || '';
34
40
  }
35
- return messages.map(message => `${toRoleLabel(message.actor)}: ${message.query}`).join('\n');
41
+ return messages.map(message => {
42
+ const messageContent = createMessageContent(message);
43
+ if (messageContent === undefined) {
44
+ return undefined;
45
+ }
46
+ return `${toRoleLabel(message.actor)}: ${messageContent}`;
47
+ }).filter(m => m !== undefined).join('\n');
36
48
  }
37
49
 
38
50
  function toRoleLabel(actor: MessageActor): string {
@@ -64,8 +76,7 @@ export class HuggingFaceModel implements LanguageModel {
64
76
  public readonly version?: string,
65
77
  public readonly family?: string,
66
78
  public readonly maxInputTokens?: number,
67
- public readonly maxOutputTokens?: number,
68
- public defaultRequestSettings?: Record<string, unknown>
79
+ public readonly maxOutputTokens?: number
69
80
  ) { }
70
81
 
71
82
  async request(request: LanguageModelRequest, cancellationToken?: CancellationToken): Promise<LanguageModelResponse> {
@@ -78,11 +89,7 @@ export class HuggingFaceModel implements LanguageModel {
78
89
  }
79
90
 
80
91
  protected getSettings(request: LanguageModelRequest): Record<string, unknown> {
81
- const settings = request.settings ? request.settings : this.defaultRequestSettings;
82
- if (!settings) {
83
- return {};
84
- }
85
- return settings;
92
+ return request.settings ?? {};
86
93
  }
87
94
 
88
95
  protected async handleNonStreamingRequest(hfInference: HfInference, request: LanguageModelRequest): Promise<LanguageModelTextResponse> {
@@ -43,7 +43,6 @@ export class HuggingFaceLanguageModelsManagerImpl implements HuggingFaceLanguage
43
43
  }
44
44
  model.model = modelDescription.model;
45
45
  model.apiKey = apiKeyProvider;
46
- model.defaultRequestSettings = modelDescription.defaultRequestSettings;
47
46
  } else {
48
47
  this.languageModelRegistry.addLanguageModels([
49
48
  new HuggingFaceModel(
@@ -56,7 +55,6 @@ export class HuggingFaceLanguageModelsManagerImpl implements HuggingFaceLanguage
56
55
  undefined,
57
56
  undefined,
58
57
  undefined,
59
- modelDescription.defaultRequestSettings
60
58
  )
61
59
  ]);
62
60
  }