Modele
Dodaj endpoint zgodny z OpenAI lub Anthropic, podając bazowy URL i klucz API, jeśli jest wymagany. Sprawdź połączenie. Lokalny serwer modelu musi działać; zdalne narzędzia mogą przesyłać dane oddzielnie.
Oblicz najkrótsze odległości w skierowanych krawędziach od wierzchołka grafu mającego od 1 do 1000 wierzchołków.
from collections import deque
def hop_distances(graph, start):
if type(graph) is not list or not 1 <= len(graph) <= 1000:
raise ValueError("graph.size")
n = len(graph)
if type(start) is not int or not 0 <= start < n:
raise ValueError("graph.start")
if any(type(row) is not list or any(type(v) is not int or
not 0 <= v < n for v in row) for row in graph):
raise ValueError("graph.edges")
distances = [None]*n
distances[start] = 0
queue = deque([start])
while queue:
u = queue.popleft()
for v in graph[u]:
if distances[v] is None:
distances[v] = distances[u]+1
queue.append(v)
return distancesDodaj endpoint zgodny z OpenAI lub Anthropic, podając bazowy URL i klucz API, jeśli jest wymagany. Sprawdź połączenie. Lokalny serwer modelu musi działać; zdalne narzędzia mogą przesyłać dane oddzielnie.
Sprawdź cykle, powtarzane krawędzie i nieosiągalne wierzchołki, odrzucając pusty graf lub błędne końce przed przejściem.
Porównaj rzeczywiste zachowanie z oczekiwanym wynikiem. Jeśli sprawdzenie się nie powiedzie, wyjaśnij przyczynę przed kolejnymi zmianami.
from collections import deque
def hop_distances(graph, start):
if type(graph) is not list or not 1 <= len(graph) <= 1000:
raise ValueError("graph.size")
n = len(graph)
if type(start) is not int or not 0 <= start < n:
raise ValueError("graph.start")
if any(type(row) is not list or any(type(v) is not int or
not 0 <= v < n for v in row) for row in graph):
raise ValueError("graph.edges")
distances = [None]*n
distances[start] = 0
queue = deque([start])
while queue:
u = queue.popleft()
for v in graph[u]:
if distances[v] is None:
distances[v] = distances[u]+1
queue.append(v)
return distancesWynik grafu jest przydatny tylko wtedy, gdy kod wywołujący rozumie znaczenie każdej wartości. Hopwise zapewnia kodowi dotyczącemu grafów środowisko programistyczne AI dla Windows, łącząc kod źródłowy z rozmową o jego kontrakcie. Zacznij od reprezentacji wejścia i sposobu wyświetlania lub używania wyniku przez aplikację, zamiast prosić o odizolowaną wymianę algorytmu.
Dla zadania najkrótszej ścieżki według liczby krawędzi pokaż mały graf skierowany z wierzchołkami osiągalnymi i nieosiągalnymi. Poproś podłączony model o sprawdzenie, jak implementacja odróżnia wierzchołek startowy od wierzchołka bez ścieżki. Uwzględnij cykl, aby przegląd objął ponowne odkrywanie, a nie tylko najprostszy łańcuch w przód.
Następnie sprawdź granicę, na której dane grafu trafiają do funkcji. Nieprawidłowe odwołania do wierzchołków powinny podlegać świadomej polityce, a kierunek musi odpowiadać znaczeniu krawędzi w aplikacji. Przejrzyj proponowane zmiany wraz z kodem odbiorcy, a potem uruchom testy sprawdzające dokładny wynik każdego wierzchołka. Zachowaj widoczną obsługę stanu nieosiągalności w interfejsie po obliczeniu.
Hopwise obsługuje zgodne punkty końcowe OpenAI lub Anthropic, w tym dostępny model AI bez cenzury. Rzeczywiste zachowanie odpowiedzi, limity kontekstu i narzędzia zależą od tej konfiguracji. Środowisko wspiera analizę; dowody z testów grafu i testów integracyjnych określają, czy zmianę można zachować.
Wybierz mały przykład skierowany z cyklem, nieosiągalnym wierzchołkiem i wyraźnie wskazanym początkiem. Zapisz oczekiwany wynik każdego wierzchołka. Łatwiej wtedy sprawdzić kierunek i znaczenie braku ścieżki niż na dużym grafie produkcyjnym.
Zero opisuje odległość wierzchołka startowego od siebie, a nieosiągalność oznacza brak znalezionej ścieżki zgodnie z kontraktem grafu. Gdy kod wywołujący je utożsamia, interfejs może pokazać nieistniejące połączenie. Przejrzyj reprezentację wyniku i jego odbiorców razem.
Tylko gdy każda krawędź ma ten sam koszt dla celów zadania. Jeśli wagi mają znaczenie, wyjaśnij to wymaganie przed prośbą o zmiany. Implementacji minimalizującej liczbę krawędzi nie należy przedstawiać jako spełniającej inny cel optymalizacji.
Ustal politykę na granicy wejścia i sprawdź istniejący kod wywołujący. Poproś model o zachowanie jasnej ścieżki odrzucania lub walidacji. Testy powinny obejmować błędne odwołania, aby przypadkowe zachowanie indeksowania nie stało się kontraktem aplikacji.
Hopwise · Zaktualizowano 2026-10-25