crewai框架第三方API使用官方RAG工具(pdf,csv,json)

最近在研究调用官方的工具,但官方文档的说明是在是太少了,后来在一个视频里看到了如何配置,记录一下

以PDF RAG Search工具举例,官方文档对于自定义模型的说明如下:

默认情况下,该工具使用 OpenAI 进行嵌入和总结。要自定义模型,可以使用配置字典,如下所示:

python 复制代码
tool = PDFSearchTool(
    config=dict(
        llm=dict(
            provider="ollama", # or google, openai, anthropic, llama2, ...
            config=dict(
                model="llama2",
                # temperature=0.5,
                # top_p=1,
                # stream=true,
            ),
        ),
        embedder=dict(
            provider="google", # or openai, ollama, ...
            config=dict(
                model="models/embedding-001",
                task_type="retrieval_document",
                # title="Embeddings",
            ),
        ),
    )
)

但是这个的前提是使用的官方openai的API,如果要改成第三方API的,配置应该如下:

python 复制代码
from crewai_tools import PDFSearchTool

# 自定义大模型配置
pdf_tool = PDFSearchTool(
    config=dict(
        llm=dict(
            provider="openai",
            config=dict(
                base_url="https://xxxxxxx/v1",
                api_key="sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
                model="gpt-4o"
            ),
        ),
        embedder=dict(
            provider="openai",
            config=dict(
                api_base="https://xxxxxxx/v1",
                api_key="sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
                model="text-embedding-3-small"
            ),
        ),
    )
)

其中,gpt-4otext-embedding-3-small都是购买的第三方API里的模型名称

如果想用本地模型,配置如下:

python 复制代码
from crewai_tools import PDFSearchTool

pdf_tool = PDFSearchTool(
    config=dict(
        llm=dict(
            provider="openai",
            config=dict(
                # Ollama deepseek-r1:8b
                base_url="http://localhost:11434/v1",
                model="deepseek-r1:8b"
            ),
        ),
        embedder=dict(
            provider="openai",
            config=dict(
                # 文本嵌入模型 bge-m3
                api_base="http://localhost:11434/v1",
                model="bge-m3:latest"
            ),
        ),
    )
)

下面是一个可以跑通的例子:

python 复制代码
from crewai_tools import PDFSearchTool
from dotenv import load_dotenv
import os

load_dotenv() # 加载环境变量

# 自定义大模型配置
tool = PDFSearchTool(
    config=dict(
        llm=dict(
            provider="openai",
            config=dict(
                base_url=os.getenv("OPENAI_API_BASE"),
                api_key=os.getenv("OPENAI_API_KEY"),
                model=os.getenv("OPENAI_MODEL_NAME")
            ),
        ),
        embedder=dict(
            provider="openai",
            config=dict(
                api_base=os.getenv("OPENAI_API_BASE"),
                api_key=os.getenv("OPENAI_API_KEY"),
                model="text-embedding-3-small"
            ),
        ),
    )
)


# 运行工具,调用工具解析文件并检索内容
result = tool.run(
    pdf='../data/deepseek.pdf',
    # 其他工具使用的参数基本都是search_query
    query="介绍一下deepseek的核心驱技为优势"
)
print("result:",result)

注:

deepseek.pdf内容如下

复制代码
DeepSeek:专注人工智能前沿的创新科技企业
一、企业概况
DeepSeek(深度求索)是一一以人人工智能技为核心驱动力的的创新科科技司,成立于 2023年成总部位 中国。司,聚焦 大模科研发、自然语言处理深NLP是、机器学习等前沿领域成致的 通过技为突破推力AI的普惠化应用。DeepSeek人"探)智能本质成赋能人类未来"核使命成专注 核企业和开发者提供高效、可靠的人工智能解决方案成覆盖金融、医疗、教育、智能制造等多个行业。立于人来成司,凭借技为实的和场景化落地能的成迅速立核AI赛道的新锐的量。
二、心驱技为优势
DeepSeek的心驱竞争的源 其自主研发的多模态大模科体系。司,构建了千亿参数规模的预训练模科框架成支持文本、图像、语音等多模态数据的融合分析与生立。在自然语言理解深NLU是领域成其模科在语义推理、长文本处理、多语言交互等任务中达到行业领先水平。此外成DeepSeek创新性地提出了力态知识蒸馏技为成能够在保证模科性能的前提下成显著降低算的消耗成使AI服务更易 部署在边缘设备中。通过持续优化算法架构与训练方法成司,技为团队已申请百余项国内外专利。
三、应用场景与产品生态
DeepSeek的技为已实现多维求商业化落地:
智能客服系统:核企业提供24小时多轮对话服务成理解准确率达95%人上;
行业知识引擎:赋能金融研报自力生立、医疗影像辅助诊断等垂直场景;
开发者平台:开放API接口与工具链成支持快速构建定制化AI应用;
教育解决方案:通过个性化学习路径推荐成提升教育资源配置效率。
司,采用"基础研究+场景度耕"的双轮动力模式成已与200+企业建于合作成日均处理数据量超10亿条。
四、发展愿景与社会责任
DeepSeek始终秉持**"技为向善"**的发展理念成在追索商业价值的同时成积极参与AI伦理治理。司,牵头制定了行业首个《生立式AI内容溯源标准》成通过区块链技为实现内容可追溯成防范技为滥用风险。未来三年成DeepSeek计划投入5亿元用 通用人工智能深AGI是的基础研究成并设于开放实验室支持学为机构的前沿探)。司,目标一通过持续创新成打造安全、可信、易用的人工智能基础设施成助的全球数字化转科。
五、团队与文化基因
创始团队由顶尖AI科学以与资度产业专以组立成立员多来自国际知名高校与科技企业。司,构建了**"极客精神+务实创新"**的文化体系成推行扁平化管理与跨学科协作机制成鼓励技为人才在宽松环境中实现突破。通过"星火计划"人才培养项目成DeepSeek已建于起覆盖算法、工程、产品等多领域的千人团队成研发人员占比超过80%成持续核行业发展输送高端人才。

.env文件内容,需要替换成自己的API配置

复制代码
# ChatGPT
OPENAI_API_BASE="https://xxxxxxxxxxxxx/v1"
OPENAI_API_KEY="sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
OPENAI_MODEL_NAME="gpt-4o"
相关推荐
冬奇Lab3 分钟前
AI时代的"工具自由":我是如何进入细糠时代的
人工智能·ai编程
CODECOLLECT28 分钟前
技术解析|MDM移动设备管理系统无终身买断制度的底层逻辑
人工智能
北京迅为32 分钟前
《【北京迅为】itop-3568开发板NPU使用手册》- 第 7章 使用RKNN-Toolkit-lite2
linux·人工智能·嵌入式·npu
我是一只puppy38 分钟前
使用AI进行代码审查
javascript·人工智能·git·安全·源代码管理
阿杰学AI39 分钟前
AI核心知识91——大语言模型之 Transformer 架构(简洁且通俗易懂版)
人工智能·深度学习·ai·语言模型·自然语言处理·aigc·transformer
esmap42 分钟前
ESMAP 智慧消防解决方案:以数字孪生技术构建全域感知消防体系,赋能消防安全管理智能化升级
人工智能·物联网·3d·编辑器·智慧城市
LaughingZhu1 小时前
Product Hunt 每日热榜 | 2026-02-08
大数据·人工智能·经验分享·搜索引擎·产品运营
芷栀夏1 小时前
CANN ops-math:筑牢 AI 神经网络底层的高性能数学运算算子库核心实现
人工智能·深度学习·神经网络
用户5191495848451 小时前
CVE-2025-47812:Wing FTP Server 高危RCE漏洞分析与利用
人工智能·aigc
阿里云大数据AI技术1 小时前
【AAAI2026】阿里云人工智能平台PAI视频编辑算法论文入选
人工智能