跳至主要内容
前往文档
⌘U
Weaviate 数据库

使用 Weaviate 的 APIs 和工具开发 AI 应用

部署

部署、配置和维护 Weaviate 数据库

Weaviate Agents

使用 Weaviate 构建和部署智能代理

Weaviate Cloud

在云端管理和扩展 Weaviate

更多资源

集成
贡献者指南
活动 & 工作坊
Weaviate Academy

需要帮助?

Weaviate Logo询问 AI 助手⌘K
社区论坛

搜索 (GraphQL | gRPC)

API

Weaviate 提供 GraphQL 和 gRPC API 用于查询。

我们建议使用 Weaviate 客户端库,它抽象了底层的 API 调用,使将 Weaviate 集成到您的应用程序中更加容易。

但是,您可以使用 GraphQL 通过向 /graphql 端点发送 POST 请求直接查询 Weaviate,或者根据 gRPC protobuf 规范编写您自己的 gRPC 调用。

所有参考

所有参考都有各自的子页面。单击下面的某个参考以获取更多信息。

GraphQL API

为什么选择 GraphQL?

GraphQL 是一种基于使用图数据结构的查询语言。它是一种高效的数据检索和修改方法,因为它减轻了其他查询语言常见的过度获取和获取不足的问题。

GraphQL 区分大小写

GraphQL 区分大小写 (参考),因此请确保在编写查询时使用正确的的大小写。

查询结构

您可以按如下方式将 GraphQL 查询 POST 到 Weaviate

curl https:///v1/graphql -X POST -H 'Content-type: application/json' -d '{GraphQL query}'

GraphQL JSON 对象定义如下

{
"query": "{ # GRAPHQL QUERY }"
}

GraphQL 查询遵循定义的结构。查询的结构如下

{
<Function> {
<Collection> {
<property>
_<underscore-property>
}
}
}

限制

GraphQL 整数 数据当前仅支持 int32,不支持 int64。这意味着当前 Weaviate 中具有大于 int32 的整数值的整数数据字段将无法使用 GraphQL 查询返回。我们正在努力解决此 问题。当前的解决方法是使用 string 代替。

一致性级别

GraphQL (Get) 查询以可调整的 一致性级别 运行。

gRPC API

从 Weaviate v1.19.0 开始,gRPC 接口正在逐步添加到 Weaviate 中。

gRPC 是一种高性能、开源的通用 RPC 框架,基于合约,可用于任何环境。它基于 HTTP/2 和 Protocol Buffers,因此非常快速和高效。

在此处了解有关 gRPC API 的更多信息。

问题和反馈

如果您有任何问题或反馈,请在 用户论坛 中告诉我们。