“Hey Care!” —— 由 Elastic 和 OpenAI Realtime API 提供支持的语音助手
作者:来自 Elastic Zing Zai

我们如何基于使用 Elasticsearch 丰富的语音对语音交互为护理人员构建 AI 助手。
Care 是一款面向护理人员的 AI 助手。它是 Elastic 团队在亚太地区首届 OpenAI 黑客马拉松上构建的原型,使用:
- OpenAI 的实时 API(OpenAI’s Realtime API),用于快速语音对语音交互
- Elasticsearch,用于丰富提示,提供私人医疗知识和敏感护理说明
- 用于护理协调的代理
在本博客中,我们将介绍它的工作原理和功能。点击原型可在此处找到,Github 项目可在此处找到。
使用 Elasticsearch 及 OpenAI realtime API 实现的贴心人工智能助理
OpenAI Realtime API

在 Realtime API 发布之前,要构建语音转语音应用程序,开发人员必须自己手动连接系统。一个典型的例子包括:
- 捕获和转录语音(音频转文本):检测某人何时开始和停止说话,然后使用 OpenAI Whisper 将捕获的音频转录为文本。
- 生成响应(文本转文本):使用 OpenAI GPT-4 处理转录的文本以生成响应。
- 转换为语音(文本转音频):使用 OpenAI 的文本转语音模型将响应文本转换为音频并播放。
该过程很慢,反应速度不够快,无法实现自然交互。此外,捕获和转录语音不会包含太多细节和细微差别,因此很难建立流畅的对话体验。

OpenAI 的 Realtime API 发布后,可以直接从音频输入(或其他输入方式,如文本或视觉)生成语音。交互是实时发生的,不需要经过上述 3 个步骤,从而减少了延迟。
那么... 这一切中的 Elastic 部分在哪里呢?

我们都知道,搜索是使用 OpenAI 等大型语言模型 (large language models - LLM) 的关键基础设施,它能够实现精确高效的搜索功能,从而检索生成 AI 体验的相关数据。Elastic 提供了一个实时搜索 AI 平台,可以补充 OpenAI 的实时 API,通过快速、相关的混合搜索功能在数百万个文档中实现动态、交互式的用户体验。
semantic_text 和 ELSER 用于语义搜索

Care 使用 semantic_text 将特定的医疗保健文档导入 Elastic。semantic_text 会自动将长段落分成较小的部分,并使用 ELSER 推理端点为文本块内容生成嵌入。这提高了搜索性能,更重要的是,通过仅返回最相关的块,提高了搜索相关性。

用于混合搜索的检索器
Care 利用 Elastic 最新的检索器(在 8.16 中正式发布),在单个 _search 调用中拥有多阶段检索管道,并通过函数调用将其集成到 OpenAI 的 Realtime API 中。检索器旨在帮助开发人员简化混合搜索开发。
const query = {
"retriever": {
"rrf": {
"retrievers": [
{
"standard": {
"query": {
"nested": {
"path": "content.inference.chunks",
"query": {
"sparse_vector": {
"inference_id": "my-elser-endpoint",
"field": "content.inference.chunks.embeddings",
"query": search_term
}
},
"inner_hits": {
"size": 2,
"name": "content",
"_source": [
"content.inference.chunks.text"
]
}
}
}
}
},
{
"standard": {
"query": {
"match": {
"title": search_term
}
}
}
}
]
}
}
}
在上面的查询中,我们利用了倒数排序融合 (reciprocal rank fusion - RRF) 检索器来执行混合搜索(词汇搜索 + ELSER 稀疏向量嵌套搜索)。API 可组合且灵活,使我们能够构建管道并将不同的检索策略无缝集成到这些管道中。如有必要,还可以添加更高级的技术,例如文本相似性重新排序检索器。
结论
随着 LLMs 的最新进展,我们正在超越传统基于文本的聊天机器人的界限。现在,我们可以利用并受益于可以跨语言和模态进行翻译、理解和交互的交互式语音到语音界面。搜索仍然是生成式 AI 体验的关键基石,它以真实信息为基础做出响应并有助于防止幻觉。
Elasticsearch 包含许多新功能,可帮助您为您的用例构建最佳搜索解决方案。深入了解我们的示例笔记本以了解更多信息,开始免费云试用,或立即在你的本地机器上试用 Elastic。
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐
所有评论(0)