华为云 Flexus+DeepSeek 征文|搭建部署Dify-LLM推理引擎,赋能AI Agent智能体实现动态联网搜索能力

华为云 Flexus 云服务器 X 实例专门为 AI 应用场景设计。它提供了强大的计算能力,能够满足 DeepSeek 模型以及后续搭建 AI Agent 智能体过程中对于数据处理和模型运行的高要求。在网络方面,具备高速稳定的网络带宽,这对于需要频繁联网搜索信息的 AI Agent 智能体至关重要,能确保快速获取网络数据。并且其具备良好的扩展性,当我们后续需要对智能体进行功能扩展或者处理更大规模数据时,可以方便地进行资源调整。同时,在成本控制上,Flexus 云服务器 X 实例提供了按需和包月等多种计费方式,适合不同规模和预算的开发者与企业。
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

graph TDA[User Agent] --> B[Dify API Server]B --> C[LLM Inference Engine]C --> D[Search Plugin]D --> E[Google/Bing API]C --> F[Knowledge Base]

安装搭建步骤

步骤一:准备华为云 Flexus 云服务器 X 实例

1.1 登录华为云官网,在云服务器产品页面中选择 Flexus 云服务器 X 实例。

1.2 根据实际需求选择合适的配置,包括 CPU、内存、存储等。如果预计处理大量数据和复杂任务,建议选择较高配置以确保运行流畅。

1.3 选择操作系统,如 Ubuntu 20.04 等,因为其对后续软件安装和配置的兼容性较好。

1.4 完成配置选择后,点击创建实例,按照提示完成支付等流程。等待实例创建完成,获取服务器的公网 IP 地址、用户名和初始密码。

步骤二:在 Flexus 云服务器上部署 DeepSeek 模型

2.1 使用 SSH 工具,输入服务器的公网 IP 地址、用户名和密码,登录到 Flexus 云服务器。例如,在 Linux 系统下,可以在终端中执行命令ssh username@server_ip,然后输入密码即可登录。

在这里插入图片描述

2.2 安装必要的依赖软件
根据 DeepSeek 模型的运行要求,安装相应的依赖软件。这可能包括 Python 环境(建议 Python 3.8 及以上版本)、CUDA(如果服务器配备 GPU 且模型支持 GPU 加速)、cuDNN 等。例如,安装 Python 3.8 可以通过以下命令:

sudo apt update
sudo apt install software - properties - common
sudo add - apt - repository ppa:deadsnakes/ppa
sudo apt install python3.8

2.3 下载 DeepSeek 模型
从 DeepSeek 官方网站或者其指定的开源代码托管平台(如 GitHub)下载 DeepSeek 模型的相关文件。确保下载的模型版本与服务器环境和后续使用需求相匹配。下载完成后,将模型文件解压到合适的目录,例如/home/user/deepseek_model。

# For Base Model
git lfs install
git clone https://huggingface.co/deepseek-ai/DeepSeek-V3-Base
# For Chat Model
git lfs install
git clone https://huggingface.co/deepseek-ai/DeepSeek-V3

在这里插入图片描述

2.4 配置 DeepSeek 模型
进入模型解压目录,根据模型提供的配置文件模板,创建并编辑配置文件。配置文件中需要设置模型运行的相关参数,如模型权重文件路径、输入输出格式、是否启用 GPU 加速等。例如,如果使用 GPU 加速,需要在配置文件中正确设置 CUDA 相关参数:

{"use_gpu": true,"cuda_device": 0,"model_path": "/home/user/deepseek_model/model_weights.bin"
}

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

步骤三:获取API Key

打开浏览器,访问博查 AI 搜索的官方网站open.bochaai.com。
在网站首页,使用微信扫码进行登录。如果没有账号,按照提示进行注册。
登录成功后,点击右上角的 “AP KEY 管理”。
在 AP KEY 管理页面中,点击创建 API KEY。创建成功后,复制生成的 API KEY,后续在配置 AI Agent 智能体联网搜索功能时会用到。

在这里插入图片描述

步骤四:搭建 AI Agent 智能体联网搜索功能

在这里插入图片描述

安装相关框架和库
在 Flexus 云服务器上,使用 pip 安装搭建 AI Agent 智能体所需的框架和库,如 LangChain 等。LangChain 是一个用于开发由语言模型驱动的应用程序的框架,它提供了丰富的工具和接口来连接大模型与各种外部工具,包括 Web Search API。安装命令如下:

pip install langchain

编写代码实现联网搜索功能
使用 Python 编写代码,利用 LangChain 框架将 DeepSeek 模型与博查 Web Search API 进行集成:

在这里插入图片描述

from langchain.llms import CustomLLM
from langchain.tools import BaseTool, StructuredTool, Tool, tool
from langchain.agents import initialize_agent, AgentType
import requests# 自定义DeepSeek模型调用类
class DeepSeekLLM(CustomLLM):def _call(self, prompt, stop = None):# 实现调用DeepSeek模型的逻辑,根据模型的API进行请求发送和结果获取response = requests.post('http://deepseek_model_api_url', json = {'prompt': prompt})return response.json()['answer']@propertydef _identifying_params(self):return {}@propertydef _llm_type(self):return "deepseek"# 定义博查Web Search API工具
@tool
def web_search(query):api_key = "your_api_key"url = "https://api.bochaai.com/web_search"headers = {"Authorization": f"Bearer {api_key}","Content - Type": "application/json"}data = {"query": query}response = requests.post(url, headers = headers, json = data)if response.status_code == 200:return response.json()else:return "Web search error"# 初始化DeepSeek模型实例
deepseek_llm = DeepSeekLLM()# 初始化智能体
tools = [web_search]
agent = initialize_agent(tools, deepseek_llm, agent = AgentType.ZERO_SHOT_REACT_DESCRIPTION, verbose = True)# 测试智能体
result = agent.run("最近有什么重大的科技新闻")
print(result)

在上述代码中,首先自定义了DeepSeekLLM类来调用 DeepSeek 模型,然后定义了web_search工具来调用博查 Web Search API 进行联网搜索,最后使用initialize_agent函数初始化智能体,并将 DeepSeek 模型和联网搜索工具整合在一起。运行代码时,将your_api_key替换为实际获取的博查 Web Search API Key,并根据 DeepSeek 模型的实际 API 地址修改http://deepseek_model_api_url。

步骤五:测试与优化

功能测试
在代码中设置不同的查询问题,如 “最近的人工智能研究进展”“当前热门的科技产品有哪些” 等,运行代码后观察智能体的回答。检查回答是否准确地包含了通过联网搜索获取的最新信息,并且回答的逻辑和内容是否合理。

测试项纯LLM响应联网增强响应
实时股价查询❌ 无法获取✅ 准确结果
最新赛事比分❌ 过时信息✅ 实时更新

性能优化
如果在测试过程中发现智能体的响应速度较慢,可以从以下几个方面进行优化:
检查服务器资源使用情况,确保服务器有足够的 CPU、内存和网络带宽。如果资源不足,可以考虑升级服务器配置或者优化代码中的资源使用方式。
优化博查 Web Search API 的调用参数,例如调整搜索结果的数量、设置合理的搜索时间范围等,以减少不必要的数据获取,提高搜索效率。
对 DeepSeek 模型的配置进行微调,例如调整模型的缓存策略、优化模型的计算资源分配等,以加快模型的推理速度。
错误处理优化
检查代码中的错误处理机制是否完善。例如,当博查 Web Search API 调用失败时,智能体是否能够给出合理的提示信息,而不是返回错误代码或者崩溃。完善错误处理代码,确保智能体在面对各种异常情况时都能稳定运行,并给用户提供友好的反馈。

结尾

通过以上步骤,我们成功地使用华为云 Flexus+DeepSeek搭建了具备联网搜索能力的 AI Agent 智能体,能够为用户提供更全面、及时的信息服务。在实际应用中,可以根据具体需求进一步扩展和优化智能体的功能。

本文联网搜索使用的是开源免费的searxng
github项目开源地址 https://github.com/searxng/searxng

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

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

相关文章

Python 100个常用函数全面解析

Python 100个常用函数全面解析 1. 类型转换函数 1.1 int() 将字符串或数字转换为整数。 # 基本用法 int(123) # 123 int(3.14) # 3# 指定进制转换 int(1010, 2) # 10 (二进制转十进制) int(FF, 16) # 255 (十六进制转十进制)# 临界值处理 int() # ValueError: …

分享在日常开发中常用的ES6知识点【面试常考】

前言 在日常的业务开发中,可以熟悉运用掌握的知识点快速解决问题很重要。这篇分享JS相关的知识点,主要就是对数据的处理。 注意:本篇分享的知识点,只是起到一个抛砖引玉的作用,详情的使用和更多的ES6知识点还请参考官…

CHI协议验证中的异常及边界验证

CHI协议验证中的异常及边界验证 针对 CHI 协议的错误注入工具、覆盖率衡量方法及实际项目中的投入平衡 CHI 协议作为多核系统中复杂的缓存一致性协议,验证其行为需要强大的工具和方法来执行错误注入和边界条件测试,并衡量测试覆盖率。以下详细讨论常用工具、覆盖率评估方法及…

技术专栏|LLaMA家族——模型架构

LLaMA的模型架构与GPT相同,采用了Transformer中的因果解码器结构,并在此基础上进行了多项关键改进,以提升训练稳定性和模型性能。LLaMA的核心架构如图 3.14 所示,融合了后续提出的多种优化方法,这些方法也在其他模型&a…

电脑插入多块移动硬盘后经常出现卡顿和蓝屏

当电脑在插入多块移动硬盘后频繁出现卡顿和蓝屏问题时,可能涉及硬件资源冲突、驱动兼容性、供电不足或系统设置等多方面原因。以下是逐步排查和解决方案: 1. 检查电源供电问题 问题原因:多块移动硬盘同时运行可能导致USB接口供电不足&#x…

Go 语言实现高性能 EventBus 事件总线系统(含网络通信、微服务、并发异步实战)

前言 在现代微服务与事件驱动架构(EDA)中,事件总线(EventBus) 是实现模块解耦与系统异步处理的关键机制。 本文将以 Go 语言为基础,从零构建一个高性能、可扩展的事件总线系统,深入讲解&#…

npm ERR! @biomejs/biome@1.9.4 postinstall: `node scripts/postinstall.js`

npm install 报错如下, npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! @biomejs/biome@1.9.4 postinstall: `node scripts/postinstall.js` npm ERR! Exit status 1 npm ERR! npm ERR! Failed at the @biomejs/biome@1.9.4 postinstall script. npm ERR! This is pro…

APMPlus × veFaaS 一键开启函数服务性能监控,让函数运行全程可观测

资料来源:火山引擎-开发者社区 近年来,无服务器架构(Serverless)的崛起让开发者得以从基础设施的复杂性中解放,专注于业务逻辑创新。但随着采用率提升,新的问题开始出现——函数实例的短暂生命周期、动态变…

玛哈特零件矫平机:精密制造中的平整度守护者

在精密制造、模具、冲压、钣金加工、汽车零部件、航空航天以及电子设备等众多工业领域,零件的平整度(Flatness)是一项至关重要的质量指标。微小的翘曲、扭曲或弯曲都可能导致装配困难、功能失效、外观缺陷甚至影响整机性能。为了消除零件在加…

std::make_shared简化智能指针 `std::shared_ptr` 的创建过程,并提高性能(减少内存分配次数,提高缓存命中率)

std::make_shared 是 C 标准库中的一个函数模板,用于简化智能指针 std::shared_ptr 的创建过程。引入 std::make_shared 的主要原因是提高代码的安全性、性能和可读性。以下是详细分析: 1. 安全性提升 避免显式调用 new 导致的错误 在不使用 std::make…

JDK版本如何丝滑切换

一句话总结 》》》步骤分为: 下载对应JDK配置环境变量 下载JDK 如何下载JDK这里不必多提,提出一点,就是多个版本的JDK最好放在一个文件夹里(忽略我的java文件夹,这里都是不同的jdk版本): 配置环…

Rust 通用代码生成器:莲花,红莲尝鲜版三十六,哑数据模式图片初始化功能介绍

Rust 通用代码生成器:莲花,红莲尝鲜版三十六,哑数据模式图片初始化功能介绍 Rust 通用代码生成器莲花,红莲尝鲜版三十六。支持全线支持图片预览,可以直接输出带图片的哑数据模式快速原型。哑数据模式和枚举支持图片。…

45. Jump Game II

目录 题目描述 贪心 题目描述 45. Jump Game II 贪心 正向查找可到达的最大位置 时间复杂度O(n) class Solution { public:int jump(vector<int>& nums) {int n nums.size();if(n 1)return 0;int cur_cover 0;int cover 0;int res 0;for(int i 0;i < …

model.classifier 通常指模型的分类头 是什么,详细举例说明在什么部位,发挥什么作用

model.classifier 通常指模型的分类头 是什么,详细举例说明在什么部位,发挥什么作用 在深度学习模型中,分类头(Classifier Head)是指模型末端用于完成分类任务的组件,通常是一个或多个全连接层(线性层)。它的作用是将模型提取的高层语义特征映射到具体的分类标签空间。…

机器学习+城市规划第十四期:利用半参数地理加权回归来实现区域带宽不同的规划任务

机器学习城市规划第十四期&#xff1a;利用半参数地理加权回归来实现区域带宽不同的规划任务 引言 在城市规划中&#xff0c;如何根据不同地区的地理特征来制定有效的规划方案是一个关键问题。不同区域的需求和规律是不同的&#xff0c;因此我们必须考虑到地理空间的差异性。…

Kivy的ButtonBehavior学习

Kivy的ButtonBehavior学习 ButtonBehavior 简介1、主要特点2、基本用法3、主要事件4、常用属性5、方法代码示例 文档&#xff1a;https://kivy.org/doc/stable/api-kivy.uix.behaviors.button.html#kivy.uix.behaviors.button.ButtonBehavior ButtonBehavior 简介 ButtonBeha…

WPS中将在线链接转为图片

WPS中将在线链接转为图片 文章目录 WPS中将在线链接转为图片一&#xff1a;解决方案1、下载图片&#xff0c;精确匹配&#xff08;会员功能&#xff09;2、将在线链接直接转为图片 一&#xff1a;解决方案 1、下载图片&#xff0c;精确匹配&#xff08;会员功能&#xff09; …

API:解锁数字化协作的钥匙及开放实现路径深度剖析

API:解锁数字化协作的钥匙及开放实现路径深度剖析 一、API 的概念与本质 (一)定义与基本原理 API(Application Programming Interface,应用程序编程接口)是一组定义、协议和工具,用于构建和集成软件应用程序。它如同一个精心设计的合约,详细规定了软件组件之间相互交…

Azure 虚拟机端口资源:专用 IP 和公共 IP Azure Machine Learning 计算实例BUG

## 报错无解 找不到Azure ML 计算实例关联的 NSG .env 文件和 ufw status&#xff1a; .env 文件中 EXPOSE_NGINX_PORT8080 是正确的&#xff0c;它告诉 docker-compose.yaml 将 Nginx 暴露在宿主机的 8080 端口。 sudo ufw status 显示 Status: inactive&#xff0c;意味着宿…

深入理解Python协程:async def、async for、await、yield详解

前言 在现代编程中&#xff0c;异步编程已成为提高程序效率和性能的重要方式。 Python 作为一种流行的编程语言&#xff0c;自然也提供了强大的异步编程支持。 本文将详细介绍 Python 中的协程&#xff0c;以及 async def、async for、await 和 yield 等关键字的使用。 协程简介…