-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathtools.js
61 lines (56 loc) · 1.96 KB
/
tools.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
import { TavilySearchResults } from "@langchain/community/tools/tavily_search";
const search = new TavilySearchResults({
apiKey: "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",
maxResults: 3,
});
const query = "What is the weather in dallas?";
async function runQuery() {
try {
const resultsString = await search.call(query);
const results = JSON.parse(resultsString);
formatResults(results);
} catch (error) {
console.error("Error:", error);
}
}
function formatResults(results) {
if (Array.isArray(results)) {
results.forEach((result, index) => {
console.log(`Result ${index + 1}:`);
console.log(`Title: ${result.title}`);
console.log(`URL: ${result.url}`);
if (result.content) {
try {
const content = JSON.parse(result.content);
console.log(
`Location: ${content.location.name}, ${content.location.region}, ${content.location.country}`
);
console.log(
`Temperature: ${content.current.temp_c}°C (${content.current.temp_f}°F)`
);
console.log(`Condition: ${content.current.condition.text}`);
console.log(
`Wind: ${content.current.wind_mph} mph (${content.current.wind_kph} kph) from ${content.current.wind_dir}`
);
console.log(`Humidity: ${content.current.humidity}%`);
console.log(
`Pressure: ${content.current.pressure_mb} mb (${content.current.pressure_in} in)`
);
console.log(
`Visibility: ${content.current.vis_km} km (${content.current.vis_miles} miles)`
);
console.log(`UV Index: ${content.current.uv}`);
console.log(
`Gust: ${content.current.gust_mph} mph (${content.current.gust_kph} kph)`
);
} catch (e) {
console.log("Content:", result.content);
}
}
console.log("\n");
});
} else {
console.log("The results are not an array:", results);
}
}
runQuery();