Add Serper API as an alternative search provider option for faster speeds and no rate limitations from Google

This commit is contained in:
Roger M 2024-04-29 19:44:53 +01:00
parent ab6cda690f
commit 4cd0778094
12 changed files with 137 additions and 32 deletions

View file

@ -11,7 +11,7 @@ import {
} from '@langchain/core/runnables';
import { StringOutputParser } from '@langchain/core/output_parsers';
import { Document } from '@langchain/core/documents';
import { searchSearxng } from '../lib/searxng';
import { search } from '../lib/search';
import type { StreamEvent } from '@langchain/core/tracers/log_stream';
import type { BaseChatModel } from '@langchain/core/language_models/chat_models';
import type { Embeddings } from '@langchain/core/embeddings';
@ -111,7 +111,7 @@ const createBasicAcademicSearchRetrieverChain = (llm: BaseChatModel) => {
return { query: '', docs: [] };
}
const res = await searchSearxng(input, {
const res = await search(input, {
language: 'en',
engines: [
'arxiv',

View file

@ -7,7 +7,7 @@ import { PromptTemplate } from '@langchain/core/prompts';
import formatChatHistoryAsString from '../utils/formatHistory';
import { BaseMessage } from '@langchain/core/messages';
import { StringOutputParser } from '@langchain/core/output_parsers';
import { searchSearxng } from '../lib/searxng';
import { search } from '../lib/search';
import type { BaseChatModel } from '@langchain/core/language_models/chat_models';
const imageSearchChainPrompt = `
@ -52,7 +52,7 @@ const createImageSearchChain = (llm: BaseChatModel) => {
llm,
strParser,
RunnableLambda.from(async (input: string) => {
const res = await searchSearxng(input, {
const res = await search(input, {
engines: ['bing images', 'google images'],
});

View file

@ -11,7 +11,7 @@ import {
} from '@langchain/core/runnables';
import { StringOutputParser } from '@langchain/core/output_parsers';
import { Document } from '@langchain/core/documents';
import { searchSearxng } from '../lib/searxng';
import { search } from '../lib/search';
import type { StreamEvent } from '@langchain/core/tracers/log_stream';
import type { BaseChatModel } from '@langchain/core/language_models/chat_models';
import type { Embeddings } from '@langchain/core/embeddings';
@ -111,7 +111,7 @@ const createBasicRedditSearchRetrieverChain = (llm: BaseChatModel) => {
return { query: '', docs: [] };
}
const res = await searchSearxng(input, {
const res = await search(input, {
language: 'en',
engines: ['reddit'],
});

View file

@ -11,7 +11,7 @@ import {
} from '@langchain/core/runnables';
import { StringOutputParser } from '@langchain/core/output_parsers';
import { Document } from '@langchain/core/documents';
import { searchSearxng } from '../lib/searxng';
import { search } from '../lib/search';
import type { StreamEvent } from '@langchain/core/tracers/log_stream';
import type { BaseChatModel } from '@langchain/core/language_models/chat_models';
import type { Embeddings } from '@langchain/core/embeddings';
@ -111,7 +111,7 @@ const createBasicWebSearchRetrieverChain = (llm: BaseChatModel) => {
return { query: '', docs: [] };
}
const res = await searchSearxng(input, {
const res = await search(input, {
language: 'en',
});

View file

@ -11,7 +11,7 @@ import {
} from '@langchain/core/runnables';
import { StringOutputParser } from '@langchain/core/output_parsers';
import { Document } from '@langchain/core/documents';
import { searchSearxng } from '../lib/searxng';
import { search } from '../lib/search';
import type { StreamEvent } from '@langchain/core/tracers/log_stream';
import type { BaseChatModel } from '@langchain/core/language_models/chat_models';
import type { Embeddings } from '@langchain/core/embeddings';
@ -110,7 +110,7 @@ const createBasicWolframAlphaSearchRetrieverChain = (llm: BaseChatModel) => {
return { query: '', docs: [] };
}
const res = await searchSearxng(input, {
const res = await search(input, {
language: 'en',
engines: ['wolframalpha'],
});

View file

@ -11,7 +11,7 @@ import {
} from '@langchain/core/runnables';
import { StringOutputParser } from '@langchain/core/output_parsers';
import { Document } from '@langchain/core/documents';
import { searchSearxng } from '../lib/searxng';
import { search } from '../lib/search';
import type { StreamEvent } from '@langchain/core/tracers/log_stream';
import type { BaseChatModel } from '@langchain/core/language_models/chat_models';
import type { Embeddings } from '@langchain/core/embeddings';
@ -111,7 +111,7 @@ const createBasicYoutubeSearchRetrieverChain = (llm: BaseChatModel) => {
return { query: '', docs: [] };
}
const res = await searchSearxng(input, {
const res = await search(input, {
language: 'en',
engines: ['youtube'],
});