Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Tools don´t work #2330

Open
2 tasks
quantumcthulhu opened this issue Jan 5, 2025 · 0 comments
Open
2 tasks

Tools don´t work #2330

quantumcthulhu opened this issue Jan 5, 2025 · 0 comments

Comments

@quantumcthulhu
Copy link

Describe the bug

I´m trying to create any tool, but it doesn´t work. I try this tool from the Deeplearning example:

def task_queue_push(self: "Agent", task_description: str):
    """
    Push to a task queue stored in core memory. 

    Args:
        task_description (str): A description of the next task you must accomplish. 

    Returns:
        Optional[str]: None is always returned as this function 
        does not produce a response.
    """
    import json
    tasks = json.loads(self.memory.get_block("tasks").value)
    tasks.append(task_description)
    self.memory.update_block_value("tasks", json.dumps(tasks))
    return None

When agent is working it always return me error like this:

Request

{
  "task_description": "Create project directory and necessary files for Calendar app.",
  "request_heartbeat": true
}

Response

{
  "status": "Failed",
  "message": "Error executing function task_queue_push: TypeError: task_queue_push() missing 1 required positional argument: 'self'",
  "time": "2025-01-05 03:49:44 PM WET+0000"
}

Whenever I add any other tool, it always has issues with ´self´:

def create_file(self: "Agent", relative_path: str, initial_content: str = "") -> str:
    """
    Creates a new file at '/Users/Shared/Projects/<project_name>/<relative_path>'
    and optionally writes initial content.
    If the file already exists, it will be overwritten.

    Args:
        relative_path (str): The path (relative to the project directory).
        initial_content (str): Optional string content to write into the newly created file.

    Returns:
        str: A success or error message.
    """
    import os

    # Retrieve the project name from memory (adapt if your memory system differs).
    project_name = self.memory.get_block("project_name").value
    base_dir = "/Users/Shared/Projects"
    full_path = os.path.join(base_dir, project_name, relative_path)

    try:
        os.makedirs(os.path.dirname(full_path), exist_ok=True)
        with open(full_path, "w", encoding="utf-8") as f:
            f.write(initial_content)
        return f"File created at '{full_path}' with initial content."
    except Exception as e:
        return f"Failed to create file '{full_path}': {str(e)}"

Request

{
  "relative_path": "Main.storyboard",
  "initial_content": "<storyboard version=\"3.0\"></storyboard>",
  "request_heartbeat": true
}

Response

{
  "status": "Failed",
  "message": "Error executing function create_file: TypeError: create_file() missing 1 required positional argument: 'self'",
  "time": "2025-01-05 03:49:49 PM WET+0000"
}

Please describe your setup

  • How did you install letta?
    • pip install letta
  • Describe your setup
    • What's your OS (Windows/MacOS/Linux)?
      MacOS

    • How are you running letta? (cmd.exe/Powershell/Anaconda Shell/Terminal)
      Terminal

Letta Config
[defaults]
preset = memgpt_chat
persona = sam_pov
human = basic

[archival_storage]
type = sqlite
path = /Users/user/.letta

[recall_storage]
type = sqlite
path = /Users/user/.letta

[metadata_storage]
type = sqlite
path = /Users/user/.letta

[version]
letta_version = 0.6.7

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant