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

View file

@ -167,17 +167,17 @@ const ask = async ({ text, endpoint, endpointOption, parentMessageId = null, con
...endpointOption ...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) { if (process.env.PLUGINS_USE_AZURE) {
clientOptions.azure = getAzureCredentials(); 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(); 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 onAgentAction = (action) => {
const formattedAction = formatAction(action); const formattedAction = formatAction(action);
@ -235,7 +235,12 @@ const ask = async ({ text, endpoint, endpointOption, parentMessageId = null, con
res.end(); res.end();
if (parentMessageId == '00000000-0000-0000-0000-000000000000' && newConvo) { 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, { await saveConvo(req.user.id, {
conversationId: conversationId, conversationId: conversationId,
title title

View file

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