fix(titleConvo): use openAIApiKey and azure config from route handler (#637)

* fix(titleConvo): use openAIApiKey from route handler, handle azure conditional from route

* chore: remove comment
This commit is contained in:
Danny Avila 2023-07-13 23:59:14 -04:00 committed by GitHub
parent 3e5c5a828d
commit 1b999108e4
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 24 additions and 14 deletions

View file

@ -2,7 +2,7 @@
const _ = require('lodash');
const { genAzureChatCompletion, getAzureCredentials } = require('../utils/');
const titleConvo = async ({ text, response, oaiApiKey }) => {
const titleConvo = async ({ text, response, openAIApiKey, azure = false }) => {
let title = 'New Chat';
const ChatGPTClient = (await import('@waylaidwanderer/chatgpt-api')).default;
@ -19,7 +19,6 @@ const titleConvo = async ({ text, response, oaiApiKey }) => {
||>Title:`
};
const azure = process.env.AZURE_API_KEY ? true : false;
const options = {
azure,
reverseProxyUrl: process.env.OPENAI_REVERSE_PROXY || null,
@ -35,7 +34,9 @@ const titleConvo = async ({ text, response, oaiApiKey }) => {
frequency_penalty: 0
};
let apiKey = oaiApiKey || process.env.OPENAI_API_KEY;
let apiKey = openAIApiKey ?? process.env.OPENAI_API_KEY;
console.log('title api key', apiKey);
if (azure) {
apiKey = process.env.AZURE_API_KEY;

View file

@ -167,17 +167,17 @@ const ask = async ({ text, endpoint, endpointOption, parentMessageId = null, con
...endpointOption
};
let oaiApiKey = req.body?.token ?? process.env.OPENAI_API_KEY;
let openAIApiKey = req.body?.token ?? process.env.OPENAI_API_KEY;
if (process.env.PLUGINS_USE_AZURE) {
clientOptions.azure = getAzureCredentials();
oaiApiKey = clientOptions.azure.azureOpenAIApiKey;
openAIApiKey = clientOptions.azure.azureOpenAIApiKey;
}
if (oaiApiKey && oaiApiKey.includes('azure') && !clientOptions.azure) {
if (openAIApiKey && openAIApiKey.includes('azure') && !clientOptions.azure) {
clientOptions.azure = JSON.parse(req.body?.token) ?? getAzureCredentials();
oaiApiKey = clientOptions.azure.azureOpenAIApiKey;
openAIApiKey = clientOptions.azure.azureOpenAIApiKey;
}
const chatAgent = new PluginsClient(oaiApiKey, clientOptions);
const chatAgent = new PluginsClient(openAIApiKey, clientOptions);
const onAgentAction = (action) => {
const formattedAction = formatAction(action);
@ -235,7 +235,12 @@ const ask = async ({ text, endpoint, endpointOption, parentMessageId = null, con
res.end();
if (parentMessageId == '00000000-0000-0000-0000-000000000000' && newConvo) {
const title = await titleConvo({ text, response });
const title = await titleConvo({
text,
response,
openAIApiKey,
azure: !!clientOptions.azure,
});
await saveConvo(req.user.id, {
conversationId: conversationId,
title

View file

@ -138,15 +138,14 @@ const ask = async ({ text, endpointOption, parentMessageId = null, endpoint, con
...endpointOption
};
let oaiApiKey = req.body?.token ?? process.env.OPENAI_API_KEY;
let openAIApiKey = req.body?.token ?? process.env.OPENAI_API_KEY;
if (process.env.AZURE_API_KEY && endpoint === 'azureOpenAI') {
clientOptions.azure = JSON.parse(req.body?.token) ?? getAzureCredentials();
// clientOptions.reverseProxyUrl = process.env.AZURE_REVERSE_PROXY ?? genAzureChatCompletion({ ...clientOptions.azure });
oaiApiKey = clientOptions.azure.azureOpenAIApiKey;
openAIApiKey = clientOptions.azure.azureOpenAIApiKey;
}
const client = new OpenAIClient(oaiApiKey, clientOptions);
const client = new OpenAIClient(openAIApiKey, clientOptions);
let response = await client.sendMessage(text, {
user,
@ -180,7 +179,12 @@ const ask = async ({ text, endpointOption, parentMessageId = null, endpoint, con
res.end();
if (parentMessageId == '00000000-0000-0000-0000-000000000000' && newConvo) {
const title = await titleConvo({ text, response });
const title = await titleConvo({
text,
response,
openAIApiKey,
azure: endpoint === 'azureOpenAI'
});
await saveConvo(req.user.id, {
conversationId,
title