OverviewFilesCommitsIssuesDocsReleasesPeers

ollama_semantic_function_calling / mermaid / ollamatools-workflow.mermaid

36 lines · mermaid ref:
sequenceDiagram
    participant User
    participant OllamaAgent
    participant Ollama
    participant PermissionManager
    participant Functions
    
    User->>OllamaAgent: chat(query)
    OllamaAgent->>Ollama: Send query with registered tools
    Ollama-->>OllamaAgent: Detect function call(s)
    
    alt Function detected
        OllamaAgent->>PermissionManager: request_permission()
        
        alt sudo command detected
            PermissionManager->>User: Always prompt for sudo
        else normal command and prompts enabled
            PermissionManager->>User: Prompt for permission
        else prompts disabled
            PermissionManager-->>OllamaAgent: Auto-grant permission
        end
        
        alt Permission granted
            OllamaAgent->>Functions: Execute function
            Functions-->>OllamaAgent: Return result
            OllamaAgent->>Ollama: Send function result
            Ollama-->>OllamaAgent: Generate final response
        else Permission denied
            OllamaAgent->>Ollama: Send permission denied
            Ollama-->>OllamaAgent: Generate alternative response
        end
    else No function detected
        Ollama-->>OllamaAgent: Regular response
    end
    
    OllamaAgent-->>User: Return response