Hi team,
First of all, thanks for this framework. It's a great starting point and I've been using it for some pharmaceutical analysis use-cases I have.
I've been using Linkup as my web search provider. It's fairly cheap (0.005$ per standard query and has a "deep search" mode for 0.05$ per query). Also it's French 🇫🇷
On my local repo I implemented that by adding a WEB_PROVIDER env variable to manually select linkup (firecrawl being the default for backward compatibility). You can basically get the idea from this PR
I created a tools/web-providers.ts file that defines a common interface and creates the implementation for both providers. That interface will now be used by tools/web.ts so there's a bit of code changes there
export interface WebClient {
fetch(url: string): Promise<FetchResult>;
search(query: string, count: number): Promise<SearchResponse>;
}
Alternatively we could have tools/web-providers/{types,firecrawl,linkup.ts} if we don't want it all in one file.
What do you think about this? Let me know if I can make a PR in this direction.
Also, are you planning on implementing tests at some point? There is no tests or CI at the moment, which would be better in case you want people to start contributing I believe. In my PR I initially included some tests using vitest but since it's quite opinionated it's probably better if you decide what you want to use / some guidelines and I'd align with this?
Thanks in advance,
Jérémy
Hi team,
First of all, thanks for this framework. It's a great starting point and I've been using it for some pharmaceutical analysis use-cases I have.
I've been using Linkup as my web search provider. It's fairly cheap (0.005$ per standard query and has a "deep search" mode for 0.05$ per query). Also it's French 🇫🇷
On my local repo I implemented that by adding a
WEB_PROVIDERenv variable to manually selectlinkup(firecrawlbeing the default for backward compatibility). You can basically get the idea from this PRI created a
tools/web-providers.tsfile that defines a common interface and creates the implementation for both providers. That interface will now be used bytools/web.tsso there's a bit of code changes thereAlternatively we could have
tools/web-providers/{types,firecrawl,linkup.ts}if we don't want it all in one file.What do you think about this? Let me know if I can make a PR in this direction.
Also, are you planning on implementing tests at some point? There is no tests or CI at the moment, which would be better in case you want people to start contributing I believe. In my PR I initially included some tests using
vitestbut since it's quite opinionated it's probably better if you decide what you want to use / some guidelines and I'd align with this?Thanks in advance,
Jérémy