Skip to main content

Crate cortexai_cloudflare

Crate cortexai_cloudflare 

Source
Expand description

§Cloudflare Workers Support for Rust AI Agents

This crate provides Cloudflare Workers-native AI agent functionality with:

  • Multiple LLM provider support (OpenAI, Anthropic, OpenRouter)
  • KV store integration for conversation persistence
  • Streaming responses using Response streams
  • Request/response handling for Worker routes

§Quick Start

use cortexai_cloudflare::{CloudflareAgent, CloudflareConfig, Provider};
use worker::*;

#[event(fetch)]
async fn main(req: Request, env: Env, _ctx: Context) -> Result<Response> {
    let config = CloudflareConfig::builder()
        .provider(Provider::Anthropic)
        .api_key(env.secret("ANTHROPIC_API_KEY")?.to_string())
        .model("claude-3-5-sonnet-20241022")
        .build();

    let agent = CloudflareAgent::new(config);

    let response = agent.chat("Hello!").await?;
    Response::ok(response.content)
}

§With KV Persistence

use cortexai_cloudflare::{CloudflareAgent, KvStore};

let kv = env.kv("CONVERSATIONS")?;
let agent = CloudflareAgent::new(config)
    .with_kv(KvStore::new(kv));

// Conversation history is automatically persisted
let response = agent.chat_with_session("session-123", "Hello!").await?;

Structs§

CloudflareAgent
AI Agent for Cloudflare Workers
CloudflareConfig
Configuration for the Cloudflare agent
CloudflareConfigBuilder
Builder for CloudflareConfig
CloudflareHttpClient
HTTP client that uses Cloudflare Workers’ fetch API
Env
Re-export worker types for convenience Env contains any bindings you have associated with the Worker when you uploaded it.
KvStore
Wrapper around Cloudflare KV for conversation storage
Message
A message in a conversation.
Request
Re-export worker types for convenience A Request representation for handling incoming and creating outbound HTTP requests.
Response
Re-export worker types for convenience A Response representation for working with or returning a response to a Request.
StreamChunk
A chunk from a streaming response
StreamingResponse
Iterator over streaming response chunks

Enums§

CloudflareError
Errors that can occur when using the Cloudflare agent
Provider
Supported LLM providers.
Role
Role in a conversation.

Type Aliases§

Result
Re-export worker types for convenience