暂无图片
暂无图片
暂无图片
暂无图片
1
暂无图片

两套方案带你玩转 OpenAI Embedding API

ZILLIZ 2023-01-31
4035


2018 年,Zilliz 发起了开源向量数据库项目  Milvus[1] ,很大程度上扩展了数据检索的方式。在此前的文章中[2],大家已经见识过 embedding 及向量数据库的魔力,今天我们将从 embedding 的角度,深入了解它的魅力。

在 Milvus 早期的研发工作中, 我们主要聚焦于提升向量数据库的核心功能。为此,团队投入了大量精力以完善用户体验,同时对 Milvus 的稳定性、性能、可扩展性进行了相应的提升。在此影响下,可以看到 Milvus 的社区用户和贡献者数量呈稳步增长状态,而 GitHub star 数也即将突破 15000。

最近几个月,特别是自 Milvus 2.2 发布以来,社区对完善向量数据库技术生态的呼声非常高,包括可视化、工具、连接器等。其中最受关注的需求是与上游 embedding 模型生态的对接。为此,我们对 Milvus/Zilliz Cloud 与上游 embedding 模型的对接进行了初步的探索。

为适应 embedding 模型与应用场景的多样性,我们提供了两套不同的对接方案,方便用户轻松将各种开源或付费模型接入 Milvus 或 Zilliz Cloud[3]

方案一

Milvus/Zilliz Cloud 与上游 Embedding 模型生态的 low-level API 对接

这种方式没有引入额外的代码封装,方便用户在自己的应用中进行非常灵活的集成与定制。我们提供了一系列 PoC-ready 的示例和可运行脚本。在这些示例中,我们演示了从原始数据生成 embedding 向量,到向量数据库操作的全流程。

为方便阅读,以下代码示例进行了简化:

from pymilvus import connections, Collection
import openai

...

connections.connect(uri=URI, user=USER, password=PASSWORD, secure=True)
collection = Collection(name=COLLECTION_NAME, schema=schema)
collection.create_index(field_name="embedding", index_params=index_params)

...

for text in document:
    embedding =  openai.Embedding.create(
            input=text, 
            engine=OPENAI_ENGINE)["data"][0]["embedding"]
    collection.insert([embedding])

...

复制

更多详细内容请阅读 Zilliz Cloud 官方文档[4]


方案二

对端到端的流程进行封装

虽然基于 low-level API 的代码高度灵活,但具有较高的使用门槛。同时,这些脚本的复用潜力很高——几乎所有示例都会执行模型推理(model inference)和数据入库、数据检索几个步骤。为了解决这些问题,我们推出了 Towhee[5]

Towhee 是 Milvus 生态中的一个开源项目,集成了上百种开源模型和 embedding 商业服务 API。只需要几行代码,用户便可使用 Towhee 组装端到端的数据检索流水线。

下面的代码展示了如何通过 Towhee 完成 OpenAI embedding API 与 Milvus/Zilliz Cloud 的对接:

pipeline = (
    pipe.input('id''text')
    .map(
        ops.text_embedding.openai(
            engine='embedding-engine',
            api_key='my-api-key'
        )
    )
    .map(
        ops.ann_insert.milvus_client(
            host='my-vector-database.url'
            port='19530'
            collection_name='my-collection'
        )
    )                             
    .output()
)

复制

更多详细内容请参考 Milvus bootcamp[6]中 Towhee 相关案例或 Towhee[7]文档中的完整指南。

Zilliz 团队会一如既往地作为 Milvus 的中坚力量,不断推动项目发展。未来,我们将更加关注与机器学习(machine learning)技术生态的合作。

如果您有生态合作的需要,欢迎联系我们[8]同时,如果您对共建 Milvus 开源社区感兴趣,也欢迎加入我们!


参考资料

[1]  https://milvus.io/

[2]  https://zilliz.com/learn/what-is-vector-database

[3]  https://zilliz.com/cloud

[4]  https://zilliz.com/doc/integrate_with_openai

[5]  https://github.com/towhee-io/towhee

[6]  https://github.com/milvus-io/bootcamp

[7]  https://docs.towhee.io/

[8]  https://zilliz.com/contact


Zilliz 是向量数据库系统领域的开拓者和全球领先者,研发面向 AI 生产系统的向量数据库系统。Zilliz 以发掘非结构化数据价值为使命,致力于打造面向 AI 应用的新一代数据库技术,帮助企业便捷地开发 AI 应用。Zilliz 的产品能显著降低管理 AI 数据基础设施的成本,帮助 AI 技术赋能更多的企业、组织和个人。


C

文章转载自ZILLIZ,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论

ModaHub魔搭社区
暂无图片
1年前
评论
暂无图片 0
2023年7月国产向量数据库排行榜Top3:Milvus,Milvus Cloud,Tencent Cloud VectorDB。数据来源:VectorDBBench.com
1年前
暂无图片 点赞
评论