Skip to main content

Crate use_ai

Crate use_ai 

Source
Expand description

§use-ai

AI interaction primitive facade for RustUse.

§Experimental

use-ai is experimental while the release line remains below 0.3.0.

§Example

use use_ai::{AiMessageRole, AiModelName, PromptName, ToolName};

let prompt = PromptName::new("support-triage")?;
let model = AiModelName::new("reasoning-chat")?;
let tool = ToolName::new("ticket-search")?;

assert_eq!(prompt.as_str(), "support-triage");
assert_eq!(model.value(), "reasoning-chat");
assert_eq!(tool.as_str(), "ticket-search");
assert_eq!(AiMessageRole::Assistant.as_str(), "assistant");

§Scope

  • Facade re-exports for focused AI interaction metadata crates.
  • Prompt, message, context, role, model, provider, capability, tool-call, agent, reasoning, planning, RAG, memory, guardrail, and AI eval primitives.

§Relationship to use-ml

use-ai models AI interaction primitives: prompts, messages, roles, context windows, tool calls, agents, RAG, reasoning, memory, guardrails, AI model interfaces, and AI-specific evaluation.

use-ml models machine-learning primitives: datasets, features, labels, tensors, model artifacts, training, inference, evaluation, metrics, pipelines, embeddings, experiments, and model documentation.

These sets are siblings. They should interoperate conceptually but avoid dependency cycles.

§Non-goals

  • Model calls, network calls, tool execution, retrieval, memory storage, guardrail enforcement, eval execution, or orchestration.

§License

Licensed under either Apache-2.0 or MIT.

Structs§

AgentId
AgentName
AiCapabilityName
AiContextCitation
AiContextId
AiContextItemId
AiContextWindow
AiContextWindowSize
AiConversationId
AiEndpointName
AiEvalRubricName
AiEvalRunId
AiEvalScore
AiMemoryConfidence
AiMemoryId
AiMessageContentRef
AiMessageId
AiMessageTokenCount
AiModelContextWindow
AiModelFamily
AiModelId
AiModelName
AiModelOutputLimit
AiParticipantId
AiProviderId
AiProviderName
AiRoleName
GuardrailId
GuardrailName
PlanId
PlanName
PlanStepId
PromptId
PromptName
PromptTemplate
PromptText
PromptVariableName
RagChunkId
RagCorpusName
RagDocumentId
ToolArgumentName
ToolCallId
ToolName

Enums§

AgentActionKind
AgentAutonomyLevel
AgentError
AgentHandoffKind
AgentKind
AgentLoopKind
AgentMode
AgentObservationKind
AgentStatus
AiApiMode
AiBillingUnit
AiCapabilityError
AiCapabilityKind
AiCapabilityStatus
AiContextError
AiContextFitStatus
AiContextItemKind
AiContextPriority
AiContextSourceKind
AiEndpointKind
AiEvalDatasetKind
AiEvalError
AiEvalFailureMode
AiEvalJudgeKind
AiEvalKind
AiEvalMetricKind
AiEvalOutcome
AiEvalTargetKind
AiGroundingStatus
AiInstructionAuthority
AiMemoryCapability
AiMemoryConflictKind
AiMemoryError
AiMemoryKind
AiMemoryOperationKind
AiMemoryRetentionKind
AiMemoryScope
AiMemorySensitivity
AiMemorySourceKind
AiMemoryStatus
AiMessageError
AiMessageFormat
AiMessagePartKind
AiMessageRole
AiMessageSource
AiMessageStatus
AiMessageVisibility
AiModalitySupport
AiModelDeploymentKind
AiModelError
AiModelInterfaceKind
AiModelKind
AiModelLifecycleStage
AiModelModality
AiModelReasoningMode
AiParticipantKind
AiPersonaKind
AiPromptError
AiProviderError
AiProviderKind
AiQuotaKind
AiRateLimitKind
AiReasoningCapability
AiRegionKind
AiRoleError
AiRoleScope
AiRoleStatus
AiSafetyCapability
AiStreamingSupport
AiStructuredOutputSupport
AiToolUseSupport
GuardrailAction
GuardrailCheckKind
GuardrailError
GuardrailKind
GuardrailPolicyArea
GuardrailResultKind
GuardrailSeverity
GuardrailStatus
GuardrailViolationKind
PlanDependencyKind
PlanExecutionMode
PlanPriority
PlanReviewStatus
PlanRiskKind
PlanStatus
PlanStepKind
PlanningError
PromptFormat
PromptInstructionKind
PromptPartKind
PromptStatus
PromptVariableKind
RagChunkKind
RagCitationKind
RagContextAssemblyKind
RagError
RagFreshnessStatus
RagGroundingStatus
RagRankerKind
RagRetrievalMode
RagRetrieverKind
ReasoningArtifactKind
ReasoningEffort
ReasoningError
ReasoningErrorKind
ReasoningMode
ReasoningStepKind
ReasoningStrategy
ReasoningTraceStatus
ReasoningVisibility
ToolArgumentKind
ToolCallError
ToolCallErrorKind
ToolCallKind
ToolCallStatus
ToolChoiceKind
ToolResultKind
ToolSchemaKind