e03fd2956d
CI / benchmark-publish (pull_request) Has been skipped
CI / build (pull_request) Successful in 18s
CI / lint (pull_request) Failing after 18s
CI / helm (pull_request) Successful in 24s
CI / typecheck (pull_request) Failing after 52s
CI / security (pull_request) Failing after 53s
CI / coverage (pull_request) Has been skipped
CI / benchmark-regression (pull_request) Has been skipped
CI / unit_tests (pull_request) Failing after 1m48s
CI / docker (pull_request) Has been skipped
CI / quality (pull_request) Successful in 3m42s
CI / e2e_tests (pull_request) Failing after 13m56s
CI / integration_tests (pull_request) Failing after 21m12s
CI / status-check (pull_request) Failing after 2s
Add missing provider: field to all actor examples in examples/actors/. Fix llm_with_tools.yaml actor name from assistants/file_analyzer to local/assistants-file_analyzer (custom actors must use local/ namespace and cannot contain two slashes). Add validate-all command to helper_actor_examples.py that uses ActorLoader to validate all examples via business logic checks. Add integration test Validate All Actor Examples Import Without Errors to actor_examples.robot that confirms every example in examples/actors/ can be imported without errors. ISSUES CLOSED: #1504
69 lines
1.7 KiB
YAML
69 lines
1.7 KiB
YAML
# LLM Actor with Tools
|
|
# Demonstrates an LLM actor with access to multiple tools
|
|
|
|
name: local/assistants-file_analyzer
|
|
type: llm
|
|
description: Analyzes files and generates reports using file system tools
|
|
version: "1.0"
|
|
|
|
# LLM configuration
|
|
provider: openai
|
|
model: gpt-4-turbo
|
|
system_prompt: |
|
|
You are a file analysis assistant. Use the available tools to:
|
|
- Read and analyze file contents
|
|
- Count lines, words, and characters
|
|
- Search for patterns in files
|
|
- Generate summary reports
|
|
|
|
Always explain what you're doing before using a tool.
|
|
|
|
# Tools (mix of references and inline definitions)
|
|
tools:
|
|
# Reference to existing tool
|
|
- files/read_file
|
|
- files/list_directory
|
|
|
|
# Inline tool definition
|
|
- name: utils/count_lines
|
|
description: Count the number of lines in a file
|
|
parameters:
|
|
- name: file_path
|
|
type: str
|
|
description: Path to the file to count lines in
|
|
required: true
|
|
code: |
|
|
def count_lines(file_path: str) -> int:
|
|
"""Count lines in a file."""
|
|
with open(file_path, 'r', encoding='utf-8') as f:
|
|
return len(f.readlines())
|
|
|
|
- name: utils/word_count
|
|
description: Count words in a file
|
|
parameters:
|
|
- name: file_path
|
|
type: str
|
|
description: Path to the file
|
|
required: true
|
|
code: |
|
|
def word_count(file_path: str) -> int:
|
|
"""Count words in a file."""
|
|
with open(file_path, 'r', encoding='utf-8') as f:
|
|
content = f.read()
|
|
return len(content.split())
|
|
|
|
# Context settings
|
|
context_view: executor
|
|
memory:
|
|
enabled: true
|
|
max_messages: 30
|
|
max_tokens: 6000
|
|
|
|
context:
|
|
max_context_tokens: 16000
|
|
|
|
# Environment variables
|
|
env_vars:
|
|
WORK_DIR: ${HOME}/workspace
|
|
LOG_LEVEL: info
|