Modellen
Stel een OpenAI-compatibel of Anthropic-endpoint in met de basis-URL en zo nodig een API-sleutel. Test de verbinding. Een lokale modelserver moet actief zijn; externe hulpmiddelen kunnen apart gegevens versturen.
Bereken de kortste gerichte padafstanden vanaf één knoop in een graaf met 1 tot 1000 knopen.
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 distancesStel een OpenAI-compatibel of Anthropic-endpoint in met de basis-URL en zo nodig een API-sleutel. Test de verbinding. Een lokale modelserver moet actief zijn; externe hulpmiddelen kunnen apart gegevens versturen.
Test cycli, herhaalde kanten en onbereikbare knopen en weiger een lege graaf of ongeldige eindpunten vóór het doorlopen.
Vergelijk het werkelijke gedrag met het verwachte resultaat. Onderzoek een mislukte controle voordat je verdergaat met wijzigingen.
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 distancesEen graafresultaat is alleen bruikbaar als de aanroeper weet wat elke waarde betekent. Hopwise biedt een AI-programmeeromgeving voor Windows voor graafgerelateerde code en verbindt de broncode met een gesprek over de bijbehorende afspraken. Begin bij de invoerweergave en de manier waarop de toepassing het resultaat toont of gebruikt, in plaats van een geïsoleerde algoritmevervanging te vragen.
Toon voor een taak rond het kleinste aantal stappen een kleine gerichte graaf met bereikbare en onbereikbare knopen. Vraag het verbonden model te onderzoeken hoe de implementatie de startknoop onderscheidt van een knoop zonder pad. Voeg een cyclus toe, zodat de beoordeling ook herhaalde ontdekking omvat en niet alleen de eenvoudigste voorwaartse keten.
Onderzoek vervolgens de grens waar graafgegevens de functie binnenkomen. Ongeldige knoopverwijzingen moeten volgens bewust beleid worden behandeld, en de richting moet overeenkomen met de betekenis van een verbinding in de toepassing. Beoordeel voorgestelde wijzigingen samen met de afnemende code en voer testgevallen uit die exacte resultaten voor elke knoop controleren. Houd de verwerking van onbereikbaarheid zichtbaar in de interface na de berekening.
Hopwise ondersteunt compatibele OpenAI-compatibele of Anthropic-endpoints, waaronder een beschikbaar AI-model zonder censuur. Werkelijk antwoordgedrag, contextlimieten en tools hangen van die configuratie af. De omgeving ondersteunt het onderzoek; bewijs uit je graaftestgevallen en integratietests bepaalt of de wijziging kan worden behouden.
Kies een klein gericht voorbeeld met een cyclus, een onbereikbare knoop en een duidelijk aangewezen startpunt. Beschrijf het verwachte resultaat voor elke knoop. Dat maakt richting en de betekenis van ontbrekende paden gemakkelijker te onderzoeken dan een grote productiegraaf.
Nul beschrijft de afstand van de startknoop tot zichzelf; onbereikbaar betekent dat volgens de graafafspraken geen pad is gevonden. Als aanroepers ze verwarren, kan de interface een niet-bestaande verbinding tonen. Beoordeel de resultaatweergave en haar afnemers samen.
Alleen als elke verbinding voor deze taak dezelfde kosten vertegenwoordigt. Als gewichten belangrijk zijn, leg die eis dan uit voordat je om wijzigingen vraagt. Een implementatie voor het kleinste aantal stappen mag niet worden voorgesteld als oplossing voor een ander optimalisatiedoel.
Stel het beleid vast aan de invoergrens en onderzoek bestaande aanroepers. Vraag het model een duidelijk afwijzings- of validatiepad te behouden. Neem ongeldige verwijzingen op in tests, zodat toevallig indexeringsgedrag niet de toepassingsafspraak wordt.
Hopwise · Bijgewerkt 2026-10-25