Multi-Instance Chat Completions
client.AISearch.Namespaces.ChatCompletions(ctx, name, params) (*NamespaceChatCompletionsResponse, error)
POST/accounts/{account_id}/ai-search/namespaces/{name}/chat/completions
Performs a chat completion request against multiple AI Search instances in parallel, merging retrieved content as context for generating a response.
Security
API Token
The preferred authorization scheme for interacting with the Cloudflare API. Create a token.
Example:
API Email + API Key
The previous authorization scheme for interacting with the Cloudflare API, used in conjunction with a Global API key.
Example:
The previous authorization scheme for interacting with the Cloudflare API. When possible, use API tokens instead of Global API keys.
Example:
Multi-Instance Chat Completions
package main
import (
"context"
"fmt"
"github.com/cloudflare/cloudflare-go"
"github.com/cloudflare/cloudflare-go/ai_search"
"github.com/cloudflare/cloudflare-go/option"
)
func main() {
client := cloudflare.NewClient(
option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"),
)
response, err := client.AISearch.Namespaces.ChatCompletions(
context.TODO(),
"my-namespace",
ai_search.NamespaceChatCompletionsParams{
AccountID: cloudflare.F("c3dc5f0b34a14ff8e1b3ec04895e1b22"),
AISearchOptions: cloudflare.F(ai_search.NamespaceChatCompletionsParamsAISearchOptions{
InstanceIDs: cloudflare.F([]string{"my-ai-search"}),
}),
Messages: cloudflare.F([]ai_search.NamespaceChatCompletionsParamsMessage{ai_search.NamespaceChatCompletionsParamsMessage{
Content: cloudflare.F("content"),
Role: cloudflare.F(ai_search.NamespaceChatCompletionsParamsMessagesRoleSystem),
}}),
},
)
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", response.ID)
}
{
"choices": [
{
"message": {
"content": "content",
"role": "system"
},
"index": 0
}
],
"chunks": [
{
"id": "id",
"instance_id": "instance_id",
"score": 0,
"text": "text",
"type": "type",
"item": {
"key": "key",
"metadata": {
"foo": "bar"
},
"timestamp": 0
},
"scoring_details": {
"fusion_method": "rrf",
"keyword_rank": 0,
"keyword_score": 0,
"reranking_score": 0,
"vector_rank": 0,
"vector_score": 0
}
}
],
"id": "id",
"errors": [
{
"instance_id": "instance_id",
"message": "message"
}
],
"model": "model",
"object": "object"
}Returns Examples
{
"choices": [
{
"message": {
"content": "content",
"role": "system"
},
"index": 0
}
],
"chunks": [
{
"id": "id",
"instance_id": "instance_id",
"score": 0,
"text": "text",
"type": "type",
"item": {
"key": "key",
"metadata": {
"foo": "bar"
},
"timestamp": 0
},
"scoring_details": {
"fusion_method": "rrf",
"keyword_rank": 0,
"keyword_score": 0,
"reranking_score": 0,
"vector_rank": 0,
"vector_score": 0
}
}
],
"id": "id",
"errors": [
{
"instance_id": "instance_id",
"message": "message"
}
],
"model": "model",
"object": "object"
}