@theia/ai-huggingface 1.70.0-next.12 → 1.70.0-next.18

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.
@@ -7,10 +7,7 @@ export declare class HuggingFaceFrontendApplicationContribution implements Front
7
7
  protected prevModels: string[];
8
8
  onStart(): void;
9
9
  protected handleModelChanges(newModels: string[]): void;
10
- /**
11
- * Called when the API key changes. Updates all HuggingFace models on the manager to ensure the new key is used.
12
- */
13
- protected handleKeyChange(newApiKey: string | undefined): void;
10
+ protected updateAllModels(): void;
14
11
  protected createHuggingFaceModelDescription(modelId: string): HuggingFaceModelDescription;
15
12
  }
16
13
  //# 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,MAAM,yBAAyB,CAAC;AAE1E,OAAO,EAAE,gCAAgC,EAAE,2BAA2B,EAAE,MAAM,WAAW,CAAC;AAE1F,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAGhD,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;IAqBf,SAAS,CAAC,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,IAAI;IAYvD;;OAEG;IACH,SAAS,CAAC,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAM9D,SAAS,CAAC,iCAAiC,CACvC,OAAO,EAAE,MAAM,GAChB,2BAA2B;CAOjC"}
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,MAAM,yBAAyB,CAAC;AAE1E,OAAO,EAAE,gCAAgC,EAAE,2BAA2B,EAAE,MAAM,WAAW,CAAC;AAE1F,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAGhD,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;IA2Bf,SAAS,CAAC,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,IAAI;IAYvD,SAAS,CAAC,eAAe,IAAI,IAAI;IAMjC,SAAS,CAAC,iCAAiC,CACvC,OAAO,EAAE,MAAM,GAChB,2BAA2B;CAOjC"}
@@ -30,6 +30,8 @@ let HuggingFaceFrontendApplicationContribution = class HuggingFaceFrontendApplic
30
30
  this.preferenceService.ready.then(() => {
31
31
  const apiKey = this.preferenceService.get(huggingface_preferences_1.API_KEY_PREF, undefined);
32
32
  this.manager.setApiKey(apiKey);
33
+ const proxyUri = this.preferenceService.get('http.proxy', undefined);
34
+ this.manager.setProxyUrl(proxyUri);
33
35
  const models = this.preferenceService.get(huggingface_preferences_1.MODELS_PREF, []);
34
36
  this.manager.createOrUpdateLanguageModels(...models.map(modelId => this.createHuggingFaceModelDescription(modelId)));
35
37
  this.prevModels = [...models];
@@ -37,11 +39,15 @@ let HuggingFaceFrontendApplicationContribution = class HuggingFaceFrontendApplic
37
39
  if (event.preferenceName === huggingface_preferences_1.API_KEY_PREF) {
38
40
  const newApiKey = this.preferenceService.get(huggingface_preferences_1.API_KEY_PREF, undefined);
39
41
  this.manager.setApiKey(newApiKey);
40
- this.handleKeyChange(newApiKey);
42
+ this.updateAllModels();
41
43
  }
42
44
  else if (event.preferenceName === huggingface_preferences_1.MODELS_PREF) {
43
45
  this.handleModelChanges(this.preferenceService.get(huggingface_preferences_1.MODELS_PREF, []));
44
46
  }
47
+ else if (event.preferenceName === 'http.proxy') {
48
+ this.manager.setProxyUrl(this.preferenceService.get('http.proxy', undefined));
49
+ this.updateAllModels();
50
+ }
45
51
  });
46
52
  });
47
53
  }
@@ -54,10 +60,7 @@ let HuggingFaceFrontendApplicationContribution = class HuggingFaceFrontendApplic
54
60
  this.manager.createOrUpdateLanguageModels(...modelsToAdd.map(modelId => this.createHuggingFaceModelDescription(modelId)));
55
61
  this.prevModels = newModels;
56
62
  }
57
- /**
58
- * Called when the API key changes. Updates all HuggingFace models on the manager to ensure the new key is used.
59
- */
60
- handleKeyChange(newApiKey) {
63
+ updateAllModels() {
61
64
  if (this.prevModels && this.prevModels.length > 0) {
62
65
  this.manager.createOrUpdateLanguageModels(...this.prevModels.map(modelId => this.createHuggingFaceModelDescription(modelId)));
63
66
  }
@@ -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":"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"}
@@ -13,6 +13,7 @@ export interface HuggingFaceModelDescription {
13
13
  export interface HuggingFaceLanguageModelsManager {
14
14
  apiKey: string | undefined;
15
15
  setApiKey(key: string | undefined): void;
16
+ setProxyUrl(proxyUrl: string | undefined): void;
16
17
  createOrUpdateLanguageModels(...models: HuggingFaceModelDescription[]): Promise<void>;
17
18
  removeLanguageModels(...modelIds: string[]): void;
18
19
  }
@@ -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;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"}
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,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC;IAChD,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"}
@@ -13,12 +13,13 @@ export declare class HuggingFaceModel implements LanguageModel {
13
13
  readonly family?: string | undefined;
14
14
  readonly maxInputTokens?: number | undefined;
15
15
  readonly maxOutputTokens?: number | undefined;
16
+ proxy?: string | undefined;
16
17
  /**
17
18
  * @param id the unique id for this language model. It will be used to identify the model in the UI.
18
19
  * @param model the model id as it is used by the Hugging Face API
19
20
  * @param apiKey function to retrieve the API key for Hugging Face
20
21
  */
21
- constructor(id: string, model: string, status: LanguageModelStatus, apiKey: () => string | undefined, name?: string | undefined, vendor?: string | undefined, version?: string | undefined, family?: string | undefined, maxInputTokens?: number | undefined, maxOutputTokens?: number | undefined);
22
+ constructor(id: string, model: string, status: LanguageModelStatus, apiKey: () => string | undefined, name?: string | undefined, vendor?: string | undefined, version?: string | undefined, family?: string | undefined, maxInputTokens?: number | undefined, maxOutputTokens?: number | undefined, proxy?: string | undefined);
22
23
  request(request: LanguageModelRequest, cancellationToken?: CancellationToken): Promise<LanguageModelResponse>;
23
24
  protected getSettings(request: LanguageModelRequest): Record<string, unknown>;
24
25
  protected handleNonStreamingRequest(hfInference: InferenceClient, 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,EAEzB,mBAAmB,EACtB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEzD,eAAO,MAAM,0BAA0B,eAAuC,CAAC;AAwB/E,qBAAa,gBAAiB,YAAW,aAAa;aAQ9B,EAAE,EAAE,MAAM;IACnB,KAAK,EAAE,MAAM;IACb,MAAM,EAAE,mBAAmB;IAC3B,MAAM,EAAE,MAAM,MAAM,GAAG,SAAS;aACvB,IAAI,CAAC,EAAE,MAAM;aACb,MAAM,CAAC,EAAE,MAAM;aACf,OAAO,CAAC,EAAE,MAAM;aAChB,MAAM,CAAC,EAAE,MAAM;aACf,cAAc,CAAC,EAAE,MAAM;aACvB,eAAe,CAAC,EAAE,MAAM;IAf5C;;;;OAIG;gBAEiB,EAAE,EAAE,MAAM,EACnB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,mBAAmB,EAC3B,MAAM,EAAE,MAAM,MAAM,GAAG,SAAS,EACvB,IAAI,CAAC,EAAE,MAAM,YAAA,EACb,MAAM,CAAC,EAAE,MAAM,YAAA,EACf,OAAO,CAAC,EAAE,MAAM,YAAA,EAChB,MAAM,CAAC,EAAE,MAAM,YAAA,EACf,cAAc,CAAC,EAAE,MAAM,YAAA,EACvB,eAAe,CAAC,EAAE,MAAM,YAAA;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,eAAe,EAAE,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,yBAAyB,CAAC;cAgB1H,sBAAsB,CAClC,WAAW,EAAE,eAAe,EAC5B,OAAO,EAAE,oBAAoB,EAC7B,iBAAiB,CAAC,EAAE,iBAAiB,GACtC,OAAO,CAAC,qBAAqB,CAAC;IA6BjC,SAAS,CAAC,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAKtD,OAAO,CAAC,yBAAyB;CAOpC"}
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,EAEzB,mBAAmB,EACtB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAGzD,eAAO,MAAM,0BAA0B,eAAuC,CAAC;AAwB/E,qBAAa,gBAAiB,YAAW,aAAa;aAQ9B,EAAE,EAAE,MAAM;IACnB,KAAK,EAAE,MAAM;IACb,MAAM,EAAE,mBAAmB;IAC3B,MAAM,EAAE,MAAM,MAAM,GAAG,SAAS;aACvB,IAAI,CAAC,EAAE,MAAM;aACb,MAAM,CAAC,EAAE,MAAM;aACf,OAAO,CAAC,EAAE,MAAM;aAChB,MAAM,CAAC,EAAE,MAAM;aACf,cAAc,CAAC,EAAE,MAAM;aACvB,eAAe,CAAC,EAAE,MAAM;IACjC,KAAK,CAAC,EAAE,MAAM;IAhBzB;;;;OAIG;gBAEiB,EAAE,EAAE,MAAM,EACnB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,mBAAmB,EAC3B,MAAM,EAAE,MAAM,MAAM,GAAG,SAAS,EACvB,IAAI,CAAC,EAAE,MAAM,YAAA,EACb,MAAM,CAAC,EAAE,MAAM,YAAA,EACf,OAAO,CAAC,EAAE,MAAM,YAAA,EAChB,MAAM,CAAC,EAAE,MAAM,YAAA,EACf,cAAc,CAAC,EAAE,MAAM,YAAA,EACvB,eAAe,CAAC,EAAE,MAAM,YAAA,EACjC,KAAK,CAAC,EAAE,MAAM,YAAA;IAGnB,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,eAAe,EAAE,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,yBAAyB,CAAC;cAgB1H,sBAAsB,CAClC,WAAW,EAAE,eAAe,EAC5B,OAAO,EAAE,oBAAoB,EAC7B,iBAAiB,CAAC,EAAE,iBAAiB,GACtC,OAAO,CAAC,qBAAqB,CAAC;IA6BjC,SAAS,CAAC,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAKtD,OAAO,CAAC,yBAAyB;CAOpC"}
@@ -18,6 +18,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
18
18
  exports.HuggingFaceModel = exports.HuggingFaceModelIdentifier = void 0;
19
19
  const ai_core_1 = require("@theia/ai-core");
20
20
  const inference_1 = require("@huggingface/inference");
21
+ const node_1 = require("@theia/ai-core/lib/node");
21
22
  exports.HuggingFaceModelIdentifier = Symbol('HuggingFaceModelIdentifier');
22
23
  function toRole(actor) {
23
24
  switch (actor) {
@@ -45,7 +46,7 @@ class HuggingFaceModel {
45
46
  * @param model the model id as it is used by the Hugging Face API
46
47
  * @param apiKey function to retrieve the API key for Hugging Face
47
48
  */
48
- constructor(id, model, status, apiKey, name, vendor, version, family, maxInputTokens, maxOutputTokens) {
49
+ constructor(id, model, status, apiKey, name, vendor, version, family, maxInputTokens, maxOutputTokens, proxy) {
49
50
  this.id = id;
50
51
  this.model = model;
51
52
  this.status = status;
@@ -56,6 +57,7 @@ class HuggingFaceModel {
56
57
  this.family = family;
57
58
  this.maxInputTokens = maxInputTokens;
58
59
  this.maxOutputTokens = maxOutputTokens;
60
+ this.proxy = proxy;
59
61
  }
60
62
  async request(request, cancellationToken) {
61
63
  const hfInference = this.initializeInferenceClient();
@@ -112,7 +114,7 @@ class HuggingFaceModel {
112
114
  if (!token) {
113
115
  throw new Error('Please provide a Hugging Face API token.');
114
116
  }
115
- return new inference_1.InferenceClient(token);
117
+ return new inference_1.InferenceClient(token, { fetch: (0, node_1.createProxyFetch)(this.proxy) });
116
118
  }
117
119
  }
118
120
  exports.HuggingFaceModel = HuggingFaceModel;
@@ -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":";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,4CASwB;AAExB,sDAAyD;AACzD,kDAA2D;AAE9C,QAAA,0BAA0B,GAAG,MAAM,CAAC,4BAA4B,CAAC,CAAC;AAE/E,SAAS,MAAM,CAAC,KAAmB;IAC/B,QAAQ,KAAK,EAAE,CAAC;QACZ,KAAK,MAAM;YACP,OAAO,MAAM,CAAC;QAClB,KAAK,IAAI;YACL,OAAO,WAAW,CAAC;QACvB,KAAK,QAAQ;YACT,OAAO,QAAQ,CAAC;QACpB;YACI,OAAO,MAAM,CAAC;IACtB,CAAC;AACL,CAAC;AAED,SAAS,cAAc,CAAC,QAAgC;IACpD,OAAO,QAAQ;SACV,MAAM,CAAC,8BAAoB,CAAC,aAAa,CAAC;SAC1C,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACb,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC;QAC3B,OAAO,EAAE,OAAO,CAAC,IAAI;KACxB,CAAC,CAAC,CAAC;AACZ,CAAC;AAED,MAAa,gBAAgB;IAEzB;;;;OAIG;IACH,YACoB,EAAU,EACnB,KAAa,EACb,MAA2B,EAC3B,MAAgC,EACvB,IAAa,EACb,MAAe,EACf,OAAgB,EAChB,MAAe,EACf,cAAuB,EACvB,eAAwB,EACjC,KAAc;QAVL,OAAE,GAAF,EAAE,CAAQ;QACnB,UAAK,GAAL,KAAK,CAAQ;QACb,WAAM,GAAN,MAAM,CAAqB;QAC3B,WAAM,GAAN,MAAM,CAA0B;QACvB,SAAI,GAAJ,IAAI,CAAS;QACb,WAAM,GAAN,MAAM,CAAS;QACf,YAAO,GAAP,OAAO,CAAS;QAChB,WAAM,GAAN,MAAM,CAAS;QACf,mBAAc,GAAd,cAAc,CAAS;QACvB,oBAAe,GAAf,eAAe,CAAS;QACjC,UAAK,GAAL,KAAK,CAAS;IACrB,CAAC;IAEL,KAAK,CAAC,OAAO,CAAC,OAA6B,EAAE,iBAAqC;QAC9E,MAAM,WAAW,GAAG,IAAI,CAAC,yBAAyB,EAAE,CAAC;QACrD,IAAI,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACxC,OAAO,IAAI,CAAC,sBAAsB,CAAC,WAAW,EAAE,OAAO,EAAE,iBAAiB,CAAC,CAAC;QAChF,CAAC;aAAM,CAAC;YACJ,OAAO,IAAI,CAAC,yBAAyB,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAChE,CAAC;IACL,CAAC;IAES,WAAW,CAAC,OAA6B;QAC/C,OAAO,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC;IAClC,CAAC;IAES,KAAK,CAAC,yBAAyB,CAAC,WAA4B,EAAE,OAA6B;QACjG,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAE3C,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,cAAc,CAAC;YAC9C,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,QAAQ,EAAE,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC;YAC1C,GAAG,QAAQ;SACd,CAAC,CAAC;QAEH,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,IAAI,EAAE,CAAC;QAEzD,OAAO;YACH,IAAI;SACP,CAAC;IACN,CAAC;IAES,KAAK,CAAC,sBAAsB,CAClC,WAA4B,EAC5B,OAA6B,EAC7B,iBAAqC;QAGrC,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAE3C,MAAM,MAAM,GAAG,WAAW,CAAC,oBAAoB,CAAC;YAC5C,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,QAAQ,EAAE,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC;YAC1C,GAAG,QAAQ;SACd,CAAC,CAAC;QAEH,MAAM,aAAa,GAAG;YAClB,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC;gBACzB,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;oBAC/B,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC;oBAEjD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;wBACxB,MAAM,EAAE,OAAO,EAAE,CAAC;oBACtB,CAAC;oBAED,IAAI,iBAAiB,EAAE,uBAAuB,EAAE,CAAC;wBAC7C,MAAM;oBACV,CAAC;gBACL,CAAC;YACL,CAAC;SACJ,CAAC;QAEF,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC;IACrC,CAAC;IAES,oBAAoB,CAAC,KAAa;QACxC,0EAA0E;QAC1E,OAAO,IAAI,CAAC;IAChB,CAAC;IAEO,yBAAyB;QAC7B,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC5B,IAAI,CAAC,KAAK,EAAE,CAAC;YACT,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;QAChE,CAAC;QACD,OAAO,IAAI,2BAAe,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,IAAA,uBAAgB,EAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC/E,CAAC;CACJ;AA/FD,4CA+FC"}
@@ -2,11 +2,13 @@ import { LanguageModelRegistry, LanguageModelStatus } from '@theia/ai-core';
2
2
  import { HuggingFaceLanguageModelsManager, HuggingFaceModelDescription } from '../common';
3
3
  export declare class HuggingFaceLanguageModelsManagerImpl implements HuggingFaceLanguageModelsManager {
4
4
  protected _apiKey: string | undefined;
5
+ protected _proxyUrl: string | undefined;
5
6
  protected readonly languageModelRegistry: LanguageModelRegistry;
6
7
  get apiKey(): string | undefined;
7
8
  protected calculateStatus(apiKey: string | undefined): LanguageModelStatus;
8
9
  createOrUpdateLanguageModels(...modelDescriptions: HuggingFaceModelDescription[]): Promise<void>;
9
10
  removeLanguageModels(...modelIds: string[]): void;
10
11
  setApiKey(apiKey: string | undefined): void;
12
+ setProxyUrl(proxyUrl: string | undefined): void;
11
13
  }
12
14
  //# sourceMappingURL=huggingface-language-models-manager-impl.d.ts.map
@@ -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,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAG5E,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;IAED,SAAS,CAAC,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,mBAAmB;IAIpE,4BAA4B,CAAC,GAAG,iBAAiB,EAAE,2BAA2B,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IA+BtG,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,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAI5E,OAAO,EAAE,gCAAgC,EAAE,2BAA2B,EAAE,MAAM,WAAW,CAAC;AAE1F,qBACa,oCAAqC,YAAW,gCAAgC;IAEzF,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAGxC,SAAS,CAAC,QAAQ,CAAC,qBAAqB,EAAE,qBAAqB,CAAC;IAEhE,IAAI,MAAM,IAAI,MAAM,GAAG,SAAS,CAE/B;IAED,SAAS,CAAC,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,mBAAmB;IAIpE,4BAA4B,CAAC,GAAG,iBAAiB,EAAE,2BAA2B,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAkCtG,oBAAoB,CAAC,GAAG,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI;IAIjD,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAI3C,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;CAOlD"}
@@ -18,6 +18,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
18
18
  exports.HuggingFaceLanguageModelsManagerImpl = void 0;
19
19
  const tslib_1 = require("tslib");
20
20
  const ai_core_1 = require("@theia/ai-core");
21
+ const node_1 = require("@theia/ai-core/lib/node");
21
22
  const inversify_1 = require("@theia/core/shared/inversify");
22
23
  const huggingface_language_model_1 = require("./huggingface-language-model");
23
24
  let HuggingFaceLanguageModelsManagerImpl = class HuggingFaceLanguageModelsManagerImpl {
@@ -32,16 +33,17 @@ let HuggingFaceLanguageModelsManagerImpl = class HuggingFaceLanguageModelsManage
32
33
  const model = await this.languageModelRegistry.getLanguageModel(modelDescription.id);
33
34
  const apiKeyProvider = () => this.apiKey;
34
35
  const status = this.calculateStatus(this.apiKey);
36
+ const proxyUrl = (0, node_1.getProxyUrl)('https://api-inference.huggingface.co', this._proxyUrl);
35
37
  if (model) {
36
38
  if (!(model instanceof huggingface_language_model_1.HuggingFaceModel)) {
37
39
  console.warn(`Hugging Face: model ${modelDescription.id} is not a Hugging Face model`);
38
40
  continue;
39
41
  }
40
- await this.languageModelRegistry.patchLanguageModel(modelDescription.id, { status });
42
+ await this.languageModelRegistry.patchLanguageModel(modelDescription.id, { status, proxy: proxyUrl });
41
43
  }
42
44
  else {
43
45
  this.languageModelRegistry.addLanguageModels([
44
- new huggingface_language_model_1.HuggingFaceModel(modelDescription.id, modelDescription.model, status, apiKeyProvider, undefined, undefined, undefined, undefined, undefined, undefined)
46
+ new huggingface_language_model_1.HuggingFaceModel(modelDescription.id, modelDescription.model, status, apiKeyProvider, undefined, undefined, undefined, undefined, undefined, undefined, proxyUrl)
45
47
  ]);
46
48
  }
47
49
  }
@@ -52,6 +54,14 @@ let HuggingFaceLanguageModelsManagerImpl = class HuggingFaceLanguageModelsManage
52
54
  setApiKey(apiKey) {
53
55
  this._apiKey = apiKey || undefined;
54
56
  }
57
+ setProxyUrl(proxyUrl) {
58
+ if (proxyUrl) {
59
+ this._proxyUrl = proxyUrl;
60
+ }
61
+ else {
62
+ this._proxyUrl = undefined;
63
+ }
64
+ }
55
65
  };
56
66
  exports.HuggingFaceLanguageModelsManagerImpl = HuggingFaceLanguageModelsManagerImpl;
57
67
  tslib_1.__decorate([
@@ -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,4CAA4E;AAC5E,4DAAkE;AAClE,6EAAgE;AAIzD,IAAM,oCAAoC,GAA1C,MAAM,oCAAoC;IAO7C,IAAI,MAAM;QACN,OAAO,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC;IAC3D,CAAC;IAES,eAAe,CAAC,MAA0B;QAChD,OAAO,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,6BAA6B,EAAE,CAAC;IAC5G,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;YACzC,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAEjD,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,MAAM,IAAI,CAAC,qBAAqB,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;YACzF,CAAC;iBAAM,CAAC;gBACJ,IAAI,CAAC,qBAAqB,CAAC,iBAAiB,CAAC;oBACzC,IAAI,6CAAgB,CAChB,gBAAgB,CAAC,EAAE,EACnB,gBAAgB,CAAC,KAAK,EACtB,MAAM,EACN,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;AArDY,oFAAoC;AAK1B;IADlB,IAAA,kBAAM,EAAC,+BAAqB,CAAC;;mFACkC;+CALvD,oCAAoC;IADhD,IAAA,sBAAU,GAAE;GACA,oCAAoC,CAqDhD"}
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,4CAA4E;AAC5E,kDAAsD;AACtD,4DAAkE;AAClE,6EAAgE;AAIzD,IAAM,oCAAoC,GAA1C,MAAM,oCAAoC;IAQ7C,IAAI,MAAM;QACN,OAAO,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC;IAC3D,CAAC;IAES,eAAe,CAAC,MAA0B;QAChD,OAAO,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,6BAA6B,EAAE,CAAC;IAC5G,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;YACzC,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAEjD,MAAM,QAAQ,GAAG,IAAA,kBAAW,EAAC,sCAAsC,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;YAErF,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,MAAM,IAAI,CAAC,qBAAqB,CAAC,kBAAkB,CAAmB,gBAAgB,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;YAC5H,CAAC;iBAAM,CAAC;gBACJ,IAAI,CAAC,qBAAqB,CAAC,iBAAiB,CAAC;oBACzC,IAAI,6CAAgB,CAChB,gBAAgB,CAAC,EAAE,EACnB,gBAAgB,CAAC,KAAK,EACtB,MAAM,EACN,cAAc,EACd,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,EACT,QAAQ,CACX;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;IAED,WAAW,CAAC,QAA4B;QACpC,IAAI,QAAQ,EAAE,CAAC;YACX,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC9B,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC/B,CAAC;IACL,CAAC;CACJ,CAAA;AAjEY,oFAAoC;AAM1B;IADlB,IAAA,kBAAM,EAAC,+BAAqB,CAAC;;mFACkC;+CANvD,oCAAoC;IADhD,IAAA,sBAAU,GAAE;GACA,oCAAoC,CAiEhD"}
package/package.json CHANGED
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "name": "@theia/ai-huggingface",
3
- "version": "1.70.0-next.12+d3daec4dd",
3
+ "version": "1.70.0-next.18+fb0d8f692",
4
4
  "description": "Theia - Hugging Face Integration",
5
5
  "dependencies": {
6
6
  "@huggingface/inference": "^4.13.10",
7
- "@theia/ai-core": "1.70.0-next.12+d3daec4dd",
8
- "@theia/core": "1.70.0-next.12+d3daec4dd"
7
+ "@theia/ai-core": "1.70.0-next.18+fb0d8f692",
8
+ "@theia/core": "1.70.0-next.18+fb0d8f692"
9
9
  },
10
10
  "publishConfig": {
11
11
  "access": "public"
@@ -46,5 +46,5 @@
46
46
  "nyc": {
47
47
  "extends": "../../configs/nyc.json"
48
48
  },
49
- "gitHead": "d3daec4dd6cd5e57b7e04b833b1e3e964fe337fd"
49
+ "gitHead": "fb0d8f692cd8e84234fd5ccbc7df035d3158c71c"
50
50
  }
@@ -37,6 +37,9 @@ export class HuggingFaceFrontendApplicationContribution implements FrontendAppli
37
37
  const apiKey = this.preferenceService.get<string>(API_KEY_PREF, undefined);
38
38
  this.manager.setApiKey(apiKey);
39
39
 
40
+ const proxyUri = this.preferenceService.get<string>('http.proxy', undefined);
41
+ this.manager.setProxyUrl(proxyUri);
42
+
40
43
  const models = this.preferenceService.get<string[]>(MODELS_PREF, []);
41
44
  this.manager.createOrUpdateLanguageModels(...models.map(modelId => this.createHuggingFaceModelDescription(modelId)));
42
45
  this.prevModels = [...models];
@@ -45,9 +48,12 @@ export class HuggingFaceFrontendApplicationContribution implements FrontendAppli
45
48
  if (event.preferenceName === API_KEY_PREF) {
46
49
  const newApiKey = this.preferenceService.get<string>(API_KEY_PREF, undefined);
47
50
  this.manager.setApiKey(newApiKey);
48
- this.handleKeyChange(newApiKey);
51
+ this.updateAllModels();
49
52
  } else if (event.preferenceName === MODELS_PREF) {
50
53
  this.handleModelChanges(this.preferenceService.get<string[]>(MODELS_PREF, []));
54
+ } else if (event.preferenceName === 'http.proxy') {
55
+ this.manager.setProxyUrl(this.preferenceService.get<string>('http.proxy', undefined));
56
+ this.updateAllModels();
51
57
  }
52
58
  });
53
59
  });
@@ -65,10 +71,7 @@ export class HuggingFaceFrontendApplicationContribution implements FrontendAppli
65
71
  this.prevModels = newModels;
66
72
  }
67
73
 
68
- /**
69
- * Called when the API key changes. Updates all HuggingFace models on the manager to ensure the new key is used.
70
- */
71
- protected handleKeyChange(newApiKey: string | undefined): void {
74
+ protected updateAllModels(): void {
72
75
  if (this.prevModels && this.prevModels.length > 0) {
73
76
  this.manager.createOrUpdateLanguageModels(...this.prevModels.map(modelId => this.createHuggingFaceModelDescription(modelId)));
74
77
  }
@@ -31,6 +31,7 @@ export interface HuggingFaceModelDescription {
31
31
  export interface HuggingFaceLanguageModelsManager {
32
32
  apiKey: string | undefined;
33
33
  setApiKey(key: string | undefined): void;
34
+ setProxyUrl(proxyUrl: string | undefined): void;
34
35
  createOrUpdateLanguageModels(...models: HuggingFaceModelDescription[]): Promise<void>;
35
36
  removeLanguageModels(...modelIds: string[]): void;
36
37
  }
@@ -26,6 +26,7 @@ import {
26
26
  } from '@theia/ai-core';
27
27
  import { CancellationToken } from '@theia/core';
28
28
  import { InferenceClient } from '@huggingface/inference';
29
+ import { createProxyFetch } from '@theia/ai-core/lib/node';
29
30
 
30
31
  export const HuggingFaceModelIdentifier = Symbol('HuggingFaceModelIdentifier');
31
32
 
@@ -68,7 +69,8 @@ export class HuggingFaceModel implements LanguageModel {
68
69
  public readonly version?: string,
69
70
  public readonly family?: string,
70
71
  public readonly maxInputTokens?: number,
71
- public readonly maxOutputTokens?: number
72
+ public readonly maxOutputTokens?: number,
73
+ public proxy?: string
72
74
  ) { }
73
75
 
74
76
  async request(request: LanguageModelRequest, cancellationToken?: CancellationToken): Promise<LanguageModelResponse> {
@@ -143,6 +145,6 @@ export class HuggingFaceModel implements LanguageModel {
143
145
  if (!token) {
144
146
  throw new Error('Please provide a Hugging Face API token.');
145
147
  }
146
- return new InferenceClient(token);
148
+ return new InferenceClient(token, { fetch: createProxyFetch(this.proxy) });
147
149
  }
148
150
  }
@@ -15,6 +15,7 @@
15
15
  // *****************************************************************************
16
16
 
17
17
  import { LanguageModelRegistry, LanguageModelStatus } from '@theia/ai-core';
18
+ import { getProxyUrl } from '@theia/ai-core/lib/node';
18
19
  import { inject, injectable } from '@theia/core/shared/inversify';
19
20
  import { HuggingFaceModel } from './huggingface-language-model';
20
21
  import { HuggingFaceLanguageModelsManager, HuggingFaceModelDescription } from '../common';
@@ -23,6 +24,7 @@ import { HuggingFaceLanguageModelsManager, HuggingFaceModelDescription } from '.
23
24
  export class HuggingFaceLanguageModelsManagerImpl implements HuggingFaceLanguageModelsManager {
24
25
 
25
26
  protected _apiKey: string | undefined;
27
+ protected _proxyUrl: string | undefined;
26
28
 
27
29
  @inject(LanguageModelRegistry)
28
30
  protected readonly languageModelRegistry: LanguageModelRegistry;
@@ -41,12 +43,14 @@ export class HuggingFaceLanguageModelsManagerImpl implements HuggingFaceLanguage
41
43
  const apiKeyProvider = () => this.apiKey;
42
44
  const status = this.calculateStatus(this.apiKey);
43
45
 
46
+ const proxyUrl = getProxyUrl('https://api-inference.huggingface.co', this._proxyUrl);
47
+
44
48
  if (model) {
45
49
  if (!(model instanceof HuggingFaceModel)) {
46
50
  console.warn(`Hugging Face: model ${modelDescription.id} is not a Hugging Face model`);
47
51
  continue;
48
52
  }
49
- await this.languageModelRegistry.patchLanguageModel(modelDescription.id, { status });
53
+ await this.languageModelRegistry.patchLanguageModel<HuggingFaceModel>(modelDescription.id, { status, proxy: proxyUrl });
50
54
  } else {
51
55
  this.languageModelRegistry.addLanguageModels([
52
56
  new HuggingFaceModel(
@@ -60,6 +64,7 @@ export class HuggingFaceLanguageModelsManagerImpl implements HuggingFaceLanguage
60
64
  undefined,
61
65
  undefined,
62
66
  undefined,
67
+ proxyUrl,
63
68
  )
64
69
  ]);
65
70
  }
@@ -73,4 +78,12 @@ export class HuggingFaceLanguageModelsManagerImpl implements HuggingFaceLanguage
73
78
  setApiKey(apiKey: string | undefined): void {
74
79
  this._apiKey = apiKey || undefined;
75
80
  }
81
+
82
+ setProxyUrl(proxyUrl: string | undefined): void {
83
+ if (proxyUrl) {
84
+ this._proxyUrl = proxyUrl;
85
+ } else {
86
+ this._proxyUrl = undefined;
87
+ }
88
+ }
76
89
  }