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

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

以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 PDFSearchToolpdf_tool = PDFSearchTool(config=dict(llm=dict(provider="openai",config=dict(# Ollama deepseek-r1:8bbase_url="http://localhost:11434/v1",model="deepseek-r1:8b"),),embedder=dict(provider="openai",config=dict(# 文本嵌入模型 bge-m3api_base="http://localhost:11434/v1",model="bge-m3:latest"),),)
)

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

from crewai_tools import PDFSearchTool
from dotenv import load_dotenv
import osload_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_queryquery="介绍一下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.rhkb.cn/news/12933.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

嵌入式工程师必学(143):模拟信号链基础

概述: 我们每天使用的许多电子设备,以及我们赖以生存的电子设备,如果不使用电子工程师设计的实际输入信号,就无法运行。 模拟信号链由四个主要元件组成:传感器、放大器、滤波器和模数转换器 (ADC)。这些传感器用于检测、调节模拟信号并将其转换为适合由微控制器或其他数…

C++11详解(二) -- 引用折叠和完美转发

文章目录 2. 右值引用和移动语义2.6 类型分类(实践中没什么用)2.7 引用折叠2.8 完美转发2.9 引用折叠和完美转发的实例 2. 右值引用和移动语义 2.6 类型分类(实践中没什么用) C11以后,进一步对类型进行了划分&#x…

NeetCode刷题第21天(2025.2.4)

文章目录 114 Gas Station 加油站115 Hand of Straights 顺子之手116 Merge Triplets to Form Target 将 Triplelet 合并到 Form Target117 Partition Labels 分区标签118 Valid Parenthesis String 有效的括号字符串119 Insert Interval 插入间隔120 Merge Intervals 合并区间…

车载软件架构 --- 基于AUTOSAR软件架构的ECU开发流程小白篇

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 简单,单纯,喜欢独处,独来独往,不易合同频过着接地气的生活…

Ollama本地搭建大模型

短短一夜之间,中国的AI大模型DeepSeek迅速崛起,成功引起了全球科技界的广泛关注。 deepSeek爆火时间线 DeepSeek大事记 技术突破与产品发布 2024年12月26日:DeepSeek-V3发布,知识类任务水平提升,生成吐字速度加快。…

C#结合html2canvas生成切割图片并导出到PDF

目录 需求 开发运行环境 实现 生成HTML范例片断 HTML元素转BASE64 BASE64转图片 切割长图片 生成PDF文件 小结 需求 html2canvas 是一个 JavaScript 库,它可以把任意一个网页中的元素(包括整个网页)绘制到指定的 canvas 中&#xf…

【通俗易懂说模型】线性回归(附深度学习、机器学习发展史)

🌈 个人主页:十二月的猫-CSDN博客 🔥 系列专栏: 🏀深度学习_十二月的猫的博客-CSDN博客 💪🏻 十二月的寒冬阻挡不了春天的脚步,十二点的黑夜遮蔽不住黎明的曙光 目录 1. 前言 2. …

C#面试常考随笔12:游戏开发中常用的设计模式【C#面试题(中级篇)补充】

C#面试题(中级篇),详细讲解,帮助你深刻理解,拒绝背话术!-CSDN博客 简单工厂模式 优点: 根据条件有工厂类直接创建具体的产品 客户端无需知道具体的对象名字,可以通过配置文件创建…

大模型的底层逻辑及Transformer架构

一、大模型的底层逻辑 1.数据驱动 大模型依赖海量的数据进行训练,数据的质量和数量直接影响模型的性能。通过大量的数据,模型能够学习到丰富的模式和规律,从而更好地处理各种任务。 2.深度学习架构 大模型基于深度学习技术,通常…

C++ 学习:深入理解 Linux 系统中的冯诺依曼架构

一、引言 冯诺依曼架构是现代计算机系统的基础,它的提出为计算机的发展奠定了理论基础。在学习 C 和 Linux 系统时,理解冯诺依曼架构有助于我们更好地理解程序是如何在计算机中运行的,包括程序的存储、执行和资源管理。这对于编写高效、可靠…

【C++】STL——list底层实现

目录 💕1.list的三个类介绍 💕2.list——节点类 (ListNode) 💕3.list——链表类 (List) 💕4.list——迭代器类(重点思考)(ListIterator) 💕5…

deepseek、qwen等多种模型本地化部署

想要在本地部署deepseek、qwen等模型其实很简单,快跟着小编一起部署吧 1 环境搭建 1.1下载安装环境 首先我们需要搭建一个环境ollama,下载地址如下 :Ollama 点击Download 根据自己电脑的系统选择对应版本下载即可 1.2 安装环境(window为例) 可以直接点击安装包进行安…

穷举vs暴搜vs深搜vs回溯vs剪枝系列一>黄金矿工

目录 决策树&#xff1a;代码设计代码&#xff1a; 决策树&#xff1a; 代码设计 代码&#xff1a; class Solution {boolean[][] vis;int ret,m,n;public int getMaximumGold(int[][] grid) {m grid.length;n grid[0].length;vis new boolean[m][n]; for(int i 0; i <…

基于springboot河南省旅游管理系统

基于Spring Boot的河南省旅游管理系统是一种专为河南省旅游行业设计的信息管理系统&#xff0c;旨在整合和管理河南省的旅游资源信息&#xff0c;为游客提供准确、全面的旅游攻略和服务。以下是对该系统的详细介绍&#xff1a; 一、系统背景与意义 河南省作为中国的中部省份&…

并发编程 - 线程同步(三)之原子操作Interlocked简介

上一章我们了解了3种处理多线程中共享资源安全的方法&#xff0c;今天我们将更近一步&#xff0c;学习一种针对简单线程同步场景的解决方案——Interlocked。 在此之前我们先学习一个概念——原子操作。 01、原子操作 原子操作&#xff0c;其概念源于化学领域&#xff0c;原子…

0205算法:最长连续序列、三数之和、排序链表

力扣128&#xff1a;最长连续序列 给定一个未排序的整数数组 nums &#xff0c;找出数字连续的最长序列&#xff08;不要求序列元素在原数组中连续&#xff09;的长度。 请你设计并实现时间复杂度为 O(n) 的算法解决此问题。 class Solution {public int longestConsecutive(in…

JAVA_内部类

定义&#xff1a;在类的内部再定义一个类 特点&#xff1a;内部类可以直接访问外部类中的成员变量&#xff0c;即使是私有的。 外部类要想访问内部类中的成员变量&#xff0c;必须先创建内部类对象。 什么时候使用内部类&#xff1a;B类是A类的一部分&#xff0c;且B单独存在没…

2024 JAVA面试题

第一章-Java基础篇 1、你是怎样理解OOP面向对象 面向对象是利于语言对现实事物进行抽象。面向对象具有以下特征&#xff1a; 继承****&#xff1a;****继承是从已有类得到继承信息创建新类的过程 封装&#xff1a;封装是把数据和操作数据的方法绑定起来&#xff0c;对数据的…

视频融合平台EasyCVR无人机场景视频压缩及录像方案

安防监控视频汇聚EasyCVR平台在无人机场景中发挥着重要的作用&#xff0c;通过高效整合视频流接入、处理与分发等功能&#xff0c;为无人机视频数据的实时监控、存储与分析提供了全面支持&#xff0c;广泛应用于安防监控、应急救援、电力巡检、交通管理等领域。 EasyCVR支持GB…

2025最新软件测试面试大全

前面看到了一些面试题&#xff0c;总感觉会用得到&#xff0c;但是看一遍又记不住&#xff0c;所以我把面试题都整合在一起&#xff0c;都是来自各路大佬的分享&#xff0c;为了方便以后自己需要的时候刷一刷&#xff0c;不用再到处找题&#xff0c;今天把自己整理的这些面试题…