⚙️ fix: minor issues related to agents (#4297)

* chore: deprecate `web-browser` tool

* fix: edit agent permission
This commit is contained in:
Danny Avila 2024-10-01 11:11:15 -04:00 committed by GitHub
parent 2ce8647540
commit 2ca257dfb9
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 15 additions and 24 deletions

View file

@ -1,9 +1,7 @@
const { Tools } = require('librechat-data-provider');
const { ZapierToolKit } = require('langchain/agents');
const { Calculator } = require('langchain/tools/calculator');
const { WebBrowser } = require('langchain/tools/webbrowser');
const { SerpAPI, ZapierNLAWrapper } = require('langchain/tools');
const { OpenAIEmbeddings } = require('langchain/embeddings/openai');
const { createCodeExecutionTool, EnvVar } = require('@librechat/agents');
const { getUserPluginAuthValue } = require('~/server/services/PluginService');
const {
@ -31,12 +29,6 @@ const { loadToolSuite } = require('./loadToolSuite');
const { loadSpecs } = require('./loadSpecs');
const { logger } = require('~/config');
const getOpenAIKey = async (options, user) => {
let openAIApiKey = options.openAIApiKey ?? process.env.OPENAI_API_KEY;
openAIApiKey = openAIApiKey === 'user_provided' ? null : openAIApiKey;
return openAIApiKey || (await getUserPluginAuthValue(user, 'OPENAI_API_KEY'));
};
/**
* Validates the availability and authentication of tools for a user based on environment variables or user-specific plugin authentication values.
* Tools without required authentication or with valid authentication are considered valid.
@ -177,8 +169,6 @@ const loadTools = async ({
traversaal_search: TraversaalSearch,
};
const openAIApiKey = await getOpenAIKey(options, user);
const customConstructors = {
e2b_code_interpreter: async () => {
if (!functions) {
@ -191,7 +181,6 @@ const loadTools = async ({
user,
options: {
model,
openAIApiKey,
...options,
},
});
@ -208,14 +197,6 @@ const loadTools = async ({
options,
});
},
'web-browser': async () => {
// let openAIApiKey = options.openAIApiKey ?? process.env.OPENAI_API_KEY;
// openAIApiKey = openAIApiKey === 'user_provided' ? null : openAIApiKey;
// openAIApiKey = openAIApiKey || (await getUserPluginAuthValue(user, 'OPENAI_API_KEY'));
const browser = new WebBrowser({ model, embeddings: new OpenAIEmbeddings({ openAIApiKey }) });
browser.description_for_model = browser.description;
return browser;
},
serpapi: async () => {
let apiKey = process.env.SERPAPI_API_KEY;
if (!apiKey) {