Chatting
Learn how to use the productive BoxLang AI chatting features for building conversational AI applications with ease.
Simple, powerful AI interactions using Built-in Functions (BIFs). This section covers everything from basic chat to advanced features like streaming, tools, and structured output.
📖 Overview
The aiChat() BIF provides the fastest way to interact with AI providers. Whether you need a quick answer or a sophisticated multi-turn conversation, these patterns cover your use cases without the overhead of pipelines or agents.
Perfect for:
Quick AI queries and one-off interactions
Prototyping and experimentation
Simple conversational interfaces
Direct provider control
📚 Guides
Master the fundamentals of AI interactions.
What you'll learn:
Making your first AI call with
aiChat()Understanding message roles (system, user, assistant)
Managing conversation history
Choosing and configuring providers
Working with different return formats
Start here if: You're new to BoxLang AI or need simple question-answer interactions.
Unlock powerful features for sophisticated applications.
What you'll learn:
Streaming responses - Real-time token-by-token output
Function calling (tools) - Let AI call your functions and APIs
Structured output - Extract data into classes, structs, or arrays
Multimodal content - Process images, audio, video, and documents
JSON mode - Force valid JSON responses
Temperature & creativity - Control response randomness
Start here if: You need real-time updates, tool integration, or data extraction.
Direct service instance management for reusability and control.
What you'll learn:
Creating reusable service instances
Configuring providers with custom settings
Managing multiple configurations
Invoking services directly vs using BIFs
When to use services vs
aiChat()
Start here if: You need fine-grained control, custom configurations, or want to reuse service instances.
Extract type-safe, validated data from AI responses.
What you'll learn:
Using BoxLang classes for typed responses
Struct templates for quick prototyping
Extracting arrays of data
Multiple schemas in one request
Manual population with
aiPopulate()
Start here if: You need reliable data extraction, type safety, or want to eliminate manual parsing.
Quick Examples
Simple Chat
With Specific Provider
Streaming Response
Function Calling
Structured Output
Choosing Your Path
"I just need simple AI responses" → Basic Chatting
"I want real-time streaming or tool calling" → Advanced Chatting
"I need reusable service configurations" → Service-Level Chatting
"I want to build complex workflows" → See Main Components for pipelines and agents
Key Concepts
Message Roles
system - Instructions that define AI behavior
user - Your questions or prompts
assistant - AI's responses
Return Formats
single(default) - Returns content string directlyall- Returns full response struct with metadataraw- Returns complete API response
Provider Selection
Use the provider parameter or set OPENAI_API_KEY, CLAUDE_API_KEY, etc. in your environment.
Next Steps
Start with basics - Basic Chatting
Add advanced features - Advanced Chatting
Optimize with services - Service-Level Chatting
Scale with pipelines - Main Components
Last updated