Jigsawstack 통합
Jigsawstack 통합 (Jigsawstack integration)
LangChain JavaScript로 Jigsawstack 툴과 통합해요.
JigsawStack 툴은 에이전트에게 다음 기능을 제공해요:
- JigsawStackAIScrape: 고급 AI를 사용해 웹 콘텐츠를 스크랩해요.
- JigsawStackAISearch: AI 기반 웹 검색을 수행하고 고품질 결과를 가져와요.
- JigsawStackSpeechToText - Whisper large V3 AI 모델을 사용해 비디오·오디오 파일을 전사해요.
- JigsawStackVOCR - 프롬프트를 사용해 이미지에서 데이터를 인식·설명·추출해요.
- JigsawStackTextToSQL - 텍스트에서 의미론적으로 올바른 SQL 쿼리를 생성해요.
설정 (Setup)
자격 증명 (Credentials)
export JIGSAWSTACK_API_KEY="your-api-key"
단독 사용법 (Usage, standalone)
npm install @langchain/openai
import {
JigsawStackAIScrape,
JigsawStackAISearch,
JigsawStackSpeechToText,
JigsawStackVOCR,
JigsawStackTextToSQL,
} from "@langchain/jigsawstack";
export const run = async () => {
// AI Scrape Tool
const aiScrapeTool = new JigsawStackAIScrape({
params: {
element_prompts: ["Pro plan"],
},
});
const result = await aiScrapeTool.invoke("https://jigsawstack.com/pricing");
console.log({ result });
// AI Search Tool
const aiSearchTool = new JigsawStackAISearch();
const doc = await aiSearchTool.invoke("The leaning tower of pisa");
console.log({ doc });
// VOCR Tool
const vocrTool = new JigsawStackVOCR({
params: {
prompt: "Describe the image in detail",
},
});
const data = await vocrTool.invoke(
"https://rogilvkqloanxtvjfrkm.supabase.co/storage/v1/object/public/demo/Collabo%201080x842.jpg?t=2024-03-22T09%3A22%3A48.442Z"
);
console.log({ data });
// Speech-to-Text Tool
const sttTool = new JigsawStackSpeechToText();
await sttTool.invoke(
"https://rogilvkqloanxtvjfrkm.supabase.co/storage/v1/object/public/demo/Video%201737458382653833217.mp4?t=2024-03-22T09%3A50%3A49.894"
);
// Text-to-SQL Tool
const sqlTool = new JigsawStackTextToSQL({
params: {
sql_schema:
"CREATE TABLE Transactions (transaction_id INT PRIMARY KEY, user_id INT NOT NULL,total_amount DECIMAL(10, 2 NOT NULL, transaction_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP,status VARCHAR(20) DEFAULT 'pending',FOREIGN KEY(user_id) REFERENCES Users(user_id))",
},
});
await sqlTool.invoke(
"Generate a query to get transactions that amount exceed 10000 and sort by when created"
);
};
에이전트 내 사용법 (Usage, in an Agent)
import { ChatOpenAI } from "@langchain/openai";
import { initializeAgentExecutorWithOptions } from "@langchain/classic/agents";
import {
JigsawStackAIScrape,
JigsawStackAISearch,
JigsawStackVOCR,
JigsawStackSpeechToText,
JigsawStackTextToSQL,
} from "@langchain/jigsawstack";
const model = new ChatOpenAI({
model: "gpt-5.4-mini",
temperature: 0,
});
// add the tools that you need
const tools = [
new JigsawStackAIScrape(),
new JigsawStackAISearch(),
new JigsawStackVOCR(),
new JigsawStackSpeechToText(),
new JigsawStackTextToSQL(),
];
const executor = await initializeAgentExecutorWithOptions(tools, model, {
agentType: "zero-shot-react-description",
verbose: true,
});
const res = await executor.invoke({
input: `Kokkalo Restaurant Santorini`,
});
console.log(res.output);
관련 (Related)
- 툴 개념 가이드
- 툴 how-to 가이드
출처: 문서
본문
JigsawStack 툴은 AI 스크랩·검색·음성 텍스트 변환·이미지 OCR·텍스트-투-SQL의 다섯 가지 기능을 제공해요. @langchain/jigsawstack 패키지에서 각 툴 클래스를 가져와 단독으로 호출하거나, initializeAgentExecutorWithOptions로 에이전트에 툴로 등록해 사용할 수 있어요. 사용 전에 JIGSAWSTACK_API_KEY 환경 변수로 API 키를 설정해야 해요.