@langchain/community
Version:
Third-party integrations for LangChain.js
1 lines • 3.68 kB
Source Map (JSON)
{"version":3,"file":"duckduckgo_search.d.ts","names":["Tool","ToolParams","SearchOptions","SafeSearchType","SearchTimeType","DuckDuckGoSearchParameters","DuckDuckGoSearch","Promise"],"sources":["../../src/tools/duckduckgo_search.d.ts"],"sourcesContent":["import { Tool, ToolParams } from \"@langchain/core/tools\";\nimport { type SearchOptions } from \"duck-duck-scrape\";\nexport { SafeSearchType, type SearchOptions, SearchTimeType, } from \"duck-duck-scrape\";\nexport interface DuckDuckGoSearchParameters extends ToolParams {\n /**\n * The search options for the search using the SearchOptions interface\n * from the duck-duck-scrape package.\n */\n searchOptions?: SearchOptions;\n /**\n * The maximum number of results to return from the search.\n * Limiting to 10 to avoid context overload.\n * @default 10\n */\n maxResults?: number;\n}\n/**\n * DuckDuckGo tool integration.\n *\n * Setup:\n * Install `@langchain/community` and `duck-duck-scrape`.\n *\n * ```bash\n * npm install @langchain/community duck-duck-scrape\n * ```\n *\n * ## [Constructor args](https://api.js.langchain.com/classes/_langchain_community.tools_duckduckgo_search.DuckDuckGoSearch.html#constructor)\n *\n * <details open>\n * <summary><strong>Instantiate</strong></summary>\n *\n * ```typescript\n * import { DuckDuckGoSearch } from \"@langchain/community/tools/duckduckgo_search\";\n *\n * const tool = new DuckDuckGoSearch({ maxResults: 1 });\n * ```\n * </details>\n *\n * <br />\n *\n * <details>\n *\n * <summary><strong>Invocation</strong></summary>\n *\n * ```typescript\n * await tool.invoke(\"what is the current weather in sf?\");\n *\n * // output: [{\"title\":\"San Francisco, CA Current Weather | AccuWeather\",\"link\":\"https://www.accuweather.com/en/us/san-francisco/94103/current-weather/347629\",\"snippet\":\"<b>Current</b> <b>weather</b> <b>in</b> San Francisco, CA. Check <b>current</b> conditions in San Francisco, CA with radar, hourly, and more.\"}]\n * ```\n * </details>\n *\n * <br />\n *\n * <details>\n *\n * <summary><strong>Invocation with tool call</strong></summary>\n *\n * ```typescript\n * // This is usually generated by a model, but we'll create a tool call directly for demo purposes.\n * const modelGeneratedToolCall = {\n * args: {\n * input: \"what is the current weather in sf?\",\n * },\n * id: \"tool_call_id\",\n * name: tool.name,\n * type: \"tool_call\",\n * };\n * await tool.invoke(modelGeneratedToolCall);\n * ```\n *\n * ```text\n * ToolMessage {\n * \"content\": \"[{\\\"title\\\":\\\"San Francisco, CA Weather Conditions | Weather Underground\\\",\\\"link\\\":\\\"https://www.wunderground.com/weather/us/ca/san-francisco\\\",\\\"snippet\\\":\\\"San Francisco <b>Weather</b> Forecasts. <b>Weather</b> Underground provides local & long-range <b>weather</b> forecasts, weatherreports, maps & tropical <b>weather</b> conditions for the San Francisco area.\\\"}]\",\n * \"name\": \"duckduckgo-search\",\n * \"additional_kwargs\": {},\n * \"response_metadata\": {},\n * \"tool_call_id\": \"tool_call_id\"\n * }\n * ```\n * </details>\n */\nexport declare class DuckDuckGoSearch extends Tool {\n private searchOptions?;\n private maxResults;\n constructor(params?: DuckDuckGoSearchParameters);\n static lc_name(): string;\n name: string;\n description: string;\n _call(input: string): Promise<string>;\n}\n//# sourceMappingURL=duckduckgo_search.d.ts.map"],"mappings":";;;;UAGiBK,0BAAAA,SAAmCJ;EAAnCI;AA8EjB;;;EAA8CL,aAAAA,CAAAA,EAzE1BE,eAyE0BF;EAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAA7BM,gBAAAA,SAAyBN,IAAAA;;;uBAGrBK;;;;wBAICE"}