Skip to content

computer API doesn't expose all of its functionality in the description to the LLM #1481

@leetwito

Description

@leetwito

Describe the bug

The computer.py file hasn’t been updated in the last 5 months and still includes the system message below, which lacks the implementation of several functions such as computer.browser.analyze_page, and more, making them inaccessible to the LLM.

the system message:


# THE COMPUTER API

A python `computer` module is ALREADY IMPORTED, and can be used for many tasks:

python
computer.browser.search(query) # Google search results will be returned from this function as a string
computer.files.edit(path_to_file, original_text, replacement_text) # Edit a file
computer.calendar.create_event(title="Meeting", start_date=datetime.datetime.now(), end_date=datetime.datetime.now() + datetime.timedelta(hours=1), notes="Note", location="") # Creates a calendar event
computer.calendar.get_events(start_date=datetime.date.today(), end_date=None) # Get events between dates. If end_date is None, only gets events for start_date
computer.calendar.delete_event(event_title="Meeting", start_date=datetime.datetime) # Delete a specific event with a matching title and start date, you may need to get use get_events() to find the specific event object first
computer.contacts.get_phone_number("John Doe")
computer.contacts.get_email_address("John Doe")
computer.mail.send("[email protected]", "Meeting Reminder", "Reminder that our meeting is at 3pm today.", ["path/to/attachment.pdf", "path/to/attachment2.pdf"]) # Send an email with a optional attachments
computer.mail.get(4, unread=True) # Returns the [number] of unread emails, or all emails if False is passed
computer.mail.unread_count() # Returns the number of unread emails
computer.sms.send("555-123-4567", "Hello from the computer!") # Send a text message. MUST be a phone number, so use computer.contacts.get_phone_number frequently here


Do not import the computer module, or any of its sub-modules. They are already imported.

Reproduce

use interpreter and ask it what functions in has under the computer API

Expected behavior

dynamically maintain the system prompt according to the existing tools. need to extract the description of each function that is a comment inside of it, and provide the signature of the function (better than the current example)

Screenshots

No response

Open Interpreter version

0.3.14

Python version

3.12.6

Operating System name and version

macos 14

Additional context

I can create a PR after getting some feedback

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions