add brave as a search engine
This commit is contained in:
parent
99351fc2a6
commit
ca86a7e358
7 changed files with 284 additions and 17 deletions
|
|
@ -9,6 +9,7 @@ import { BaseMessage } from '@langchain/core/messages';
|
|||
import { StringOutputParser } from '@langchain/core/output_parsers';
|
||||
import { searchSearxng } from '../lib/searchEngines/searxng';
|
||||
import { searchGooglePSE } from '../lib/searchEngines/google_pse';
|
||||
import { searchBraveAPI } from '../lib/searchEngines/brave';
|
||||
import { getSearchEngineBackend } from '../config';
|
||||
import type { BaseChatModel } from '@langchain/core/language_models/chat_models';
|
||||
|
||||
|
|
@ -46,16 +47,15 @@ async function performImageSearch(query: string) {
|
|||
case 'google': {
|
||||
const googleResult = await searchGooglePSE(query);
|
||||
images = googleResult.results.map((result) => {
|
||||
if (result.img_src && result.url && result.title) {
|
||||
return {
|
||||
img_src: result.img_src,
|
||||
url: result.url,
|
||||
title: result.title,
|
||||
source: result.displayLink
|
||||
};
|
||||
}
|
||||
})
|
||||
.filter(Boolean);
|
||||
if (result.img_src && result.url && result.title) {
|
||||
return {
|
||||
img_src: result.img_src,
|
||||
url: result.url,
|
||||
title: result.title,
|
||||
source: result.displayLink
|
||||
};
|
||||
}
|
||||
}).filter(Boolean);
|
||||
break;
|
||||
}
|
||||
|
||||
|
|
@ -76,6 +76,21 @@ async function performImageSearch(query: string) {
|
|||
break;
|
||||
}
|
||||
|
||||
case 'brave': {
|
||||
const braveResult = await searchBraveAPI(query);
|
||||
images = braveResult.results.map((result) => {
|
||||
if (result.img_src && result.url && result.title) {
|
||||
return {
|
||||
img_src: result.img_src,
|
||||
url: result.url,
|
||||
title: result.title,
|
||||
source: result.url
|
||||
};
|
||||
}
|
||||
}).filter(Boolean);
|
||||
break;
|
||||
}
|
||||
|
||||
default:
|
||||
throw new Error(`Unknown search engine ${searchEngine}`);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue