UNPKG

@lobehub/chat

Version:

Lobe Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.

62 lines (51 loc) 1.29 kB
import { BochaImpl } from './bocha'; import { ExaImpl } from './exa'; import { FirecrawlImpl } from './firecrawl'; import { JinaImpl } from './jina'; import { Search1APIImpl } from './search1api'; import { SearXNGImpl } from './searxng'; import { TavilyImpl } from './tavily'; import { SearchServiceImpl } from './type'; /** * Available search service implementations */ export enum SearchImplType { Bocha = 'bocha', Exa = 'exa', Firecrawl = 'firecrawl', Jina = 'jina', SearXNG = 'searxng', Search1API = 'search1api', Tavily = 'tavily', } /** * Create a search service implementation instance */ export const createSearchServiceImpl = ( type: SearchImplType = SearchImplType.SearXNG, ): SearchServiceImpl => { switch (type) { case SearchImplType.Bocha: { return new BochaImpl(); } case SearchImplType.Exa: { return new ExaImpl(); } case SearchImplType.Firecrawl: { return new FirecrawlImpl(); } case SearchImplType.Jina: { return new JinaImpl(); } case SearchImplType.SearXNG: { return new SearXNGImpl(); } case SearchImplType.Tavily: { return new TavilyImpl(); } default: { return new Search1APIImpl(); } } }; export type { SearchServiceImpl } from './type';