Introducing hubVectorize()
Vectorize 是一个全球分布式向量数据库,它使您能够使用 Nuxt 构建全栈、人工智能驱动的应用程序。
此功能在 免费和专业计划 以及
@nuxthub/core >= v0.7.24
中可用。我们很高兴推出 hubVectorize()
,它让您能够从 Nuxt 访问全球分布式向量数据库。与 hubAI()
结合使用,它使 Nuxt 成为构建全栈人工智能驱动应用程序的理想框架。
什么是向量数据库?
向量数据库允许您查询嵌入,嵌入是文本、图像、音频等值或对象的表示形式,旨在被机器学习模型和语义搜索算法使用。
向量数据库的一些主要用例包括
- 语义搜索,用于返回与查询输入相似的结果。
- 分类,用于返回最接近输入查询的群组(或群组)。
- 推荐引擎,用于根据不同条件(例如之前的产品销售额或用户历史记录)返回与输入相似的内容。
向量数据库通常用于 检索增强生成 (RAG),这是一种通过在生成响应之前从外部知识库中检索相关信息来增强语言模型的技术。
在 Cloudflare 文档 上了解有关向量数据库的更多信息。
如何使用 hubVectorize()
- 将
@nuxthub/core
更新到最新版本(v0.7.24
或更高版本) - 在您的
nuxt.config.ts
中的hub.vectorize
中配置一个 Vectorize 索引
nuxt.config.ts
export default defineNuxtConfig({
hub: {
vectorize: {
tutorial: {
dimensions: 768,
metric: "cosine"
}
}
}
})
- 运行
npx nuxthub link
以链接一个 NuxtHub 项目或创建一个新项目 - 使用
npx nuxthub deploy
将项目部署到 NuxtHub - 启动 Nuxt 并通过运行
npx nuxt dev --remote
连接到 远程存储 - 您现在可以在服务器路由中使用
hubVectorize('<index>')
server/api/vectorize-search.ts
export default defineEventHandler(async (event) => {
const { query, limit } = getQuery(event)
const embeddings = await hubAI().run('@cf/baai/bge-base-en-v1.5', {
text: query
})
const queryVector = embeddings.data[0]
const index = hubVectorize('tutorial')
return await vectorize.query(vectors, {
topK: limit,
})
})
阅读 完整文档 以了解有关 hubVectorize()
的更多信息。
**如果您已经拥有 NuxtHub 帐户**,请确保在 Cloudflare API 令牌上添加
Vectorize
权限。- 打开 Cloudflare 用户 API 令牌
- 找到 NuxtHub 令牌
- 添加
帐户 > Vectorize > 编辑
权限 - 保存更改
链接新帐户
> 创建具有所需权限的令牌
从您的 NuxtHub 团队设置中再次链接您的 Cloudflare 帐户。此功能已在 nuxt-hub/core#177 中实现。