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§
- Cloudflare
Agent - AI Agent for Cloudflare Workers
- Cloudflare
Config - Configuration for the Cloudflare agent
- Cloudflare
Config Builder - Builder for CloudflareConfig
- Cloudflare
Http Client - 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. - Stream
Chunk - A chunk from a streaming response
- Streaming
Response - Iterator over streaming response chunks
Enums§
- Cloudflare
Error - 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