CrawlForge
LangChain

Integración con LangChain

Integre CrawlForge MCP con LangChain para crear potentes agentes de IA con capacidades de web scraping. Úselo como cargador de documentos, herramienta o cadena de recuperación personalizada.

Casos de uso

Cargadores de documentos
Cargue páginas web como documentos para almacenes vectoriales y aplicaciones de RAG
Agentes de IA
Dé a los agentes herramientas de web scraping para obtener datos en tiempo real
Cadenas de recuperación
Cree cadenas personalizadas que obtienen y procesan contenido web
Pipelines de investigación
Cree flujos de trabajo de investigación automatizados con la herramienta deep_research

Instalación

Instale LangChain y el adaptador de CrawlForge MCP.

Bash
npm install langchain @langchain/core @langchain/community
npm install @crawlforge/langchain-adapter
También necesitará una API key de CrawlForge desde el panel.

Cargador de documentos

Use CrawlForge como cargador de documentos para obtener páginas web para aplicaciones de RAG.

Typescript
import { CrawlForgeLoader } from '@crawlforge/langchain-adapter';

// Initialize the loader
const loader = new CrawlForgeLoader({
  apiKey: process.env.CRAWLFORGE_API_KEY!,
  tool: 'extract_text', // or 'fetch_url', 'extract_content'
});

// Load a single document
const docs = await loader.load('https://example.com');

console.log(docs[0].pageContent); // Clean text content
console.log(docs[0].metadata);    // URL, title, credits used

// Load multiple documents
const urls = [
  'https://example.com/page1',
  'https://example.com/page2',
  'https://example.com/page3'
];

const allDocs = await loader.loadMany(urls);
console.log(`Loaded ${allDocs.length} documents`);
Buena práctica: Use extract_text para contenido limpio o extract_content para la extracción de artículos.

Pipeline de RAG con almacén vectorial

Cree un pipeline de RAG completo con el cargador de documentos de CrawlForge y un almacén vectorial.

Typescript
import { CrawlForgeLoader } from '@crawlforge/langchain-adapter';
import { OpenAIEmbeddings } from '@langchain/openai';
import { MemoryVectorStore } from 'langchain/vectorstores/memory';
import { RetrievalQAChain } from 'langchain/chains';
import { ChatOpenAI } from '@langchain/openai';

// 1. Load documents from web pages
const loader = new CrawlForgeLoader({
  apiKey: process.env.CRAWLFORGE_API_KEY!,
  tool: 'extract_content'
});

const docs = await loader.loadMany([
  'https://example.com/doc1',
  'https://example.com/doc2',
  'https://example.com/doc3'
]);

// 2. Create embeddings and vector store
const embeddings = new OpenAIEmbeddings();
const vectorStore = await MemoryVectorStore.fromDocuments(
  docs,
  embeddings
);

// 3. Create retrieval chain
const model = new ChatOpenAI({ modelName: 'gpt-4' });
const chain = RetrievalQAChain.fromLLM(
  model,
  vectorStore.asRetriever()
);

// 4. Query the knowledge base
const response = await chain.call({
  query: 'What are the key points from these documents?'
});

console.log(response.text);

Herramientas para agentes

Dé a los agentes de LangChain capacidades de web scraping con las herramientas de CrawlForge.

Typescript
import { CrawlForgeTool } from '@crawlforge/langchain-adapter';
import { initializeAgentExecutorWithOptions } from 'langchain/agents';
import { ChatOpenAI } from '@langchain/openai';

// Create CrawlForge tools
const tools = [
  new CrawlForgeTool({
    name: 'web_search',
    description: 'Search the web for information',
    apiKey: process.env.CRAWLFORGE_API_KEY!,
    tool: 'search_web'
  }),
  new CrawlForgeTool({
    name: 'fetch_page',
    description: 'Fetch and extract content from a URL',
    apiKey: process.env.CRAWLFORGE_API_KEY!,
    tool: 'extract_content'
  }),
  new CrawlForgeTool({
    name: 'deep_research',
    description: 'Perform comprehensive research on a topic',
    apiKey: process.env.CRAWLFORGE_API_KEY!,
    tool: 'deep_research'
  })
];

// Initialize agent
const model = new ChatOpenAI({ modelName: 'gpt-4', temperature: 0 });
const executor = await initializeAgentExecutorWithOptions(
  tools,
  model,
  {
    agentType: 'openai-functions',
    verbose: true
  }
);

// Run agent
const result = await executor.call({
  input: 'Research the latest developments in quantum computing'
});

console.log(result.output);
Consejos para agentes: Use nombres y descripciones de herramientas descriptivos para ayudar al LLM a elegir la herramienta adecuada. Establezca verbose=true para ver el razonamiento del agente.

Cadena de recuperación personalizada

Cree una cadena personalizada que busca, obtiene y resume contenido web.

Typescript
import { CrawlForgeLoader } from '@crawlforge/langchain-adapter';
import { PromptTemplate } from '@langchain/core/prompts';
import { RunnableSequence } from '@langchain/core/runnables';
import { ChatOpenAI } from '@langchain/openai';
import { StringOutputParser } from '@langchain/core/output_parsers';

// Initialize CrawlForge loader
const loader = new CrawlForgeLoader({
  apiKey: process.env.CRAWLFORGE_API_KEY!,
  tool: 'deep_research'
});

// Create custom chain
const prompt = PromptTemplate.fromTemplate(
  `Based on the following research, answer the question:\n\n{context}\n\nQuestion: {question}\n\nAnswer:`
);

const model = new ChatOpenAI({ modelName: 'gpt-4' });

const chain = RunnableSequence.from([
  {
    context: async (input) => {
      const docs = await loader.load(input.question);
      return docs[0].pageContent;
    },
    question: (input) => input.question
  },
  prompt,
  model,
  new StringOutputParser()
]);

// Run the chain
const result = await chain.invoke({
  question: 'What are the latest AI safety research findings?'
});

console.log(result);

Buenas prácticas

  • Elija la herramienta adecuada — Use extract_text (1 credit) para contenido sencillo, deep_research (10 credits) para un análisis exhaustivo
  • Implemente caché — Almacene en caché los documentos obtenidos para evitar llamadas a la API redundantes y ahorrar credits
  • Maneje los límites de tasa — Implemente lógica de reintento con retroceso exponencial para aplicaciones en producción
  • Monitoree el uso de credits — Compruebe los metadatos de los documentos para conocer el uso de credits y configure alertas en su panel
¿Listo para crear con LangChain?
Explore las 23 herramientas de CrawlForge o consulte otras integraciones.
Ver todas las herramientasIntegración con LlamaIndex