# System Tools Overview div strong 🔨 In Development — This section is still being developed and may change. Freddy provides a comprehensive set of built-in system tools that enable your AI assistants to perform various tasks without requiring custom function definitions. These tools are automatically available to all assistants and can be used to enhance their capabilities. ## Available Tools ### 🔍 **Search and Retrieval** - **[File Search](/docs/documentation/system-tools/file-search)** - Search through uploaded files and documents - **[Web Search](/docs/documentation/system-tools/web-search)** - Search the internet for current information ### 💻 **Computing and Execution** - **[Code Interpreter](/docs/documentation/system-tools/code-interpreter)** - Execute Python code and analyze data - **[Computer Use (Preview)](/docs/documentation/system-tools/computer-use-preview)** - Control computer systems and browse the web ### 📁 **File Operations** - **[File Retrieval](/docs/documentation/system-tools/file-retrieval)** - Access and retrieve file contents ### 🎨 **Creative Tools** - **[Image Generation](/docs/documentation/system-tools/image-generation)** - Create images from text descriptions ## Getting Started ### 1. Enable Tools in Your Assistant When creating or updating an assistant, you can enable specific tools: ```python assistant = freddy.assistants.create( name="My Assistant", instructions="You are a helpful assistant with access to various tools.", model="gpt-4", tools=[ {"type": "file_search"}, {"type": "web_search"}, {"type": "code_interpreter"} ] ) ``` ### 2. Use Tools in Conversations Once enabled, your assistant can automatically use these tools when needed: ```python # The assistant will automatically use tools based on the conversation message = freddy.threads.messages.create( thread_id=thread.id, role="user", content="Analyze this data and create a visualization: [data...]" ) # Run the assistant run = freddy.threads.runs.create(thread_id=thread.id, assistant_id=assistant.id) ``` ## Tool Capabilities ### File Search - Search through uploaded documents, PDFs, and text files - Extract relevant information and quotes - Support for multiple file formats ### Web Search - Real-time web search capabilities - Access to current news and information - Summarization of search results ### Code Interpreter - Execute Python code safely - Generate charts and visualizations - Perform data analysis and calculations ### Computer Use (Preview) - Browse websites and extract information - Take screenshots of web pages - Interact with web applications ## Best Practices 1. **Choose Relevant Tools**: Only enable tools that are relevant to your assistant's purpose 2. **Clear Instructions**: Provide clear instructions on when and how to use each tool 3. **Error Handling**: Design your assistant to handle tool failures gracefully 4. **Privacy Considerations**: Be aware of data privacy when using tools that access external resources ## Tool Limitations - Tools have usage limits and costs - Some tools are in preview and may have limitations - Always test your assistant thoroughly with enabled tools - Monitor tool usage to understand costs and performance ## Examples Check out these examples to see how to use system tools effectively: - [Data Analysis with Code Interpreter](/docs/documentation/system-tools/code-interpreter) - [Research Assistant with Web Search](/docs/documentation/system-tools/web-search) - [Document Processing with File Search](/docs/documentation/system-tools/file-search) ## Need Help? - [Code Interpreter Guide](/docs/documentation/system-tools/code-interpreter) - Detailed usage examples - [Web Search Guide](/docs/documentation/system-tools/web-search) - Best practices for web research - [File Search Guide](/docs/documentation/system-tools/file-search) - Working with documents For technical support, contact [support@aitronos.com](mailto:support@aitronos.com).