mirror of
https://github.com/SillyTavern/SillyTavern.git
synced 2025-06-05 21:59:27 +02:00
Tavily: allow requesting images
This commit is contained in:
@@ -220,7 +220,7 @@ router.post('/tavily', jsonParser, async (request, response) => {
|
|||||||
return response.sendStatus(400);
|
return response.sendStatus(400);
|
||||||
}
|
}
|
||||||
|
|
||||||
const { query } = request.body;
|
const { query, include_images } = request.body;
|
||||||
|
|
||||||
const body = {
|
const body = {
|
||||||
query: query,
|
query: query,
|
||||||
@@ -229,7 +229,7 @@ router.post('/tavily', jsonParser, async (request, response) => {
|
|||||||
topic: 'general',
|
topic: 'general',
|
||||||
include_answer: true,
|
include_answer: true,
|
||||||
include_raw_content: false,
|
include_raw_content: false,
|
||||||
include_images: false,
|
include_images: !!include_images,
|
||||||
include_image_descriptions: false,
|
include_image_descriptions: false,
|
||||||
include_domains: [],
|
include_domains: [],
|
||||||
max_results: 10,
|
max_results: 10,
|
||||||
@@ -297,6 +297,7 @@ router.post('/koboldcpp', jsonParser, async (request, response) => {
|
|||||||
router.post('/visit', jsonParser, async (request, response) => {
|
router.post('/visit', jsonParser, async (request, response) => {
|
||||||
try {
|
try {
|
||||||
const url = request.body.url;
|
const url = request.body.url;
|
||||||
|
const html = Boolean(request.body.html ?? true);
|
||||||
|
|
||||||
if (!url) {
|
if (!url) {
|
||||||
console.log('No url provided for /visit');
|
console.log('No url provided for /visit');
|
||||||
@@ -340,6 +341,8 @@ router.post('/visit', jsonParser, async (request, response) => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const contentType = String(result.headers.get('content-type'));
|
const contentType = String(result.headers.get('content-type'));
|
||||||
|
|
||||||
|
if (html) {
|
||||||
if (!contentType.includes('text/html')) {
|
if (!contentType.includes('text/html')) {
|
||||||
console.log(`Visit failed, content-type is ${contentType}, expected text/html`);
|
console.log(`Visit failed, content-type is ${contentType}, expected text/html`);
|
||||||
return response.sendStatus(500);
|
return response.sendStatus(500);
|
||||||
@@ -347,6 +350,11 @@ router.post('/visit', jsonParser, async (request, response) => {
|
|||||||
|
|
||||||
const text = await result.text();
|
const text = await result.text();
|
||||||
return response.send(text);
|
return response.send(text);
|
||||||
|
}
|
||||||
|
|
||||||
|
response.setHeader('Content-Type', contentType);
|
||||||
|
const buffer = await result.arrayBuffer();
|
||||||
|
return response.send(Buffer.from(buffer));
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.log(error);
|
console.log(error);
|
||||||
return response.sendStatus(500);
|
return response.sendStatus(500);
|
||||||
|
Reference in New Issue
Block a user