From a42373e73fc4825dd2c356bf2618c57a1087b8df Mon Sep 17 00:00:00 2001 From: Travis Fischer Date: Fri, 16 Jun 2023 00:37:48 -0700 Subject: [PATCH] =?UTF-8?q?=E2=9B=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- examples/llm-with-search.ts | 6 ++---- src/tools/serpapi.ts | 14 +++++++++----- 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/examples/llm-with-search.ts b/examples/llm-with-search.ts index a1f61cb..fdef610 100644 --- a/examples/llm-with-search.ts +++ b/examples/llm-with-search.ts @@ -9,10 +9,8 @@ async function main() { const agentic = new Agentic({ openai }) const res = await agentic - .gpt4( - `Can you summarize the top {{numResults}} results for today's news about {{topic}}?` - ) - .tools([new SerpAPITool(), new DiffbotTool()]) + .gpt4(`Summarize latest news about {{topic}} using markdown.`) + .tools([new SerpAPITool()]) .input( z.object({ topic: z.string(), diff --git a/src/tools/serpapi.ts b/src/tools/serpapi.ts index caf1d0b..824811f 100644 --- a/src/tools/serpapi.ts +++ b/src/tools/serpapi.ts @@ -7,7 +7,7 @@ import { normalizeUrl } from '@/url-utils' export const SerpAPIInputSchema = z.object({ query: z.string().describe('search query'), - numResults: z.number().int().positive().default(10).optional() + numResults: z.number().int().positive().default(5).optional() }) export type SerpAPIInput = z.infer @@ -15,7 +15,7 @@ export const SerpAPIOrganicSearchResult = z.object({ position: z.number().optional(), title: z.string().optional(), link: z.string().optional(), - displayed_link: z.string().optional(), + // displayed_link: z.string().optional(), snippet: z.string().optional(), source: z.string().optional(), date: z.string().optional() @@ -25,7 +25,7 @@ export const SerpAPIAnswerBox = z.object({ type: z.string().optional(), title: z.string().optional(), link: z.string().optional(), - displayed_link: z.string().optional(), + // displayed_link: z.string().optional(), snippet: z.string().optional() }) @@ -42,7 +42,7 @@ export const SerpAPITweet = z.object({ export const SerpAPITwitterResults = z.object({ title: z.string().optional(), - displayed_link: z.string().optional(), + // displayed_link: z.string().optional(), tweets: z.array(SerpAPITweet).optional() }) @@ -91,10 +91,14 @@ export class SerpAPITool extends BaseTask { protected override async _call( ctx: types.TaskCallContext ): Promise { - const { query, numResults = 10 } = ctx.input! + const { query, numResults = 5 } = ctx.input! const res = await this._serpapiClient.search({ q: query + + // TODO: the `num` parameter doesn't seem to work consistently to SerpAPI and + // instead only returns a subset of results, so we instead just `slice` the + // results manuall }) this._logger.debug(