Files
Enterprise-Knowledge-Base/client/cmd/agent_test/QUICKSTART.md
T

294 lines
7.3 KiB
Markdown

# Quick Start Guide
Get started with the WeKnora Agent Test Tool in 5 minutes!
## Prerequisites
- Go 1.21 or higher
- Access to a running WeKnora instance
- A knowledge base ID (or create one through the tool)
## Quick Start
### Option 1: Using the Build Script (Recommended)
```bash
# 1. Navigate to the tool directory
cd client/cmd/agent_test
# 2. Build and run with your knowledge base
./run.sh -k kb_your_knowledge_base_id
# Or with a remote server
./run.sh -u https://api.weknora.com -k kb_12345 -t your_token
```
### Option 2: Using Make
```bash
# Build the binary
make build
# Run with environment variables
KB_ID=kb_12345 make run-local
# Or run the binary directly
./agent_test -url http://localhost:8080 -kb kb_12345
```
### Option 3: Direct Go Build
```bash
# Build
go build -o agent_test .
# Run
./agent_test -url http://localhost:8080 -kb kb_your_knowledge_base_id
```
## First Steps
Once the tool is running, you'll see an interactive prompt:
```
╔════════════════════════════════════════════════════════════╗
║ WeKnora Agent QA Testing Tool ║
╚════════════════════════════════════════════════════════════╝
[No Session] >
```
### 1. Create a New Session
```
> new
```
The tool will create a new session and show you the session ID.
### 2. Ask Your First Question
```
[Session: abc12345] > ask What is machine learning?
```
You'll see real-time output showing:
- 💭 Agent thinking process
- 🔧 Tool calls (if any)
- 📚 Knowledge references
- 📝 Final answer
- 🤔 Reflections (if any)
### 3. Continue the Conversation
```
[Session: abc12345] > ask Can you give me examples?
[Session: abc12345] > ask How does it work?
```
### 4. View Session Info
```
[Session: abc12345] > info
```
### 5. List All Sessions
```
[Session: abc12345] > sessions
```
### 6. Exit
```
[Session: abc12345] > exit
```
## Command Reference
| Command | Description | Example |
|---------|-------------|---------|
| `new` | Create a new session | `> new` |
| `ask <query>` | Ask the agent a question | `> ask What is AI?` |
| `info` | Show current session details | `> info` |
| `sessions` | List all your sessions | `> sessions` |
| `switch <id>` | Switch to another session | `> switch sess_123` |
| `help` | Show help message | `> help` |
| `exit` or `quit` | Exit the program | `> exit` |
## Example Session
```bash
$ ./run.sh -k kb_ml_docs
[No Session] > new
✓ Session created successfully!
Session ID: sess_a1b2c3d4
Knowledge Base: kb_ml_docs
Created At: 2025-11-03T10:00:00Z
[Session: sess_a1b] > ask What is a neural network?
╔═══ Agent Processing ═══╗
Query: What is a neural network?
💭 Thinking: I need to search the knowledge base for information about neural networks...
🔧 Tool Call: search_knowledge
Arguments: map[query:neural network definition]
✓ Tool Result:
Found 3 relevant knowledge chunks
📚 Knowledge References: Found 3 reference(s)
1. [Score: 0.892] A neural network is a series of algorithms...
Knowledge: Neural Networks 101 (Chunk: 2)
2. [Score: 0.856] Neural networks mimic biological neurons...
Knowledge: Deep Learning Basics (Chunk: 5)
3. [Score: 0.834] The structure consists of layers...
Knowledge: ML Architectures (Chunk: 8)
📝 Final Answer:
A neural network is a computing system inspired by biological neural networks
in animal brains. It consists of interconnected nodes (artificial neurons)
organized in layers that process information using a connectionist approach
to computation. Neural networks learn to perform tasks by considering examples,
generally without being programmed with task-specific rules.
🤔 Reflection: I successfully found relevant information in the knowledge base
and provided a comprehensive answer covering the definition, structure, and
learning mechanism of neural networks.
╔═══ Summary ═══╗
Duration: 2.34s
Tool Calls: 1 (search_knowledge)
References: 3
Reflections: 1
╚═══════════════╝
[Session: sess_a1b] > ask What are the main types?
╔═══ Agent Processing ═══╗
Query: What are the main types?
💭 Thinking: The user is asking about types of neural networks based on the
previous context...
[... continuing the conversation ...]
```
## Testing Scenarios
We provide a test scenarios script for common testing patterns:
```bash
# Run interactive scenario menu
./test_scenarios.sh
# Run a specific scenario
./test_scenarios.sh 1 # Basic Q&A
./test_scenarios.sh 2 # Complex queries
./test_scenarios.sh 3 # Multi-turn conversation
```
## Configuration with Environment Variables
Create a configuration file for repeated use:
```bash
# Create config file
cat > config.env << EOF
export WEKNORA_URL=http://localhost:8080
export WEKNORA_KB_ID=kb_your_knowledge_base_id
export WEKNORA_TOKEN=your_token_if_needed
EOF
# Load and run
source config.env
./run.sh
```
## Troubleshooting
### "Connection refused"
- Make sure WeKnora server is running
- Check the URL is correct
- Verify network connectivity
### "Knowledge base not found"
- Verify your knowledge base ID is correct
- Check you have access to the knowledge base
- Ensure the knowledge base has been initialized
### "Session not found"
- The session may have expired or been deleted
- Create a new session with `new` command
### No tool calls happening
- Check your knowledge base has content
- Verify the agent configuration includes tool definitions
- Look for error messages in the output
## Advanced Usage
### Using with Docker
If WeKnora is running in Docker:
```bash
# Get the container's IP or use host networking
./agent_test -url http://localhost:8080 -kb kb_123
```
### Testing with Production
```bash
# Use production URL with authentication
./agent_test \
-url https://api.weknora.com \
-token $PROD_TOKEN \
-kb kb_prod_123
```
### Continuing an Existing Session
```bash
# Skip session creation and continue existing one
./agent_test -url http://localhost:8080 -session sess_existing_id
```
### Batch Testing
```bash
# Pipe commands for automated testing
echo -e "new\nask What is AI?\ninfo\nexit" | ./agent_test -url http://localhost:8080 -kb kb_123
```
## Next Steps
- Read the full [README.md](README.md) for detailed documentation
- Check [agent_example.go](../../agent_example.go) for code examples
- Explore the [client package documentation](../../README.md)
- Review agent events and response types in the main README
## Getting Help
If you encounter issues:
1. Check the [README.md](README.md) for detailed documentation
2. Review the error messages - they usually indicate the problem
3. Verify your configuration (URL, KB ID, token)
4. Check WeKnora server logs for backend issues
5. Use `info` command to check session state
## Tips
- **Start Simple**: Begin with basic questions to verify connectivity
- **Use Info**: The `info` command shows valuable session configuration
- **Watch Events**: Pay attention to all event types to understand agent behavior
- **Check References**: Knowledge references show if retrieval is working correctly
- **Monitor Performance**: The summary shows timing and tool usage statistics
Happy testing! 🚀