Übung: Verbessern der Qualität der Vervollständigung
Jetzt wissen Sie, aus welchen Komponenten eine Eingabeaufforderung besteht und wie man diese Komponenten verwendet, um eine Eingabeaufforderung zu konstruieren, die qualitativ hochwertige Vervollständigungen erzeugt.
Lassen Sie uns die Anwendung für Wanderempfehlungen, die wir in der vorherigen Übung begonnen haben, aktualisieren, um einige dieser Techniken einzubauen.
Aktualisieren der Systemaufforderung
Beim Klassifizieren einer Produktbewertung soll uns das Modell nur mitteilen, ob die Bewertung positiv, neutral oder negativ ist. Wir aktualisieren die Eingabeaufforderung, die das Modell empfängt, damit es die besten Chancen hat, eine qualitativ hochwertige Antwort bereitzustellen.
Die aktuelle Systemaufforderung ist in Ordnung, aber wir können das Modell dazu bringen, angemessenere und aufregendere Wanderungen zu empfehlen, indem wir bewährte Verfahren für die Konstruktion von Eingabeaufforderungen anwenden. Gestalten wir die Anweisungen zum Verhalten des Modells etwas klarer
Hinzufügen von Anweisungen
Öffnen Sie das zuvor erstellte Projekt HikingConversationsAI.
Suchen Sie in der Datei Program.cs nach der Variablen
systemPrompt
, die verwendet wird, um dem Modell seine Persönlichkeitsmerkmale und alle Regeln mitzuteilen, die es befolgen muss.Entfernen Sie den gesamten vorhandenen Text aus der Variablen, und fügen Sie Folgendes hinzu, in dem beschrieben wird, wie das Modell handeln und welche Regeln es befolgen soll:
var systemPrompt = """ You are a hiking enthusiast who helps people discover fun hikes in their area. You are upbeat and friendly. You introduce yourself when first saying hello. When helping people out, you always ask them for this information to inform the hiking recommendation you provide: 1. Where they are located 2. What hiking intensity they are looking for """;
Hinzufügen von primären Inhalten
Der primäre Inhalt bezieht sich auf den Text, der vom Modell transformiert wird, und was damit zu tun ist. In diesem Fall handelt es sich um die Wanderempfehlungen selbst.
Aktualisieren Sie die Variable
systemPrompt
, um das Modell anzuweisen, was mit dem Inhalt zu tun ist.var systemPrompt = """ You are a hiking enthusiast who helps people discover fun hikes in their area. You are upbeat and friendly. You introduce yourself when first saying hello. When helping people out, you always ask them for this information to inform the hiking recommendation you provide: 1. Where they are located 2. What hiking intensity they are looking for You will then provide three suggestions for nearby hikes that vary in length after you get that information. You will also share an interesting fact about the local nature on the hikes when making a recommendation. """;
Verbessern von Wanderempfehlungsanforderungen
Nachdem das Modell nun über bessere Informationen darüber verfügt, wie es sich verhalten sollte und welche Regeln es befolgen sollte, gestalten wir die Anforderungen, die es erhält, besser, damit die empfohlenen Wanderungen passender sind.
Seien Sie spezifisch
Die vorherige Anforderung besagte nur, dass die Wanderung anstrengend sein und eine tolle Aussicht bieten sollte. Sagen wir dem Modell nun ganz genau, wonach wir suchen.
Suchen Sie die Variable
hikeRequest
, und aktualisieren Sie sie, um die folgenden spezifischen Anforderungsinformationen zu erhalten.var hikeRequest = """ I live near Seattle and would like a strenuous hike around the I-90 corridor that ends with a view that is amazing. I don't mind driving for a long time, even if it's over the pass. I've heard the Enchantments are nice. I don't want the hike to be over 10 miles round trip. I'd consider a point-to-point hike. I want the hike to be as seculuded as possible. I don't want to see many people. I would like it to be as bug free as possible. I would also like to avoid any Forest Service roads. """;
Führen Sie die App mit
dotnet run
aus, und sehen Sie sich an, was sie jetzt empfiehlt. Hier sehen Sie ein Beispiel, das wir durch eine Ausführung erhalten haben:Great! Based on your preferences, I'd recommend the following strenuous hikes with amazing views near the I-90 corridor: 1. Mt. Defiance - This hike is a challenging out-and-back trail that is about 10 miles long round trip and boasts stunning views of the Cascade Range from the summit. This trail is relatively secluded and is not located near any Forest Service roads. An interesting fact about this hike is that it passes through an old-growth forest with several old cedar trees. 2. Mailbox Peak - This is another challenging out-and-back trail that is roughly 9.4 miles long round trip. At the summit, hikers will be rewarded with breathtaking views of the surrounding mountains and valleys. Although this hike can be popular, starting early in the morning may help you avoid larger crowds. Additionally, this hike is known to be one of the steepest and most difficult hikes in the area. 3. Talapus and Ollalie Lakes - This hike is less strenuous than the first two and is a point-to-point hike that is about 8 miles long round trip. Despite being less challenging, this hike still offers stunning views of two beautiful alpine lakes and has a relatively low amount of traffic. Interesting fact, this trail is within the Alpine Lakes Wilderness and hikers should keep an eye out for wildlife, including black bears, during their visit. Hope this helps and happy hiking!
Das ist viel besser! Die Antwort folgt den Regeln der Systemaufforderung und enthält detaillierte Informationen zur angeforderten Beschreibung der Wanderung.
Wenn Sie genau hinschauen, sagt die Wanderempfehlung Nummer 3, dass es sich sowohl um eine Punkt-zu-Punkt- als auch um eine Rundwanderung handelt. Lassen Sie uns die Eingabeaufforderung für die Empfehlungsanforderung ändern, um zu prüfen, ob wir diese Fehlinformationen vermeiden können.
Gedankenkette
Wenn Sie das Modell bitten, eine schrittweise Ressourcenerfassung des Denkprozesses bereitzustellen, sollte das helfen, noch genauere Empfehlungen zu geben.
Aktualisieren Sie die Variable
hikeRequest
wie folgt:var hikeRequest = """ I live near Seattle and would like a strenous hike around the I-90 corridor that ends with a view that is amazing. I don't mind driving for a long time, even if it's over the pass. I've heard the Enchantments are nice. I don't want the hike to be over 10 miles round trip. I'd consider a point-to-point hike. I want the hike to be as seculuded as possible. I don't want to see many people. I would like it to be as bug free as possible. I would also like to avoid any Forest Service roads. In the response for each hike, provide a step-by-step accounting of why you picked the hike that you did based off of the attributes I provided above. """;
Führen Sie die App mit
dotnet run
aus, und sehen Sie sich an, was sie jetzt empfiehlt. Hier sehen Sie ein Beispiel, das wir durch eine Ausführung erhalten haben:Great, based on your preferences, I have three hiking recommendations for you near the I-90 corridor. 1. Mount Si - Distance: 8 miles round-trip, Elevation gain: 3,150 ft Located near North Bend, Mount Si is a strenuous hike that ends with beautiful views of the Cascade Mountains and the Snoqualmie Valley. Although it's a popular hike, you can still find secluded areas if you hike a bit further from the trailhead. This trail offers a challenging uphill climb through forests and rocky terrain before reaching the summit. The bugs can be present in the summer, so be sure to bring some repellent. The trailhead is easy to find, and there is no need to take any forest service roads. 2. Snow Lake - Distance: 7.2 miles round-trip, Elevation gain: 1,800 ft Located off of the Snoqualmie Pass, Snow Lake is a moderately challenging hike that offers great views of alpine scenery and serene mountain lake. The trail is a bit rocky but is well-maintained. Although it's a popular hike, you can still find some secluded spots around the lake. The hike starts off on the Alpental Ski Area, with no need to take any forest service roads. There is some bug activity on this trail in the summer months. 3. Granite Mountain - Distance: 8.6 miles round-trip, Elevation gain: 3,800 ft Located off of the I-90 corridor near exit 47, Granite Mountain is a strenuous hike that offers sweeping views of the mountains and valleys of the Alpine Lakes Wilderness. The trail is challenging, but well worth it. The trailhead is easy to find, and there is no need to take any forest service roads. There may be some bug activity on this trail, so it's best to bring some repellent. I hope you find these recommendations helpful!