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

news2025/2/6 9:16:59

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

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

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

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的,配置应该如下:

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里的模型名称

在这里插入图片描述
如果想用本地模型,配置如下:

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"
            ),
        ),
    )
)

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

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"

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2293704.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

算法 哈夫曼树和哈夫曼编码

目录 前言 一,二进制转码 二,哈夫曼编码和哈夫曼树 三,蓝桥杯 16 哈夫曼树 总结 前言 这个文章需要有一定的树的基础,没学过树的伙伴可以去看我博客树的文章 当我们要编码一个字符串转成二进制的时候,我们要怎么…

Sumatra PDF:小巧免费,满足多样阅读需求

Sumatra PDF是一款完全免费的本地阅读器软件,以小巧的体积和全面的功能受到用户青睐。如今,它已经更新到3.3版本,带来了更多实用功能,尤其是新增的注释功能,值得我们再次关注。 软件特色 轻量级体积:压缩…

TiDB 分布式数据库多业务资源隔离应用实践

导读 随着 TiDB 在各行业客户中的广泛应用 ,特别是在多个业务融合到一套 TiDB 集群中的场景,各企业对集群内多业务隔离的需求日益增加。与此同时,TiDB 在多业务融合场景下的资源隔离方案日趋完善,详情可参考文章 《你需要什么样的…

105,【5】buuctf web [BJDCTF2020]Easy MD5

进入靶场 先输入试试回显 输入的值成了password的内容 查看源码,尝试得到信息 什么也没得到 抓包,看看请求与响应里有什么信息 响应里得到信息 hint: select * from admin where passwordmd5($pass,true) 此时需要绕过MD5()函…

BFS(广度优先搜索)——搜索算法

BFS,也就是广度(宽度)优先搜索,二叉树的层序遍历就是一个BFS的过程。而前、中、后序遍历则是DFS(深度优先搜索)。从字面意思也很好理解,DFS就是一条路走到黑,BFS则是一层一层地展开。…

33.Word:国家中长期人才发展规划纲要【33】

目录 NO1.2样式​ NO3​ 图表 ​ NO4.5.6​ 开始→段落标记视图→导航窗格→检查有无遗漏 NO1.2样式 F12/另存为:Word.docx:考生文件夹样式的复制样式的修改 样式的应用(没有相似/超级多的情况下)——替换 [ ]通配符&#x…

gym-anytrading

参考:https://github.com/upb-lea/gym-electric-motor AnyTrading 是一组基于 reinforcement learning (RL) 的 trading algorithms(交易算法)的 OpenAI Gym 环境集合。 该项目主要用于foreign exchange (FOREX) 和 stock markets (股票市场)…

如何自定义软件安装路径及Scoop包管理器使用全攻略

如何自定义软件安装路径及Scoop包管理器使用全攻略 一、为什么无法通过WingetUI自定义安装路径? 问题背景: WingetUI是Windows包管理器Winget的图形化工具,但无法直接修改软件的默认安装路径。原因如下: Winget设计限制&#xf…

私有化部署 DeepSeek + Dify,构建你的专属私人 AI 助手

私有化部署 DeepSeek Dify,构建你的专属私人 AI 助手 概述 DeepSeek 是一款开创性的开源大语言模型,凭借其先进的算法架构和反思链能力,为 AI 对话交互带来了革新性的体验。通过私有化部署,你可以充分掌控数据安全和使用安全。…

Java 进阶 01 —— 5 分钟回顾一下 Java 基础知识

Java 进阶 01 —— 5 分钟回顾一下 Java 基础知识 Java 生态圈Java 跨平台的语言 Java 虚拟机规范JVM 跨语言的平台多语言混合编程两种架构 举例 JVM 的生命周期 虚拟机的启动虚拟机的执行虚拟机的退出 JVM 发展历程 Sun Classic VMExact VMHotSpotBEA 的 JRockitIBM 的 J9 …

V103开发笔记1-20250113

2025-01-13 一、应用方向分析 应用项目: PCBFLY无人机项目(包括飞控和手持遥控器); 分析移植项目,应用外设资源包括: GPIO, PWM,USART,GPIO模拟I2C/SPI, ADC,DMA,USB等; 二、移植项目的基本…

DeepSeek研究员在线爆料:R1训练仅用两到三周,春节期间观察到R1 zero强大进化

内容提要 刚刚我注意到DeepSeek研究员Daya Guo回复了网友有关DeepSeek R1的一些问题,以及接下来的公司的计划,只能说DeepSeek的R1仅仅只是开始,内部研究还在快速推进,DeepSeek 的研究员过年都没歇,一直在爆肝推进研究…

LLM推理--vLLM解读

主要参考: vLLM核心技术PagedAttention原理 总结一下 vLLM 的要点: Transformer decoder 结构推理时需要一个token一个token生成,且每个token需要跟前序所有内容做注意力计算(包括输入的prompt和该token之前生成的token&#xf…

vscode软件操作界面UI布局@各个功能区域划分及其名称称呼

文章目录 abstract检查用户界面的主要区域官方文档关于UI的介绍 abstract 检查 Visual Studio Code 用户界面 - Training | Microsoft Learn 本质上,Visual Studio Code 是一个代码编辑器,其用户界面和布局与许多其他代码编辑器相似。 界面左侧是用于访…

一键开启/关闭deepseek

一键开启/关闭 Deepseek对应下载的模型一键开启 Deepseek,一键关闭Deepseek双击对应的bat,就可以启动https://mbd.pub/o/bread/Z56YmpZvbat 下载:https://mbd.pub/o/bread/Z56YmpZv 可以自己写下来,保存成bat文件,也可…

单纯接入第三方模型就无需算法备案了么?

随着人工智能技术的快速发展,越来越多的企业开始接入第三方模型以提升自身业务能力。然而,关于算法备案的问题也引发了诸多讨论,尤其是单纯接入第三方模型是否需要备案这一问题,更是让不少企业感到困惑。 一、明确算法备案的主体…

DS图(中)(19)

文章目录 前言一、图的遍历广度优先遍历深度优先遍历 二、最小生成树Kruskal算法Prim算法两种方法对比 总结 前言 承上启下,我们来学习下图的中篇!!! 一、图的遍历 图的遍历指的是遍历图中的顶点,主要有 广度优先遍历 …

YK人工智能(六)——万字长文学会基于Torch模型网络可视化

1. 可视化网络结构 随着深度神经网络做的的发展,网络的结构越来越复杂,我们也很难确定每一层的输入结构,输出结构以及参数等信息,这样导致我们很难在短时间内完成debug。因此掌握一个可以用来可视化网络结构的工具是十分有必要的…

Gitea+Gridea 创建个人博客

历史文档存档,该方法目前已经无法使用,部署方法可供参考 Gitea部分 1.关于Gitea Gitea 是一个面向开源及私有软件项目的托管平台,是全球最大的代码托管平台之一。它采用 Git 分布式版本控制系统,为开发者提供了代码托管、版本控…

【Linux】一文带你入门了解线程和虚拟地址空间中页表映射的秘密(内附手绘底层逻辑图 通俗易懂)

绪论​ 每日激励:“努力去做自己该做的,但是不要期待回报,不是付出了就会有回报的,做了就不要后悔,不做才后悔。—Jack” 绪论​: 本章是LInux中非常重要的线程部分,通过了解线程的基本概念&am…