Skip to content

Commit

Permalink
Merge pull request huggingface#13 from huggingface/show_warning_no_token
Browse files Browse the repository at this point in the history
Show warning if HF token was not setup while using HF inference
  • Loading branch information
Mishig committed May 6, 2023
2 parents 155ad4d + ef44e91 commit 2620224
Showing 1 changed file with 18 additions and 4 deletions.
22 changes: 18 additions & 4 deletions src/runCompletion.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { Position, Range, TextDocument, WorkspaceConfiguration, workspace } from "vscode";
import { Position, Range, TextDocument, WorkspaceConfiguration, workspace, window, env, Uri } from "vscode";
import {URL} from "url";
import fetch from "node-fetch";
import { AutocompleteResult, ResultEntry } from "./binary/requests/requests";
Expand All @@ -10,6 +10,8 @@ import { getTabnineExtensionContext } from "./globals/tabnineExtensionContext";

export type CompletionType = "normal" | "snippet";

let didShowTokenWarning = false;

export default async function runCompletion(
document: TextDocument,
position: Position,
Expand Down Expand Up @@ -37,12 +39,27 @@ export default async function runCompletion(
const config: Config = workspace.getConfiguration("HuggingFaceCode") as Config;
const { modelIdOrEndpoint, stopToken, temperature } = config;

const context = getTabnineExtensionContext();
const apiToken = await context?.secrets.get("apiToken");

let endpoint = ""
try{
new URL(modelIdOrEndpoint);
endpoint = modelIdOrEndpoint;
}catch(e){
endpoint = `https://api-inference.huggingface.co/models/${modelIdOrEndpoint}`

// if user hasn't supplied API Token yet, ask user to supply one
if(!apiToken && !didShowTokenWarning){
didShowTokenWarning = true;
void window.showInformationMessage(`In order to use "${modelIdOrEndpoint}" through Hugging Face API Inference, you'd need Hugging Face API Token`,
"Get your token"
).then(clicked => {
if (clicked) {
void env.openExternal(Uri.parse("https://github.com/huggingface/huggingface-vscode#hf-api-token"));
}
});
}
}

const inputs = prefix;
Expand All @@ -60,9 +77,6 @@ export default async function runCompletion(

logInput(inputs, data.parameters);

const context = getTabnineExtensionContext();
const apiToken = await context?.secrets.get("apiToken");

const headers = {
"Content-Type": "application/json",
"Authorization": "",
Expand Down

0 comments on commit 2620224

Please sign in to comment.