mcpField
E
exa-rag

exa-rag

github.com/ejirocodes开发6235 次安装18 周前更新
代码仓库

关于 exa-rag

exa-rag 汇总 Exa 与 LangChain、LlamaIndex、Vercel AI SDK 及 MCP 等集成的 RAG 使用模式,面向构建网页检索与问答应用的开发者。内容涵盖检索配置、来源引用和结果筛选。

主要功能

  1. 01LangChain 检索器集成
  2. 02LlamaIndex 数据源集成
  3. 03Vercel AI SDK 搜索工具
  4. 04OpenAI 兼容端点
  5. 05RAG 结果筛选建议

适用场景

  1. 01为 LangChain RAG 链添加网页检索
  2. 02将 Exa 接入 LlamaIndex 文档问答
  3. 03在 Next.js AI 应用中配置搜索工具

MCP 相关

介绍将 Exa 用作 Claude MCP 服务及工具调用的集成方式。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/ejirocodes/agent-skills --skill exa-rag

安装后在 Claude Code 中输入/exa-rag确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
langchain.md
llamaindex.md
mcp-tools.md
vercel-ai.md

详细介绍

Exa RAG 集成

快速参考

主题适用场景参考
LangChain使用 LangChain 构建 RAG 链langchain.md
LlamaIndex将 Exa 用作 LlamaIndex 数据源llamaindex.md
Vercel AI SDK在 Next.js AI 应用中添加网页搜索vercel-ai.md
MCP 与工具Claude MCP 服务、OpenAI 工具、函数调用mcp-tools.md

核心模式

LangChain 检索器
from langchain_exa import ExaSearchRetriever

retriever = ExaSearchRetriever(
    exa_api_key="your-key",
    k=5,
    highlights=True
)

docs = retriever.invoke("latest AI research papers")
LlamaIndex 读取器
from llama_index.readers.web import ExaReader

reader = ExaReader(api_key="your-key")
documents = reader.load_data(
    query="machine learning best practices",
    num_results=10
)
Vercel AI SDK 工具
import { exa } from "@agentic/exa";
import { createOpenAI } from "@ai-sdk/openai";
import { generateText } from "ai";

const result = await generateText({
  model: openai("gpt-4"),
  tools: { search: exa.searchAndContents },
  prompt: "Search for the latest TypeScript features",
});
OpenAI 兼容端点
from openai import OpenAI

client = OpenAI(
    base_url="https://api.exa.ai/v1",
    api_key="your-exa-key"
)

response = client.chat.completions.create(
    model="exa",
    messages=[{"role": "user", "content": "What are the latest AI trends?"}]
)

集成方案选择

框架最适合主要特性
LangChain复杂链、AgentExaSearchRetriever、工具集成
LlamaIndex文档索引、问答ExaReader、查询引擎
Vercel AI SDKNext.js 应用、流式处理工具定义、适用于边缘环境
OpenAI Compat即插即用替代方案最少的代码改动
Claude MCPClaude Desktop、Claude Code原生工具调用

常见错误

  1. 未在 RAG 中使用摘要片段 - 全文会浪费上下文;使用 highlights=True 获取相关片段
  2. 缺少来源归属 - 始终在引用中包含 result.url,以确保回答有据可依
  3. 忽略摘要 - summary=True 可在不增加整页内容开销的情况下提供精简上下文
  4. 获取过多结果 - 从 3-5 条结果开始;更多结果并不总能提升 RAG 质量
  5. 未筛选域名 - 使用 include_domains 限定权威来源
  6. 跳过日期筛选 - 对于时事内容,始终添加 start_published_date,避免信息过时
  7. 忘记异步模式 - 在生产环境中使用异步检索器,以提升吞吐量

评论

支持 Markdown