Générer des docstrings et des commentaires Python

Générer des docstrings et des commentaires pour les fonctions Python.

Vous pouvez interroger un modèle directement et tester les résultats renvoyés lors de l'utilisation de différentes valeurs de paramètre en utilisant la console Cloud ou en appelant directement l'API Vertex AI.

Requête forme libre

Voici des codes Python. Insérez le commentaire du document (docstring) pour toutes les fonctions, y compris les fonctions imbriquées.

def is_dag_dfs(graph):
    visited = set()
    on_stack = set()  # Track nodes on recursion stack


def dfs(node):
    if node in on_stack:
        return False  # Back-edge found (cycle)
    if node in visited:
        return True

    on_stack.add(node)
    visited.add(node)

    for neighbor in graph.get(node, []):
        if not dfs(neighbor):
            return False

    on_stack.remove(node)
    return True

return all(dfs(node) for node in graph)

Réponse


    def is_dag_dfs(graph):
    """
    Determines if a directed graph is a Directed Acyclic Graph (DAG) using Depth-First Search (DFS).


Args:
    graph (dict): A dictionary representing the graph. Keys are nodes, and values are lists of their neighbors.

Returns:
    bool: True if the graph is a DAG, False otherwise.
"""
visited = set()
on_stack = set()  # Track nodes on recursion stack

def dfs(node):
    """
    Performs Depth-First Search starting from a given node.

    Args:
        node (object): The node to start the DFS from.

    Returns:
        bool: True if no cycle is detected, False otherwise.
    """
    if node in on_stack:
        return False  # Back-edge found (cycle)
    if node in visited:
        return True

    on_stack.add(node)
    visited.add(node)

    for neighbor in graph.get(node, []):
        if not dfs(neighbor):
            return False

    on_stack.remove(node)
    return True

return all(dfs(node) for node in graph)

Modèle : gemini-1.5-flash-preview-0514
Température : 1
Nombre maximal de jetons de sortie : 8 192
TopK : 40
TopP : 0,95