ChatGPT + 向量数据库 + Prompt-as-Code - CVP技术栈解析 - Zilliz
ChatGPT由于其有限的知识库而受到限制,当被问及不熟悉的话题时,有时会导致答案产生幻觉。为了解决这一问题,我们引入了新的AI技术堆栈——ChatGPT + 向量数据库 + Prompt-as-Code,简称CVP堆栈。这一堆栈旨在克服ChatGPT在知识覆盖范围上的局限性。
CVP技术堆栈的核心原理
ChatGPT在回答自然语言查询方面表现出色。当将用户的查询与检索到的文本内容结合后,通过提示生成的方式,ChatGPT能够生成更相关且准确的响应。这种方法有效地减少了ChatGPT生成“幻觉答案”的可能性。
为了验证这一技术堆栈的实际效果,我们开发了OSS Chat作为CVP堆栈的工作演示。OSS Chat利用开源项目的GitHub存储库及其相关文档页面作为事实来源。具体实现步骤如下:
- 数据嵌入:将开源项目的文档数据转换为嵌入向量。
- 数据存储:将嵌入向量存储在Zilliz向量数据库中,同时将相关内容存储在单独的数据存储中。
- 相似性搜索:当用户提出问题时,触发Zilliz中的相似性搜索,找到与问题相关的匹配内容。
- 生成响应:将检索到的数据输入ChatGPT,生成精确且准确的回答。
ChatGPT与OSS Chat的对比示例
示例1:关于Hugging Face支持的功能
当我们向ChatGPT提问时,它承认了自身的局限性,并返回了一个准确但无用的答案(即它没有相关数据)。而使用OSS Chat,由于数据来源于Hugging Face的文档网站,我们得到了以下准确的回答:
是的,Hugging Face支持OpenAI Whisper。FlaxWhisperModel类在transformers库中可用,该库是OpenAI Whisper模型的包装器。您可以使用此类加载预训练的OpenAI Whisper模型,并将其用于各种自然语言处理任务,如文本分类、问答和文本生成。
示例2:关于PyTorch的API问题
我们向ChatGPT提问了一个关于PyTorch API的问题,结果得到了一个冗长的回答,其中提到PyTorch没有“torch.compile”API。然而,OSS Chat提供了以下准确的回答:
‘torch.compile’ API的目的是通过提前编译PyTorch代码来加速代码执行。它可以处理任意Python代码,对现有代码的更改最小,并且能够处理依赖数据的控制流。它还支持非PyTorch函数调用,而TorchScript可能会将这些调用视为常量,从而导致不正确的结果。
Milvus中的TTL设置方法
在最后一个示例中,我们探讨了如何在Milvus中设置TTL(Time-to-Live)。ChatGPT虽然提供了一个看似合理的答案,甚至包含代码片段,但实际上并未回答问题的核心内容。而OSS Chat则提供了更为准确的说明:
from milvus import Milvus, DataType
import datetime
milvus = Milvus()
collection_param = {
"collection_name": "my_collection",
"dimension": 128,
"index_file_size": 1024,
"metric_type": DataType.FLOAT_VECTOR,
}
milvus.create_collection(collection_param)
now = datetime.datetime.now()
delta = datetime.timedelta(days=7)
expiry_time = now + delta
milvus.set_collection_ttl('my_collection', expiry_time.timestamp())
partition_param = {
"collection_name": "my_collection",
"partition_name": "my_partition",
}
milvus.create_partition(partition_param)
milvus.set_partition_ttl('my_collection', 'my_partition', expiry_time.timestamp())
在这个示例中,我们创建了一个集合和一个分区,并分别使用set_collection_TTL和set_partition_TTL方法为它们设置了7天的TTL。TTL以Unix时间戳的形式表示,即自1970年1月1日以来的秒数。需要注意的是,启用TTL功能需要在Milvus配置文件中设置TTL_CHECKINTERVAL参数,默认值为60秒。
总结
CVP技术堆栈通过结合ChatGPT、向量数据库和Prompt-as-Code的优势,显著提升了AI系统的响应准确性和实用性。通过OSS Chat的实际应用,我们可以看到这一堆栈在处理复杂查询时的潜力。未来,随着技术的进一步发展,CVP堆栈有望在更多领域中发挥重要作用。
原文链接: https://zilliz.com/blog/ChatGPT-VectorDB-Prompt-as-code
最新文章
- 十大企业级 API 管理工具全景指南
- Meta×Google 云计算协议:2025 多云/混合云 API 极速落地 AI 出海成本降 40%
- Kimi Chat API入门指南:从注册到实现智能对话
- 5种最佳API认证方法,显著提升…
- API接口重试的8种方法
- AI 推理(Reasoning AI)优势:超越生成模型的架构、算法与实践指南
- 如何使用 DeepSeek 构建 AI Agent:终极指南
- AI 智能体 ReAct 架构设计模式剖析
- 深入解析谷歌翻译API:基于Gemini的规模化高质量翻译与创新应用
- 面向开发者的5个开源大型语言模型API
- 如何使用Python创建API – Ander Fernández Jauregui
- API 集成成本全景解析:从 2 千到 15 万美元的隐藏账单与 ROI 攻略