-
Notifications
You must be signed in to change notification settings - Fork 130
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. Weβll occasionally send you account related emails.
Already on GitHub? Sign in to your account
remove vscode azure session #692
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -213,9 +213,9 @@ | |
|
||
## Azure OpenAI <a id="azure" href=""></a> | ||
|
||
The [Azure OpenAI](https://learn.microsoft.com/en-us/azure/ai-services/openai/reference#chat-completions) provider, `azure` uses the `AZURE_OPENAI_...` environment variables. | ||
Check failure on line 216 in docs/src/content/docs/getting-started/configuration.mdx GitHub Actions / build
|
||
You can use a managed identity (recommended) or a API key to authenticate with the Azure OpenAI service. | ||
You can use a managed identity (recommended) or a API key to authenticate with the Azure OpenAI service. | ||
You can also use a service principal as documented in [automation](/genaiscript/getting-started/automating-scripts). | ||
Check warning on line 218 in docs/src/content/docs/getting-started/configuration.mdx GitHub Actions / build
|
||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The link provided in "automation" might be broken or incorrect. It should be verified if it correctly leads to the automation documentation.
|
||
|
||
### Managed Identity (Entra ID) | ||
|
||
|
@@ -262,7 +262,17 @@ | |
|
||
<li> | ||
|
||
Open a terminal and **login** with [Azure CLI](https://learn.microsoft.com/en-us/javascript/api/overview/azure/identity-readme?view=azure-node-latest#authenticate-via-the-azure-cli). | ||
|
||
```sh | ||
az login | ||
``` | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Content has been relocated. Instructions for logging in with Azure CLI have been moved from a subsection into a list item.
|
||
|
||
</li> | ||
|
||
<li> | ||
|
||
Update the `model` field in the `script` function to match the model deployment name in your Azure resource. | ||
Check failure on line 275 in docs/src/content/docs/getting-started/configuration.mdx GitHub Actions / build
|
||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Incorrect reference in the documentation. The
|
||
|
||
```js 'model: "azure:deployment-id"' | ||
script({ | ||
|
@@ -273,30 +283,10 @@ | |
|
||
</li> | ||
|
||
<li> | ||
|
||
Open a terminal and login to Azure. See Visual Studio or CLI instructions below. | ||
|
||
</li> | ||
|
||
</ol> | ||
|
||
</Steps> | ||
|
||
#### Visual Studio Code | ||
|
||
Visual Studio Code will ask you to allow using the **Microsoft** account | ||
and then will open a browser where you can choose the user or service principal. | ||
|
||
#### CLI | ||
|
||
Login with [Azure CLI](https://learn.microsoft.com/en-us/javascript/api/overview/azure/identity-readme?view=azure-node-latest#authenticate-via-the-azure-cli) | ||
then use the [cli](/genaiscript/reference/cli) as usual. | ||
|
||
```sh | ||
az login | ||
``` | ||
|
||
### API Key | ||
|
||
<Steps> | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -175,6 +175,11 @@ | |
if (!this._azureToken) throw new Error("Azure token not available") | ||
tok.token = "Bearer " + this._azureToken.token | ||
} | ||
if (!tok) { | ||
const { provider } = parseModelIdentifier(modelId) | ||
if (provider === MODEL_PROVIDER_AZURE) | ||
throw new Error("Azure end point not configured") | ||
} | ||
Check failure on line 182 in packages/cli/src/nodehost.ts GitHub Actions / build
|
||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The error "Azure end point not configured" is thrown but not caught. This could lead to unexpected application termination. Consider handling this error to improve the application's robustness. π οΈ
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The
|
||
if (!tok && this.clientLanguageModel) { | ||
return <LanguageModelConfiguration>{ | ||
model: modelId, | ||
|
This file was deleted.
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -10,6 +10,7 @@ | |
MODEL_PROVIDER_OPENAI, | ||
MODEL_PROVIDER_CLIENT, | ||
MODEL_PROVIDER_GITHUB, | ||
TOOL_NAME, | ||
} from "../../core/src/constants" | ||
import { APIType } from "../../core/src/host" | ||
import { parseModelIdentifier } from "../../core/src/models" | ||
|
@@ -143,11 +144,18 @@ | |
|
||
if (res.model) return res.model | ||
else { | ||
await vscode.commands.executeCommand( | ||
"genaiscript.connection.configure", | ||
res.provider, | ||
res.apiType | ||
) | ||
const configure = "Configure..." | ||
vscode.window | ||
.showWarningMessage( | ||
`${TOOL_NAME} - model connection not configured.`, | ||
configure | ||
) | ||
.then((res) => { | ||
if (res === configure) | ||
vscode.commands.executeCommand( | ||
"genaiscript.connection.configure" | ||
) | ||
}) | ||
Check failure on line 158 in packages/vscode/src/lmaccess.ts GitHub Actions / build
|
||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The
|
||
return undefined | ||
} | ||
} | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,22 +1,17 @@ | ||
import * as vscode from "vscode" | ||
import { createVSPath } from "./vspath" | ||
import { TerminalServerManager } from "./servermanager" | ||
import { AzureManager } from "./azuremanager" | ||
import { Uri } from "vscode" | ||
import { ExtensionState } from "./state" | ||
import { Utils } from "vscode-uri" | ||
import { checkFileExists, readFileText } from "./fs" | ||
import { filterGitIgnore } from "../../core/src/gitignore" | ||
import { | ||
parseDefaultsFromEnv, | ||
parseTokenFromEnv, | ||
} from "../../core/src/connection" | ||
import { parseDefaultsFromEnv } from "../../core/src/connection" | ||
import { | ||
DEFAULT_EMBEDDINGS_MODEL, | ||
DEFAULT_MODEL, | ||
DEFAULT_TEMPERATURE, | ||
DOT_ENV_FILENAME, | ||
MODEL_PROVIDER_AZURE, | ||
} from "../../core/src/constants" | ||
import { dotEnvTryParse } from "../../core/src/dotenv" | ||
import { | ||
|
@@ -26,15 +21,14 @@ | |
Host, | ||
} from "../../core/src/host" | ||
import { TraceOptions, AbortSignalOptions } from "../../core/src/trace" | ||
import { arrayify, logVerbose, unique } from "../../core/src/util" | ||
import { arrayify, unique } from "../../core/src/util" | ||
import { LanguageModel } from "../../core/src/chat" | ||
|
||
export class VSCodeHost extends EventTarget implements Host { | ||
dotEnvPath: string = DOT_ENV_FILENAME | ||
userState: any = {} | ||
readonly path = createVSPath() | ||
readonly server: TerminalServerManager | ||
private _azure: AzureManager | ||
readonly defaultModelOptions = { | ||
model: DEFAULT_MODEL, | ||
temperature: DEFAULT_TEMPERATURE, | ||
|
@@ -56,11 +50,6 @@ | |
await parseDefaultsFromEnv(env) | ||
} | ||
|
||
get azure() { | ||
if (!this._azure) this._azure = new AzureManager(this.state) | ||
return this._azure | ||
} | ||
|
||
get context() { | ||
return this.state.context | ||
} | ||
|
@@ -195,23 +184,9 @@ | |
options?: { token?: boolean } & AbortSignalOptions & TraceOptions | ||
): Promise<LanguageModelConfiguration> { | ||
const tok = await this.server.client.getLanguageModelConfiguration( | ||
modelId, | ||
options | ||
) | ||
Check failure on line 189 in packages/vscode/src/vshost.ts GitHub Actions / build
|
||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The
|
||
const { token: askToken } = options || {} | ||
if ( | ||
askToken && | ||
tok && | ||
!tok.token && | ||
tok.provider === MODEL_PROVIDER_AZURE | ||
) { | ||
const azureToken = await this.azure.getOpenAIToken() | ||
if (!azureToken) throw new Error("Azure token not available") | ||
tok.token = "Bearer " + azureToken | ||
tok.curlHeaders = { | ||
Authorization: "Bearer ***", | ||
} | ||
} | ||
return tok | ||
} | ||
|
||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Duplicate content found. The sentence "You can use a managed identity (recommended) or a API key to authenticate with the Azure OpenAI service." is repeated.