首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >腾讯云ES原子服务:RAG应用开发的"全能助手" | 6大核心API全解析

腾讯云ES原子服务:RAG应用开发的"全能助手" | 6大核心API全解析

原创
作者头像
点火三周
发布2025-05-15 16:42:42
发布2025-05-15 16:42:42
3691
举报

一、腾讯云ES原子服务概述

腾讯云ES原子服务是一个专为AI应用开发设计的一站式工具平台,它将RAG应用开发中的关键环节抽象为独立的API服务,使开发者能够灵活组合使用,大幅简化开发流程。这些服务涵盖了从数据准备、文本处理、向量化、检索到最终生成的完整链路,为RAG应用提供了全方位支持。

二、核心API详解

腾讯云 ES 原子服务通过统一的 API 接口于SDK 提供了多种功能。用户只需要在腾讯云上申请对应的 secrectIdsecretkey 即可使用。

代码语言:python
复制
# 初始化客户端
cred = credential.Credential(secret_id, secret_key)
httpProfile = HttpProfile()
httpProfile.endpoint = "es.tencentcloudapi.com"
clientProfile = ClientProfile()
clientProfile.httpProfile = httpProfile
client = es_client.EsClient(cred, "ap-beijing", clientProfile)

1. 文档解析服务(Document Parsing)

功能简介:支持PDF、PPT、XLS、TXT、PNG等多格式文件的精准转换,适用于知识库建设、文档迁移和内容平台结构化存储等场景。

技术特点

  • 多格式支持:能处理各类常见文档格式
  • 结构化输出:将非结构化文档转换为标准格式
  • 异步处理:通过TaskId机制处理大型文档

接口文档文档解析异步

代码示例

代码语言:python
复制
# 构建请求
req = models.ParseDocumentAsyncRequest()
params = {
    "Document": {
        "FileType": "PDF",
        "FileContent": file_content,
        "FileName": "example.pdf"
    },
    "ModelName": "doc-llm"
}
req.from_json_string(json.dumps(params))

# 发送请求
resp = client.ParseDocumentAsync(req)
result = json.loads(resp.to_json_string())
task_id = result.get("TaskId")

2. 文本切片服务(Text Chunking)

功能简介:将长文本分割为适合模型输入的短片段,支持语义切分,大幅提升处理效率与信息检索能力。

技术特点

  • 智能分割:基于语义理解进行切分
  • 灵活配置:支持自定义切片大小
  • 异步处理:适合大规模文本处理

接口文档文档切片异步

代码示例

代码语言:python
复制
# 构建请求
req = models.ChunkDocumentAsyncRequest()
params = {
    "Document": {
        "FileType": "TXT",
        "FileContent": text_content
    },
    "Config": {
        "MaxChunkSize": max_chunk_size
    },
    "ModelName": "doc-tree-chunk"
}
req.from_json_string(json.dumps(params))

# 发送请求
resp = client.ChunkDocumentAsync(req)
result = json.loads(resp.to_json_string())
task_id = result.get("TaskId")

3. 向量化服务(Embedding)

功能简介:将文本、图片等多模态数据转化为稠密或稀疏向量,适配多种模型,广泛应用于检索、分类等场景。

技术特点

  • 多模态支持:处理文本、图像等不同类型数据
  • 多模型支持:兼容多种向量模型
  • 高效处理:同步/异步接口灵活选择

接口文档向量化

代码示例

代码语言:python
复制
# 构建请求
req = models.GetTextEmbeddingRequest()
params = {
    "ModelName": "bge-base-zh-v1.5",
    "Texts": ["示例文本"]
}
req.from_json_string(json.dumps(params))

# 发送请求
resp = client.GetTextEmbedding(req)
result = json.loads(resp.to_json_string())
embeddings = result.get("Embeddings", [])

4. 搜索引擎服务(Search Engine)

功能简介:支持本地知识库检索和互联网信息搜索,快速获取网页标题、URL、摘要和正文内容。

技术特点

  • 多引擎支持:整合多家搜索引擎能力
  • 灵活过滤:支持域名黑白名单
  • 丰富参数:可控制返回结果数量和内容

接口文档网页搜索

代码示例

代码语言:python
复制
# 构建请求
req = models.WebSearchRequest()
params = {
    "Query": query,
    "Count": 20,
    "SearchEngine": "mixed",
    "FetchContent": True
}
req.from_json_string(json.dumps(params))

# 发送请求
resp = client.WebSearch(req)
result = json.loads(resp.to_json_string())
search_results = result.get("Results", [])

5. 重排序服务(Rerank)

功能简介:对检索结果进行相关性重排,显著提升RAG上下文的准确性与相关性。

技术特点

  • 语义理解:基于深度语义分析进行排序
  • 高效处理:快速返回优化后的排序结果
  • 灵活配置:支持TopN等参数调整

接口文档重排序

代码示例

代码语言:python
复制
# 构建请求
req = models.RunRerankRequest()
params = {
    "ModelName": "bge-reranker-large",
    "Query": query,
    "Documents": documents,
    "TopN": 10,
    "ReturnDocuments": True
}
req.from_json_string(json.dumps(params))

# 发送请求
resp = client.RunRerank(req)
result = json.loads(resp.to_json_string())
reranked_results = result.get("Results", [])

6. 大模型生成服务(LLM)

功能简介:依托多种高性能大语言模型(如混元大模型),结合搜索等能力实现RAG,为内容创作与交互带来无限可能。

技术特点

  • 多模型支持:提供多种大语言模型选择
  • 在线搜索:支持实时联网搜索增强生成
  • 参数调优:灵活控制生成内容的多样性和创造性

接口文档大模型生成

代码示例

代码语言:python
复制
# 构建请求
req = models.ChatCompletionsRequest()
params = {
    "Messages": [
        {
            "Role": "user",
            "Content": message
        }
    ],
    "ModelName": "hunyuan-turbo",
    "OnlineSearch": True,
    "OnlineSearchOptions": {
        "Engine": "bing"
    }
}
req.from_json_string(json.dumps(params))

# 发送请求
resp = client.ChatCompletions(req)
result = json.loads(resp.to_json_string())
response = result.get("Choices", [{}])[0].get("Message", {}).get("Content", "")

三、最佳实践

对于RAG应用开发,推荐的最佳实践流程是:

  1. 先进行文档解析与切片,将原始文档转换为适合处理的格式
  2. 对处理后的文本进行向量化,存入向量数据库
  3. 结合搜索引擎和重排序优化检索效果
  4. 使用大模型生成最终答案

通过合理组合这些API,可以构建出高效、准确的RAG应用。

四、总结

腾讯云ES原子服务通过提供6大核心API,极大地简化了RAG应用的开发流程。这些服务不仅可以独立使用,更可以灵活组合,构建出功能强大的AI应用。随着大模型应用的普及,腾讯云ES原子服务将持续优化和扩展其能力,为开发者提供更加强大、易用的工具支持。

如需了解更多API参数、SDK示例与错误码等详细信息,欢迎访问腾讯云官方文档,开启您的高效开发之旅!

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、腾讯云ES原子服务概述
  • 二、核心API详解
    • 1. 文档解析服务(Document Parsing)
    • 2. 文本切片服务(Text Chunking)
    • 3. 向量化服务(Embedding)
    • 4. 搜索引擎服务(Search Engine)
    • 5. 重排序服务(Rerank)
    • 6. 大模型生成服务(LLM)
  • 三、最佳实践
  • 四、总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档