腾讯云ES原子服务是一个专为AI应用开发设计的一站式工具平台,它将RAG应用开发中的关键环节抽象为独立的API服务,使开发者能够灵活组合使用,大幅简化开发流程。这些服务涵盖了从数据准备、文本处理、向量化、检索到最终生成的完整链路,为RAG应用提供了全方位支持。
腾讯云 ES 原子服务通过统一的 API 接口于SDK 提供了多种功能。用户只需要在腾讯云上申请对应的 secrectId 和 secretkey 即可使用。
# 初始化客户端
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)功能简介:支持PDF、PPT、XLS、TXT、PNG等多格式文件的精准转换,适用于知识库建设、文档迁移和内容平台结构化存储等场景。
技术特点:
接口文档:文档解析异步
代码示例:
# 构建请求
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")功能简介:将长文本分割为适合模型输入的短片段,支持语义切分,大幅提升处理效率与信息检索能力。
技术特点:
接口文档:文档切片异步
代码示例:
# 构建请求
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")功能简介:将文本、图片等多模态数据转化为稠密或稀疏向量,适配多种模型,广泛应用于检索、分类等场景。
技术特点:
接口文档:向量化
代码示例:
# 构建请求
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", [])功能简介:支持本地知识库检索和互联网信息搜索,快速获取网页标题、URL、摘要和正文内容。
技术特点:
接口文档:网页搜索
代码示例:
# 构建请求
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", [])功能简介:对检索结果进行相关性重排,显著提升RAG上下文的准确性与相关性。
技术特点:
接口文档:重排序
代码示例:
# 构建请求
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", [])功能简介:依托多种高性能大语言模型(如混元大模型),结合搜索等能力实现RAG,为内容创作与交互带来无限可能。
技术特点:
接口文档:大模型生成
代码示例:
# 构建请求
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应用开发,推荐的最佳实践流程是:
通过合理组合这些API,可以构建出高效、准确的RAG应用。
腾讯云ES原子服务通过提供6大核心API,极大地简化了RAG应用的开发流程。这些服务不仅可以独立使用,更可以灵活组合,构建出功能强大的AI应用。随着大模型应用的普及,腾讯云ES原子服务将持续优化和扩展其能力,为开发者提供更加强大、易用的工具支持。
如需了解更多API参数、SDK示例与错误码等详细信息,欢迎访问腾讯云官方文档,开启您的高效开发之旅!
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。