7 KiB
First Conversation
After BotServer starts, you can immediately start chatting with your bot. No programming required!
Just Start Talking
Open your browser to:
http://localhost:8080
And start chatting:
You: Hi!
Bot: Hello! How can I help you today?
You: I want to enroll in a course
Bot: I'll help you with enrollment. Let me collect your information...
[Bot automatically calls enrollment.bas tool]
You: What documents do you have?
Bot: [Searches .gbkb/ folders and answers from your documents]
That's it! The LLM handles everything automatically.
How It Works
1. Drop Documents in .gbkb/
mybot.gbai/
mybot.gbkb/
policies/
enrollment-policy.pdf
course-catalog.pdf
faqs/
student-faq.docx
payment-guide.txt
The bot automatically:
- ✅ Indexes all documents
- ✅ Creates vector embeddings
- ✅ Searches when users ask questions
- ✅ Provides accurate answers from your content
2. Create Tools as .bas Files
Create enrollment.bas:
PARAM name AS string LIKE "John Smith" DESCRIPTION "Student full name"
PARAM email AS string LIKE "john@example.com" DESCRIPTION "Contact email"
PARAM course AS string LIKE "Computer Science" DESCRIPTION "Course to enroll in"
DESCRIPTION "Enrollment tool - collects student information and processes enrollment"
SAVE "enrollments.csv", name, email, course, NOW()
TALK "Enrollment complete! Welcome to " + course + ", " + name
The LLM automatically:
- ✅ Discovers this tool
- ✅ Knows when to call it (when users want to enroll)
- ✅ Collects required parameters through conversation
- ✅ Executes the tool when ready
3. The LLM Does Everything Else
You DON'T need to write:
- ❌ IF/THEN logic
- ❌ Intent detection
- ❌ Dialog flows
- ❌ State machines
- ❌ Complex routing
The LLM automatically:
- Understands user intent
- Calls appropriate tools
- Searches knowledge bases
- Maintains conversation context
- Handles follow-up questions
Real Example Conversation
With enrollment.bas tool and course documents in .gbkb/:
User: Hello, I'd like to know about your computer science program
Bot: I'd be happy to help you learn about our Computer Science program!
Based on our course catalog, the program offers a comprehensive
4-year curriculum covering software development, algorithms,
databases, and AI. Would you like to know about specific courses
or the enrollment process?
User: Yes, I want to enroll
Bot: Great! I'll help you enroll in the Computer Science program.
Let me collect your information. What's your full name?
User: John Smith
Bot: Thank you, John. What email address should we use for contact?
User: john.smith@gmail.com
Bot: Perfect! I'm enrolling you in Computer Science now...
[Executes enrollment.bas tool]
Enrollment complete! Welcome to Computer Science, John Smith!
You'll receive a confirmation at john.smith@gmail.com.
User: What are the payment options?
Bot: [Searches payment-guide.txt from .gbkb/]
According to our payment guide, we offer three options:
1. Full payment with 10% discount
2. Monthly installments over 12 months
3. Semester-based payments
Which option would you prefer?
The Magic Formula
📚 Documents (.gbkb/) + 🔧 Tools (.bas) + 🤖 LLM = ✨ Intelligent Bot
No complex programming needed!
Creating Your First Bot
Step 1: Create Structure
mkdir -p mybot.gbai/mybot.gbdialog
mkdir -p mybot.gbai/mybot.gbkb/docs
mkdir -p mybot.gbai/mybot.gbot
Step 2: Add Documents
Drop any documents in .gbkb/:
- PDFs
- Word documents
- Text files
- Markdown files
Step 3: Create a Tool (Optional)
Create mybot.gbdialog/my-tool.bas:
PARAM user_name AS string
PARAM request AS string
DESCRIPTION "Handles user requests"
result = CALL "/api/process", user_name, request
TALK "Done! " + result
Step 4: Start Chatting
Restart BotServer and chat! The LLM will:
- Answer questions from your documents
- Call your tools when appropriate
- Handle the entire conversation naturally
No Programming Required
Traditional chatbots require complex logic:
' ❌ OLD WAY - DON'T DO THIS!
IF user_input CONTAINS "enroll" THEN
TALK "What's your name?"
HEAR name
TALK "What's your email?"
HEAR email
' ... lots more code ...
ENDIF
With BotServer:
' ✅ NEW WAY - Just create the tool!
PARAM name AS string
PARAM email AS string
DESCRIPTION "Enrollment tool"
SAVE "enrollments.csv", name, email
The LLM handles all the conversation logic!
What Can You Build?
Customer Support Bot
- Add product manuals to
.gbkb/ - Create
create-ticket.bastool - LLM answers questions and creates support tickets
HR Assistant
- Add employee handbook to
.gbkb/ - Create
leave-request.bastool - LLM explains policies and processes leave requests
Education Platform
- Add course materials to
.gbkb/ - Create
enrollment.basandsubmit-assignment.bastools - LLM teaches content and manages student tasks
Sales Assistant
- Add product catalogs to
.gbkb/ - Create
create-quote.bastool - LLM answers product questions and generates quotes
Advanced Features
Dynamic Tool Loading
The LLM can load tools based on context:
' In start.bas - minimal setup
ADD_KB "general" ' Load general knowledge base
' Tools are auto-discovered from .gbdialog/ folder
Multi-Language Support
The LLM handles multiple languages automatically:
User: Olá, quero me inscrever no curso
Bot: Claro! Vou ajudá-lo com a inscrição...
User: 我想了解计算机科学课程
Bot: 我很乐意帮您了解计算机科学课程...
Context Awareness
The LLM maintains conversation context:
User: I want to enroll
Bot: I'll help you enroll. What's your name?
User: Actually, first tell me about the prerequisites
Bot: Of course! The Computer Science program requires...
Tips for Success
1. Organize Documents Clearly
mybot.gbkb/
policies/ # Policy documents
products/ # Product information
faqs/ # Frequently asked questions
tutorials/ # How-to guides
2. Name Tools Descriptively
Good tool names:
enrollment.bascreate-ticket.basschedule-meeting.bas
The LLM understands what each tool does from its name and description.
3. Use Tool Descriptions
Always add descriptions to tools:
DESCRIPTION "This tool processes student enrollment for courses"
4. Let the LLM Work
Don't try to control every aspect of the conversation. Let the LLM:
- Rephrase responses naturally
- Handle unexpected questions
- Maintain conversation flow
Next Steps
- Understanding Sessions - How conversations persist
- About Packages - Package structure
- Tool Definition - Creating tools
- Knowledge Base - Document management
Remember: Just add documents and tools - the LLM does the rest! 🚀