腾讯云HAI部署DeepSeek结合Ollama API搭建智能对话系统

前言

本文将详细介绍如何在腾讯云HAI平台上部署DeepSeek模型,并配置使用Ollama API服务以实现对外部请求的支持。通过对前期准备、部署流程、API服务配置及使用的详细阐述,希望能为读者提供一个全面且实用的指南,助力AI应用的高效开发和部署。

一、腾讯云 HAI 部署 DeepSeek 详细教程

下面我们将详细介绍如何在腾讯云 HAI 上部署 DeepSeek 模型,即使是没有深厚技术背景的小白,也能按照以下步骤轻松完成部署。

(一)注册与登录腾讯云

打开浏览器,访问腾讯云官网(https://cloud.tencent.com/ )。

请在此添加图片描述

点击页面右上角的 “免费注册” 按钮,按照提示填写相关信息,完成腾讯云账号的注册。注册过程中,需要提供有效的手机号码或邮箱,用于接收验证码和账号相关信息。

注册成功后,返回腾讯云官网首页,点击 “登录” 按钮,使用刚刚注册的账号登录腾讯云控制台。

(二)进入腾讯云 HAI 控制台

登录腾讯云控制台后,在页面上方的搜索框中输入 “HAI”,然后在搜索结果中点击 “高性能应用服务 HAI”,进入腾讯云 HAI 服务页面。

请在此添加图片描述

(三)新建 HAI 应用

在 HAI 服务页面中,点击 “新建” 按钮,进入新建应用页面。

请在此添加图片描述

1. 选择应用

在应用列表中,切换到 “社区应用” 标签页,找到 “deepseek-r1:7b” 选项并选择 。该模型适用于多种自然语言处理任务,如文本生成、问答系统、机器翻译等。

请在此添加图片描述

2. 计费模式

根据自己的使用需求选择计费方式,若只是测试使用,建议选择按量计费,使用完成后及时关闭实例,可节省成本;若有长期稳定的使用需求,可考虑包月计费。

请在此添加图片描述

3. 地域选择

根据自己所在的城市或网络情况,就近选择地域,这样可以降低网络延迟,提高访问速度。例如,如果您在北京地区,可选择 “北京” 地域。

请在此添加图片描述

4. 算力方案

根据模型的运行需求和预算选择合适的算力方案,如 GPU 基础型、GPU 进阶型等。GPU 基础型适用于一般的测试和小型应用场景,成本较低;GPU 进阶型则提供更高的算力和显存,适用于大规模模型训练和高并发的推理场景,但费用相对较高。对于初次体验 DeepSeek 模型的用户,GPU 基础型通常可以满足基本需求。

请在此添加图片描述

5. 云硬盘

默认提供 200GB 的免费空间,可根据实际使用需求进行调整。如果需要存储大量的数据或模型文件,可适当增加云硬盘的容量。

6. 设置实例名称

为新建的实例设置一个易于识别的名称,方便后续管理和识别。例如,命名为 “deepseek-r1:7b-Yue”。

请在此添加图片描述

确认所有配置信息无误后,勾选相关协议,然后点击 “立即购买” 按钮。

(四)等待实例创建完成

点击 “立即购买” 后,系统开始创建 deepseek-r1:7b 实例,页面会显示 “创建中” 状态。这个过程通常需要几分钟时间,具体时间取决于所选的算力方案和当前腾讯云的资源情况。

请在此添加图片描述

您可以在 HAI 服务页面的实例列表中,实时查看实例的创建进度。当状态变为 “运行中” 时,表示实例创建成功,可以开始使用。

请在此添加图片描述

二、Ollama 服务基本原理

Ollama 是一个开源的大型语言模型(LLM)运行框架,旨在简化在本地环境中运行和管理大型语言模型的流程。它支持多种流行的语言模型(如 LLaMA 2、Mistral、Phi-3 等),并提供简单的命令行界面,使用户能够快速下载、配置和运行模型。

(一)模型管理与组织

1. 模型存储
  • Ollama会将从外部获取(如通过其提供的命令下载)的各种大型语言模型(如LLaMA 2、Mistral、Phi - 3等)存储在本地特定的目录结构中。这些模型包含预训练的神经网络权重、配置文件等相关数据。
  • 它对模型进行分类管理,以便能够快速定位和调用不同的模型。
2. 版本控制
  • 能够识别不同版本的模型。当有新的模型版本发布或者用户手动切换模型版本时,Ollama可以根据版本标识准确地加载相应的模型文件。

(二)交互接口(API)原理

1. RESTful架构遵循
  • Ollama服务基于RESTful API设计原则构建其交互接口。这意味着它使用标准的HTTP方法(如GET、POST、PUT、DELETE等)来执行不同的操作。
  • 例如,通常使用POST方法来发送包含输入数据(如提示词等)的请求到服务器,以触发模型的推理操作。
2. 端点定义
  • 定义了一系列特定的API端点,每个端点对应一种功能。比如“/api/generate”端点用于根据给定的提示生成文本,“/api/chat”端点用于处理对话模式的交互。
  • 这些端点接受特定格式的JSON数据作为输入,其中包含诸如模型名称、输入文本(提示)、是否流式输出(stream)等关键信息。

(三)推理执行过程

1. 请求接收与解析
  • 当客户端(可以是命令行工具、其他程序或者Web界面)发送请求到Ollama服务的API端点时,服务首先接收并解析这个请求。
  • 解析过程包括验证请求的格式是否正确、提取关键的参数(如指定的模型、输入的提示词等)。
2. 模型加载与预处理
  • 根据请求中指定的模型名称,Ollama从本地存储中加载相应的模型。
  • 在进行推理之前,可能需要对输入的提示词进行一些预处理操作,例如将文本转换为模型能够接受的格式(如标记化等)。
3. 推理计算
  • 加载并预处理好相关数据后,Ollama将输入数据送入模型的神经网络中进行推理计算。
  • 这个过程涉及到大量的矩阵运算等复杂的数学操作,模型的神经元根据预训练的权重对输入进行处理,逐步生成输出结果。

三、HAI中利用Ollama调用Api

腾讯云高性能应用服务 HAI 已经为我们预先安装好了 Ollama,开发者可以直接使用。只需打开 HAI 服务器,选择 “JupyterLab”,在打开的 JupyterLab 页面中

请在此添加图片描述

点击 “Terminal” 打开终端。

请在此添加图片描述

在终端中,您可以输入相关命令来启动 Ollama服务。例如,输入 “ollama serve” 命令来启动“ollama;

请在此添加图片描述

Ollama 的 RESTful API 默认运行在 http://localhost:6399。您可以使用多种工具和方法来调用这些 API.

以下是几种常见的方法:

1. 使用 curl 命令调用 API

curl 是一个强大的命令行工具,适用于发送各种类型的HTTP请求。以下是使用 curl 调用 Ollama API 的示例:

生成文本请求示例

curl -X POST http://localhost:6399/api/generate \
     -H "Content-Type: application/json" \
     -d '{
           "model": "deepseek-r1:7b",
           "prompt": "你好!",
           "stream": false
         }'

请在此添加图片描述

对话模式请求示例

curl -X POST http://localhost:6399/api/chat \
     -H "Content-Type: application/json" \
     -d '{
           "model": "deepseek-r1:7b",
           "messages": [
             {"role": "user", "content": "你好!"},
             {"role": "assistant", "content": "你好!有什么我可以帮助你的吗?"},
             {"role": "user", "content": "推荐一些美食?"}
           ],
           "stream": false
         }'

请在此添加图片描述

参数说明:

  • -X POST:指定HTTP请求方法为POST。
  • -H "Content-Type: application/json":设置请求头,指定内容类型为JSON。
  • -d '{...}':发送的JSON格式的数据负载。

2. 使用编程语言调用 Ollama API

您可以使用各种编程语言(如 Python、Java、JavaScript 等)通过HTTP客户端库来调用Ollama API。以下是使用Python的requests库的示例:

安装 requests

pip install requests

Python 示例代码

import requests
import json

# 定义API端点和请求数据
url = "http://localhost:6399/api/generate"
data = {
    "model": "deepseek-r1:7b",
    "prompt": "推荐一些美食?",
    "stream": False
}

# 发送POST请求
response = requests.post(url, headers={"Content-Type": "application/json"}, data=json.dumps(data))

# 检查响应状态
if response.status_code == 200:
    result = response.json()
    print("生成的文本:", result.get('response'))
else:
    print(f"请求失败,状态码: {response.status_code}")
    print("错误信息:", response.text)

请在此添加图片描述

3. 使用 Web 界面工具

除了命令行和编程方式,您还可以使用图形化的Web界面工具来与Ollama模型进行交互。例如:

  • Ollama Web UI:一个轻量级的Web界面,允许用户通过浏览器与Ollama服务交互。
  • 其他第三方工具:如 ollama-webui-liteLobe Chat 等,提供更丰富的功能和更好的用户体验。

4. 集成到应用程序中

您可以将Ollama API集成到自己的应用程序中,以实现智能对话、文本生成等功能。以下是一些常见的集成场景:

  • 聊天机器人:利用Ollama的对话能力,构建智能聊天机器人。
  • 内容生成:自动生成文章、故事、代码等文本内容。
  • 问答系统:构建基于大型语言模型的问答系统,提供准确的信息检索和回答。

通过以上方法,您可以灵活地调用Ollama API,将强大的大型语言模型能力集成到您的应用和服务中。

四、案例:利用Ollama Api服务搭建AI智能对话系统

为了快速方便构建该系统,我们可以通过腾讯云AI代码助手搭建AI智能对话系统。

大家可参考我之前发布的

腾讯云AI代码助手实践:基于腾讯混元实现智能问答与交互AI对话功能

请在此添加图片描述

(一)集成Ollama Api接口

在开发完成的项目中,我们我么我们将调用Ollama Api接口来为我们的智能对话系统提供服务。

1. 封装请求Api
/**
 * 发送消息到 Ollama API 并获取响应
 * @param {Object} payload - 请求的 JSON 数据
 * @returns {Promise<Object>} - 返回解析后的响应数据
 */
async function sendMessageToOllama(payload) {
  try {
    const apiUrl = 'http://localhost:6399/api/chat';
    const response = await fetch(apiUrl, {
      method: 'POST',
      headers: {
        'Content-Type': 'application/json',
      },
      body: JSON.stringify(payload),
    });

    if (!response.ok) {
      throw new Error(`API 请求失败,状态码:${response.status}`);
    }
    const data = await response.json();
    return data;
  } catch (error) {
    console.error('发送消息到 Ollama API 时出错:', error);
    throw error;
  }
}
2. 项目调用请求
const payload = {
  model: 'deepseek-r1:7b',
  messages: input.value,
  stream: false,
};

sendMessageToOllama(payload)
  .then((data) => {
    console.log('API 响应:', data);
    
    // 更新AI回复
    messages.value[messages.value.length - 1] = {
      role: 'assistant',
      content: data.message.content,
      timestamp: new Date().toLocaleString()
    }
  })
  .catch((error) => {
    console.error('处理 API 响应时出错:', error);
  });
3. 处理返回结果

我们通过界面,输入我们的问题,点击发送消息,等待DeepSeeK模型的处理。

请在此添加图片描述

我们可以通过网页控制台查看结果。

请在此添加图片描述

(二)体验与反馈

通过对返回结果的处理,我们可以在界面正确显示返回的结果。

请在此添加图片描述

自此我们成功开发出一款结合腾讯云HAI部署的DeepSeek模型提供的AI服务的智能问答系统。

五、总结与展望

在腾讯云HAI平台部署DeepSeek模型并使用Ollama API服务供外部请求,是一个复杂但非常有意义的过程。通过合理的部署和配置,能够充分利用腾讯云HAI平台的强大计算资源,实现DeepSeek模型的高效运行和处理。通过Ollama API服务的对外开放,使得外部的应用程序和系统能够方便地调用模型的功能,为各个领域的人工智能应用开发提供了有力支持。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

从零开始学Python爬虫:(二)使用基本库urllib(上)

urllib库是python内置库&#xff0c;并不需要我们额外安装。 通过它&#xff0c;我们就可以完成请求和响应&#xff0c;得到网页内容。 现在&#xff0c;我们来详细看一看&#xff1a; 一、urllib库构成 而urllib库包含以下四个模块&#xff1a; urllib.request&#xff…

OpenAI Deep Research被huggingface 24小时复现开源了

自OpenAI发布Deep Research&#xff08;一种使用推理来综合大量在线信息并完成多步骤研究任务的AI Agent&#xff09;之后开源社区已经迎来一大波复现了&#xff0c;PaperAgent进行了梳理&#xff1a; 1.2k星 https://github.com/jina-ai/node-DeepResearch 825 https://gith…

【DeepSeek × Postman】请求回复

新建一个集合 在 Postman 中创建一个测试集合 DeepSeek API Test&#xff0c;并创建一个关联的测试环境 DeepSeek API Env&#xff0c;同时定义两个变量 base_url 和 api_key 的步骤如下&#xff1a; 1. 创建测试集合 DeepSeek API Test 打开 Postman。点击左侧导航栏中的 Co…

​阿里妈妈推出“淘宝星辰·图生视频”,AI电商内容创作全面升级

近日,基于自研的淘宝星辰视频生成大模型,阿里妈妈正式推出商用级图生视频AI Native应用——淘宝星辰图生视频,目前已对淘宝天猫商家开放使用。这一全新的AI Native工具,结合了海量电商数据、丰富的设计语言以及业内领先的营销经验,将推动电商AI内容创作的全流程智能化升级。 【…

AGI的基石:什么是机器学习

什么是机器学习&#xff1a;机器学习是人工智能的子集&#xff0c;深度学习是其重要的组成部分&#xff0c;包括不限于&#xff1a;deep neural networks 、deep belief networks和recurrent neural networks。在深度学习中&#xff0c;有三种基本的神经网络架构&#xff1a;FF…

游戏引擎学习第95天

回顾昨天的内容 我们一起完成游戏开发。我们正在进行自定义渲染的工作&#xff0c;这非常棒。我们基本上是在实现一个GPU的功能&#xff0c;自己来做这一切&#xff0c;这样我们可以看到它是如何运作的。 令人惊讶的是&#xff0c;整个过程并没有花费太多时间。当最初想到要实…

DFS+回溯+剪枝(深度优先搜索)——搜索算法

DFS也就是深度优先搜索&#xff0c;比如二叉树的前&#xff0c;中&#xff0c;后序遍历都属于DFS。其本质是递归&#xff0c;要学好DFS首先需要掌握递归。接下来咱们就一起来学习DFS涉及的算法。 一、递归 1.什么是递归&#xff1f; 递归可以这样理解把它拆分出来&#xff0…

Windows 11 重装系统后蓝屏错误:INACCESSIBLE_BOOT_DEVICE 的解决方案

Windows 11 重装系统后蓝屏错误&#xff1a;INACCESSIBLE_BOOT_DEVICE 的解决方案 在安装 Windows 11 后&#xff0c;用户可能会遇到一个令人头疼的问题&#xff1a;蓝屏错误&#xff0c;错误代码为 INACCESSIBLE_BOOT_DEVICE。这个错误通常表示系统无法访问启动设备&#xff…

瑞熙贝通实验室安全综合管理平台更新迭代v4.0产品介绍

随着科研事业的蓬勃发展&#xff0c;科研实验室是高校科研的重要场所 &#xff0c;是培养学生科研能力、进行科学实验、创造科研成果的重要基地。然而&#xff0c;实验室也存在诸多安全隐患&#xff0c;如化学品泄露、火灾、设备故障、中毒、辐射、窒息等&#xff0c;这些都可能…

【读书笔记·VLSI电路设计方法解密】问题46:什么是bug覆盖率

在IC设计项目的验证过程中&#xff0c;功能测试&#xff08;通过使用测试平台&#xff09;有助于定位设计错误或漏洞。这个验证过程有三个阶段&#xff1a;构建和启动测试平台、验证基本测试用例以及验证边界情况。 在前两个阶段&#xff0c;漏洞很容易被检测到&#xff0c;因…

UA-Track:不确定性感知端到端3D多目标跟踪

论文地址&#xff1a;https://arxiv.org/pdf/2406.02147 主页&#xff1a;https://liautoad.github.io/ua-track-website/ 3D多目标跟踪&#xff08;MOT&#xff09;在自动驾驶感知中起着至关重要的作用。最近基于端到端查询的跟踪器可以同时检测和跟踪对象&#xff0c;这在3D …

CSS入门学习笔记(二)

学习视频&#xff1a;https://www.bilibili.com/video/BV1zN2UYoEEo/ 目录 浮动浮动的几种应用效果设置img浮动&#xff0c;去掉空隙设置div重叠&#xff0c;位于上下层多个div水平排列宽度不足时&#xff0c;会自动换行li元素水平排列 浮动的副作用解决副作用——清除浮动方法…

解锁 DeepSeek 模型高效部署密码:蓝耘平台深度剖析与实战应用

&#x1f496;亲爱的朋友们&#xff0c;热烈欢迎来到 青云交的博客&#xff01;能与诸位在此相逢&#xff0c;我倍感荣幸。在这飞速更迭的时代&#xff0c;我们都渴望一方心灵净土&#xff0c;而 我的博客 正是这样温暖的所在。这里为你呈上趣味与实用兼具的知识&#xff0c;也…

打家劫舍3

今天和打家讲一下打家劫舍3 题目&#xff1a; 题目链接&#xff1a;337. 打家劫舍 III - 力扣&#xff08;LeetCode&#xff09; 小偷又发现了一个新的可行窃的地区。这个地区只有一个入口&#xff0c;我们称之为root。 除了 root 之外&#xff0c;每栋房子有且只有一个“父“…

redis项目

短信登录 这一块我们会使用redis共享session来实现 商户查询缓存 通过本章节&#xff0c;我们会理解缓存击穿&#xff0c;缓存穿透&#xff0c;缓存雪崩等问题&#xff0c;让小伙伴的对于这些概念的理解不仅仅是停留在概念上&#xff0c;更是能在代码中看到对应的内容 优惠…

每日一题洛谷P5733 【深基6.例1】自动修正c++

#include<iostream> #include<string> using namespace std; int main() {string t;cin >> t;for (int i 0; i < t.length(); i){if (t[i] > a && t[i] < z){t[i] A - a;}cout << t[i];}return 0; }

windows + visual studio 2019 使用cmake 编译构建静、动态库并调用详解

环境 windows visual studio 2019 visual studio 2019创建cmake工程 1. 静态库.lib 1.1 静态库编译生成 以下是我创建的cmake工程文件结构&#xff0c;只关注高亮文件夹部分 libout 存放编译生成的.lib文件libsrc 存放编译用的源代码和头文件CMakeLists.txt 此次编译CMak…

【含文档+PPT+源码】基于微信小程序的校园志愿者管理系统的设计与实现

项目介绍 本课程演示的是一款 基于微信小程序的校园志愿者管理系统的设计与实现&#xff0c;主要针对计算机相关专业的正在做毕设的学生与需要项目实战练习的 Java 学习者。 1.包含&#xff1a;项目源码、项目文档、数据库脚本、软件工具等所有资料 2.带你从零开始部署运行本…

SOME/IP--协议英文原文讲解5

前言 SOME/IP协议越来越多的用于汽车电子行业中&#xff0c;关于协议详细完全的中文资料却没有&#xff0c;所以我将结合工作经验并对照英文原版协议做一系列的文章。基本分三大块&#xff1a; 1. SOME/IP协议讲解 2. SOME/IP-SD协议讲解 3. python/C举例调试讲解 这一章节…

Linux之Http协议分析以及cookie和session

Linux之Http协议分析以及cookie和session 一.分析请求行与响应行1.1请求行1.1.1资源的URL路径1.1.2常见的方法1.2响应行 二.cookie和session2.1cookie2.2session 一.分析请求行与响应行 在我们简单了解了请求和响应的格式以及模拟实现了请求和响应后我们已经可以通过网页来访问…