DeepSeek+FastGPT+Xinferenc打造企业级知识库

部署运行你感兴趣的模型镜像

1、Xinference安装以及简介

Xinference主要用于简化大语言模型(LLM)、语音识别、多模态模型等复杂模型的部署和推理过程,支持本地或分布式环境中快速搭建AI应用。

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

效果:
在这里插入图片描述
在这里插入图片描述

启动模型:
在这里插入图片描述
启动黑窗口,查看日志:
在这里插入图片描述
在这里插入图片描述

官方网址:
https://inference.readthedocs.io/zh-cn/latest/getting_started/installation.html

2、FastGPT安装以及简介

1. 准备 Docker 环境

# 安装 Docker
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
systemctl enable --now docker
# 安装 docker-compose
curl -L https://github.com/docker/compose/releases/download/v2.20.3/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
# 验证安装
docker -v
docker-compose -v
# 如失效,自行百度~

2. 获取部署文件

bash <(curl -fsSL https://doc.fastgpt.cn/deploy/install.sh) --region=cn --vector=pg

3.启动

docker compose -f docker-compose.pg.yml up -d

等待服务启动,通过 http://localhost:3000 进行访问 默认用户为 root,密码为 1234

在这里插入图片描述

4.新增模型

在这里插入图片描述

FastGPT官方网址:
https://doc.fastgpt.io/docs/introduction/development/quick-start

3、知识库搭建

1.新建知识库

在这里插入图片描述

2.导入数据集

在这里插入图片描述
将你们的知识文档(可以是本地文件,网页链接,自定义数据集)上传后作为知识库检索。

3.问答对话

在这里插入图片描述

4、其他项目上如何接入FastGPT知识库

1.实现流程

在这里插入图片描述

2.导入文档到FastGPT知识库

FastGPT 支持直接上传文件或通过 API 批量导入文档到知识库。

通过api接口批量导入文档到知识库(迁移):

import requests
import os

FASTGPT_API_KEY = "your-api-key"  # 从 FastGPT 后台获取
KB_ID = "your-knowledge-base-id"  # 目标知识库 ID

def upload_to_fastgpt(file_path: str):
    url = "https://your-fastgpt-domain.com/api/kb/upload"
    headers = {"Authorization": f"Bearer {FASTGPT_API_KEY}"}
    
    with open(file_path, "rb") as f:
        files = {"file": (os.path.basename(file_path), f)}
        data = {"kbId": KB_ID}
        response = requests.post(url, headers=headers, files=files, data=data)
    
    if response.status_code == 200:
        print(f"文件 {file_path} 上传成功!")
    else:
        print(f"上传失败: {response.text}")

# 示例:上传多个文件
upload_to_fastgpt("产品手册.pdf")
upload_to_fastgpt("FAQ.docx")

3.通过 API 实现知识库问答

FastGPT 提供 HTTP API,其他项目可通过调用接口实现知识检索。

1. 获取 API Key 和知识库 ID
  • API Key:在 FastGPT 后台 「设置」→「API 密钥」 中创建。
  • 知识库 ID:在知识库列表页查看目标知识库的 ID。
2. 调用问答接口(Python 示例)
import requests

FASTGPT_API_KEY = "your-api-key"
KB_ID = "your-knowledge-base-id"

def ask_fastgpt(question: str):
    url = "https://your-fastgpt-domain.com/api/chat"
    headers = {
        "Authorization": f"Bearer {FASTGPT_API_KEY}",
        "Content-Type": "application/json"
    }
    payload = {
        "kbId": KB_ID,  # 指定知识库
        "question": question,
        "stream": False  # 是否流式返回(适合长回答)
    }
    
    response = requests.post(url, headers=headers, json=payload)
    if response.status_code == 200:
        return response.json()  # 返回答案和参考文档片段
    else:
        raise Exception(f"API 调用失败: {response.text}")

# 示例:提问并获取答案
answer = ask_fastgpt("如何重置密码?")
print(answer["answer"])  # 输出答案文本
print(answer["references"])  # 输出参考文档片段

在这里插入图片描述

4.在自己项目上构建回答页面展示回答结果

方法 1:直接嵌入 FastGPT 的 Web 对话页(iframe)
<!-- 在已有项目中嵌入 FastGPT 对话界面 -->
<iframe 
  src="https://your-fastgpt-domain.com/chat?kbId=your-knowledge-base-id"
  width="100%"
  height="600px"
  frameborder="0"
></iframe>

优点:简单快捷,无需开发前端。
缺点:样式和功能受限于 FastGPT 原生页面。

方法 2:自定义前端 + API 调用(React 示例)

通过调用 FastGPT API 实现自定义对话界面:

import React, { useState } from "react";
import axios from "axios";

function ChatWidget() {
  const [input, setInput] = useState("");
  const [messages, setMessages] = useState([]);

  const handleSend = async () => {
    if (!input.trim()) return;
    
    const userMessage = { role: "user", content: input };
    setMessages(prev => [...prev, userMessage]);
    
    try {
      const response = await axios.post(
        "https://your-fastgpt-domain.com/api/chat",
        { kbId: "your-knowledge-base-id", question: input },
        { headers: { Authorization: "Bearer your-api-key" } }
      );
      
      const botMessage = { role: "bot", content: response.data.answer };
      setMessages(prev => [...prev, botMessage]);
    } catch (error) {
      console.error("调用失败:", error);
    }
    
    setInput("");
  };

  return (
    <div className="chat-container">
      <div className="messages">
        {messages.map((msg, index) => (
          <div key={index} className={`message ${msg.role}`}>
            {msg.content}
          </div>
        ))}
      </div>
      <div className="input-area">
        <input
          value={input}
          onChange={(e) => setInput(e.target.value)}
          placeholder="输入问题..."
        />
        <button onClick={handleSend}>发送</button>
      </div>
    </div>
  );
}

export default ChatWidget;

优点:完全自定义 UI,灵活适配项目风格。
缺点:需前端开发工作量。

5、补充与总结

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

总结:
有个这个大家应该就很明白了,通过FastGPT知识库,检索文档回答,提供了问答接口我们去调用,那这样有这个接口,我们就能在自己的项目系统中调用接口去检索数据集,拿到响应的结果返回到我们自己的项目对话界面展示就行了。

您可能感兴趣的与本文相关的镜像

GPT-oss:20b

GPT-oss:20b

图文对话
Gpt-oss

GPT OSS 是OpenAI 推出的重量级开放模型,面向强推理、智能体任务以及多样化开发场景

### 使用 DeepSeek 和 LlamaIndex 构建全离线企业级知识库 #### 1. 准备工作环境 为了确保整个系统能够完全离线运行,需要预先下载并安装所有必要的依赖项和服务。这包括但不限于 Python 环境、DeepSeek SDK 及其相关组件以及 LlamaIndex 库。 ```bash pip install deepseek-sdk llama-index ``` #### 2. 数据准备与预处理 收集企业的内部文档资料作为初始数据源,这些文件可能来自不同的格式如 PDF、Word 或纯文本等。利用 LlamaIndex 提供的数据提取功能来解析和转换成统一的结构化形式以便后续处理[^2]。 #### 3. 创建索引 采用 PropertyGraphIndex 模块可以帮助从非结构化的文本内容中自动生成知识图谱,从而使得复杂的信息关系更加直观清晰。此过程涉及定义实体识别规则、链接预测模型训练等内容: ```python from llama_index import PropertyGraphIndex index = PropertyGraphIndex() # 假设已经完成了数据加载到 `documents` 列表中 for doc in documents: index.add_document(doc) ``` #### 4. 配置 DeepSeek 进行全文检索 设置 DeepSeek 的参数使其适应特定场景下的性能优化需求,比如调整分词器配置以支持多语言混合输入等情况。同时也要考虑隐私保护措施,在敏感信息过滤方面做出适当安排[^1]。 #### 5. 实现查询接口 最后一步就是开发面向用户的交互界面或是 RESTful API 来接受外部请求并将结果返回给调用方。这里可以通过集成自然语言理解(NLU)能力让机器更好地理解和响应人类提出的各种问题[^3]: ```python def search(query_string): results = [] # 调用 DeepSeek 执行实际搜索操作 response = client.search(query=query_string) for hit in response['hits']: result = { 'title': hit['_source']['title'], 'content': hit['_source']['text'] } results.append(result) return results ``` 通过上述步骤即可完成一个基本版的企业级知识管理系统搭建工作。当然根据具体业务逻辑的不同还可以进一步扩展更多高级特性,例如权限管理机制设计、版本控制等功能模块。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

bst@微胖子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值