一.调用平台核心功能与优势

丰富的模型资源库

  • 蓝耘平台提供涵盖自然语言处理、计算机视觉、多模态交互等领域的预训练模型,支持用户直接调用或微调,无需从零开始训练,显著缩短开发周期。

高性能算力支持

  • 基于GPU集群与分布式计算架构,平台可稳定支持千亿参数大模型的高效推理与训练,满足复杂AI任务对算力的需求。

灵活的API调用方式

  • 提供Python SDK、cURL命令等多样化调用方式,支持同步/异步请求,适配不同技术栈用户的需求。

全流程工具链

  • 集成模型管理、数据标注、效果评估等工具,用户可在单一平台完成AI应用的全生命周期开发。

超千万Token额度

  • 新用户注册即可领取超千万Token(具体数量可能因活动调整),用于模型推理、API调用等场景,降低早期试错成本。

Token使用范围

  • 模型推理:支持文本生成、图像识别等任务。
  • API调用:覆盖平台所有公开模型接口。
  • 无使用期限:Token在有效期内可灵活分配,避免浪费。

成本透明化:平台提供Token消耗明细查询功能,用户可实时监控用量,合理规划资源。

蓝耘平台通过免费Token福利与一站式AI服务,降低了AI技术应用的门槛,为开发者、企业及研究者提供了高性价比的解决方案。

二. 注册及使用

在这里插入图片描述

  • 然后登录:

在这里插入图片描述

在这里插入图片描述

  • 进入可以看到很多文本视觉模型可以体验:

在这里插入图片描述

三. 使用蓝耘平台构建知识库与智能客服系统(API 工作流调用深度实践)

  • 在现代企业中,API 已经成为连接各种服务、数据和模型的核心工具。通过合理设计 API 工作流,我们可以实现自动化问答、智能客服、数据处理等复杂任务。

​下面我们将深入讲解如何使用其 API 构建一个完整的 企业知识库 + 智能客服系统,并提供完整的 Python 示例代码,涵盖文档上传向量索引构建RAG 查询多轮对话管理等多个模块。

包含的模块:

模块 功能描述
kb_manager.py 知识库管理:上传文档、更新索引
rag_query.py RAG 查询接口:用户提问获取答案
chatbot.py 智能客服机器人:支持多轮对话
utils.py 工具函数:日志、Token 缓存等

知识库管理(kb_manager.py

import requests
import os
import logging
from datetime import datetime

# 配置日志
logging.basicConfig(level=logging.INFO)
logger = logging.getLogger(__name__)

# 蓝耘平台配置
API_KEY = "your_api_key"
KB_ID = "company_knowledge_base_2025"
BASE_URL = "https://api.lanyun.ai/v1"

def upload_document(file_path):
    """
    上传文档到指定知识库
    :param file_path: 文件路径
    :return: 响应结果
    """
    url = f"{BASE_URL}/knowledge/upload?kb_id={KB_ID}"
    headers = {
        "Authorization": f"Bearer {API_KEY}"
    }
    try:
        with open(file_path, 'rb') as f:
            files = {"file": f}
            response = requests.post(url, headers=headers, files=files)
            logger.info(f"[{datetime.now()}] 文档上传成功:{file_path}")
            return response.json()
    except Exception as e:
        logger.error(f"文档上传失败:{e}")
        return None

def update_index():
    """
    触发知识库索引更新
    :return: 响应结果
    """
    url = f"{BASE_URL}/knowledge/update_index?kb_id={KB_ID}"
    headers = {
        "Authorization": f"Bearer {API_KEY}",
        "Content-Type": "application/json"
    }
    try:
        response = requests.post(url, headers=headers)
        logger.info(f"[{datetime.now()}] 索引更新触发成功")
        return response.json()
    except Exception as e:
        logger.error(f"索引更新失败:{e}")
        return None

if __name__ == "__main__":
    # 示例:上传公司政策文档并更新索引
    policy_file = "docs/company_policy.pdf"
    upload_result = upload_document(policy_file)
    if upload_result and upload_result.get("success"):
        update_index()

该模块用于将文档上传到蓝耘平台,并触发向量索引更新操作,以便后续进行 RAG(Retrieval-Augmented Generation)检索与问答。

接口 upload_document(file_path)

  • 上传指定路径的文档文件(如 PDF、Word)至蓝耘的知识库,file_path: 文件在本地的路径。

  • 构造请求 URL,使用 requests.post() 发起 POST 请求并上传文件;
    成功后记录日志,服务器响应结果(JSON 格式)或 None。

接口 update_index()

  • 触发知识库的索引更新,使新上传的文档生效。

  • 构造请求 URL,设置请求头,发送空体的 POST 请求;
    成功后记录日志,服务器响应结果(JSON 格式)或 None。

代码上传一个名为 company_policy.pdf 的文件,并调用 update_index() 更新索引。

RAG 查询接口(rag_query.py

import requests
import logging
from datetime import datetime

# 配置日志
logging.basicConfig(level=logging.INFO)
logger = logging.getLogger(__name__)

# 蓝耘平台配置
API_KEY = "your_api_key"
KB_ID = "company_knowledge_base_2025"
BASE_URL = "https://api.lanyun.ai/v1"

def query_rag(question):
    """
    向知识库发起 RAG 查询请求
    :param question: 用户问题
    :return: 回答内容
    """
    url = f"{BASE_URL}/chat/rags"
    headers = {
        "Authorization": f"Bearer {API_KEY}",
        "Content-Type": "application/json"
    }
    data = {
        "kb_id": KB_ID,
        "question": question
    }
    try:
        response = requests.post(url, headers=headers, json=data)
        answer = response.json().get("answer", "抱歉,暂时无法回答这个问题。")
        logger.info(f"[{datetime.now()}] 用户提问:{question} | 回答:{answer}")
        return answer
    except Exception as e:
        logger.error(f"查询失败:{e}")
        return "网络错误,请稍后再试。"

if __name__ == "__main__":
    user_question = "员工请假流程是什么?"
    result = query_rag(user_question)
    print(result)

该模块用于通过 RAG 技术从知识库中检索相关信息,并生成自然语言回答,实现自动化问答系统。

接口query_rag(question):向知识库发起查询请求,获取回答,question: 用户输入的问题。

  • 构造请求 URL,设置请求头,将问题封装为 JSON 数据发送,获取回答内容并记录日志,模型生成的回答文本。

代码演示了对问题 “员工请假流程是什么?” 进行查询,并打印回答结果。

智能客服机器人(chatbot.py

import requests
import logging
from datetime import datetime

# 配置日志
logging.basicConfig(level=logging.INFO)
logger = logging.getLogger(__name__)

# 蓝耘平台配置
API_KEY = "your_api_key"
BASE_URL = "https://api.lanyun.ai/v1"

def start_session():
    """
    开始一个新的会话
    :return: session_id
    """
    url = f"{BASE_URL}/session/start"
    headers = {
        "Authorization": f"Bearer {API_KEY}"
    }
    try:
        response = requests.post(url, headers=headers)
        session_id = response.json().get("session_id")
        logger.info(f"[{datetime.now()}] 新会话开始:{session_id}")
        return session_id
    except Exception as e:
        logger.error(f"会话启动失败:{e}")
        return None

def handle_message(session_id, message):
    """
    处理用户输入
    :param session_id: 当前会话 ID
    :param message: 用户消息
    :return: 回复内容
    """
    url = f"{BASE_URL}/chat/completion"
    headers = {
        "Authorization": f"Bearer {API_KEY}",
        "Content-Type": "application/json"
    }
    data = {
        "session_id": session_id,
        "message": message
    }
    try:
        response = requests.post(url, headers=headers, json=data)
        reply = response.json().get("response", "抱歉,我听不懂你的意思。")
        logger.info(f"[{datetime.now()}] 收到回复:{reply}")
        return reply
    except Exception as e:
        logger.error(f"消息处理失败:{e}")
        return "系统繁忙,请稍后再试。"

if __name__ == "__main__":
    session_id = start_session()
    if not session_id:
        exit()

    print("客服机器人已上线,输入‘退出’结束对话。")
    while True:
        user_input = input("用户:")
        if user_input.lower() in ["退出", "exit"]:
            print("客服机器人:再见!")
            break
        bot_reply = handle_message(session_id, user_input)
        print(f"客服机器人:{bot_reply}")

该模块实现了一个简单的命令行智能客服机器人,支持多轮对话交互,适用于电商、企业服务等场景。

接口 start_session():开启一个新的会话,获取会话 ID。

  • 发送 POST 请求,获取并返回 session_id,会话 ID 或 None。
    接口 handle_message(session_id, message)

  • 处理用户输入的消息,返回模型回复,session_id: 当前会话 ID,message: 用户输入的消息。

  • 构造请求 URL,将消息和会话 ID 发送给 API,返回模型生成的回复,模型回复内容。

操作:

  • 启动一个无限循环,持续接收用户输入;
  • 支持输入 “退出” 或 “exit” 结束对话;
  • 打印用户和机器人的对话内容。

工具函数(utils.py

import os
import pickle
from datetime import datetime, timedelta

CACHE_FILE = "token_cache.pkl"

def load_token_cache():
    """
    加载 Token 缓存
    """
    if os.path.exists(CACHE_FILE):
        with open(CACHE_FILE, 'rb') as f:
            return pickle.load(f)
    return {}

def save_token_cache(cache):
    """
    保存 Token 缓存
    """
    with open(CACHE_FILE, 'wb') as f:
        pickle.dump(cache, f)

def is_token_valid(token_info):
    """
    判断 Token 是否有效
    """
    if not token_info:
        return False
    expires_at = token_info.get("expires_at")
    if not expires_at:
        return False
    return datetime.now() < expires_at

def get_cached_token():
    """
    获取缓存中的 Token
    """
    cache = load_token_cache()
    if is_token_valid(cache):
        return cache["token"]
    return None

def set_cached_token(token, expire_minutes=30):
    """
    设置缓存 Token
    """
    expires_at = datetime.now() + timedelta(minutes=expire_minutes)
    cache = {
        "token": token,
        "expires_at": expires_at
    }
    save_token_cache(cache)

功能提供一些辅助功能,包括 Token 缓存管理、有效期验证等,提升 API 调用效率和安全性。

接口load_token_cache():从磁盘加载缓存的 Token 数据。

  • 使用 pickle 反序列化读取缓存文件;如果不存在则返回空字典。

接口 save_token_cache(cache):将 Token 缓存写入磁盘,使用 pickle 序列化保存到文件。

接口 is_token_valid(token_info):判断当前 Token 是否有效。

  • 判断是否过期(expires_at 时间),若未设置时间或已过期则无效。

接口 get_cached_token():获取有效的缓存 Token,加载缓存,判断是否有效,有效则返回 Token。

接口 set_cached_token(token, expire_minutes=30):设置新的 Token 并缓存。

  • 计算过期时间,写入缓存文件。

运行操作

  1. 安装依赖
pip install requests
  1. 目录结构建议
project/
├── kb_manager.py
├── rag_query.py
├── chatbot.py
├── utils.py
└── docs/
    └── company_policy.pdf
  1. 运行步骤
  • 上传文档并建立知识库索引
python kb_manager.py
  • 测试 RAG 查询功能
python rag_query.py
  • 启动智能客服机器人
python chatbot.py

四.基于客服系统的简单测试

  • 首先先看一下豆包基于这个问题的回答。

在这里插入图片描述

  • 很明显,没有告诉我们怎么进行提现,下面使用同样的问题问一下我们搭建的这个,下面展示下回答:

在这里插入图片描述

  • 所以利用这类的大模型作为智能客服系统不可能的,它能够理解你的问题,但是它并不能给你确切的答案,因为对于它们来说,它并不知道这些真正的数据,而这个时候就要靠我们搭建的这个智能客服系统来实现。

  • 下面我们把这些现有的相关常见文件整理成文档,比如txt,markdown,pdf等形式(上面我们是搞成了pdf形式):

在这里插入图片描述

  • 下面引入 langchain4J、对应的 AI、Redis 依赖,处理文档切分数据生成向量存 Redis,用组件匹配相似度≥0.6 的前 3 条结果;而contentList 为检索文本,非最终答案,答案需从中提取组装而成:
data = [
    {
        "textSegment": {
            "text": "Q:余额提现到账时间是多久?1 - 7个工作日内可退回您的支付账户。由于银行处理可能有延迟,具体以账户的到账时间为准。",
            "metadata": {}
        }
    },
    {
        "textSegment": {
            "text": "Q:美团账户里的余额怎么提现?余额可到美团网(meituan.com)—“我的美团”>“美团余额”里提取到您的银行卡或者支付宝账号,另外,余额也可直接用于支付外卖订单(限支持在线支付的商家)。",
            "metadata": {}
        }
    },
    {
        "textSegment": {
            "text": "订单取消后,款项会在一个工作日内,直接返还到您的美团账户余额。",
            "metadata": {}
        }
    }
]
  • 下面还需将匹配向量交予对应 AI 处理,以生成最终答案(用组件封装向量与提示词交 AI 生成答案):

  • 因此就看到了开头的那一幕:

在这里插入图片描述

  • 上面就是基于我们实现的客服系统的简单测试。

五. 个人评价

项目 评分 (满分5分) 说明
API 文档完整性 5分 清晰、易懂,附带示例代码
接口稳定性 5分 高并发下略有波动,但总体稳定
响应速度 4分 平均响应时间低于1秒
功能丰富度 4分 支持知识库、对话、模型切换等功能
成本控制 5分 免费 Token 数量庞大,性价比极高
  • 总的来说,蓝耘平台在 API 接口设计模型能力服务稳定性等方面都表现出色。尤其是它为开发者提供了丰富的免费资源和良好的技术支持,非常适合初学者入门,也非常适合企业在短期内快速搭建 AI 应用。
Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐