Exercice : améliorer la qualité de la saisie semi-automatique

Effectué

Nous avons maintenant une compréhension des composants d’une invite et de la façon d’utiliser les composants pour construire une invite afin de générer des saisies de haute qualité.

Nous allons mettre à jour l’application de recommandation de randonnée que nous avons démarrée dans l’exercice précédent pour incorporer certaines de ces techniques.

Mettre à jour l’invite système

Lors de la classification d’un avis de produit, nous voulons uniquement que le modèle nous indique si l’avis est positif, neutre ou négatif. Nous allons mettre à jour l’invite que le modèle reçoit afin qu’il ait les meilleures chances de fournir une réponse de haute qualité.

L’invite système actuelle est correcte, mais nous pouvons faire en sorte que le modèle recommande des randonnées plus appropriées et passionnantes en suivant les meilleures pratiques en matière de construction d’invite. Nous allons rendre les instructions sur la façon dont le modèle doit agir un peu plus claires

Ajouter des instructions

  1. Ouvrez le projet HikingConversationsAI que vous avez créé précédemment.

  2. Dans le fichier Program.cs, recherchez la variable systemPrompt utilisée pour indiquer au modèle ses traits de personnalité et les règles qu’il doit suivre.

  3. Supprimez tout le texte existant de la variable et ajoutez ce qui suit qui décrit la façon dont le modèle doit agir et les règles qu’il doit suivre :

    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
    """;
    

Ajouter du contenu principal

Le contenu principal fait référence au texte qui est transformé par le modèle et à ce qu’il doit faire avec. Dans ce cas, les recommandations de randonnée elles-mêmes.

  1. Mettez à jour la variable systemPrompt pour indiquer au modèle ce qu’il doit faire avec le contenu.

    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.
    """;
    

Améliorer les demandes de recommandation de randonnée

Maintenant que le modèle dispose de meilleures informations sur la façon dont il doit agir et les règles qu’il doit suivre, nous allons améliorer les demandes qu’il reçoit afin que les randonnées qu’il recommande puissent être plus appropriées.

Être précis

La demande précédente a seulement dit que la randonnée doit être intense avec une vue magnifique. Disons exactement au modèle ce que nous recherchons.

  1. Recherchez la variable hikeRequest et mettez-la à jour pour avoir les informations de requête spécifiques suivantes.

    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.
    """;
    
  2. Exécutez l’application avec dotnet run et voyez ce qu’elle recommande maintenant. Voici un exemple que nous avons reçu d’une exécution :

    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!
    

C’est bien mieux ! La réponse suit les règles de l’invite système et fournit des informations détaillées sur la description de la randonnée demandée.

Si vous regardez attentivement, la recommandation de randonnée numéro 3 indique qu’il s’agit à la fois d’une randonnée point à point et d’une randonnée aller-retour. Nous allons modifier l’invite de demande de recommandation pour voir si nous pouvons éviter ces informations erronées.

Chaîne de pensée

Demander au modèle de fournir une comptabilité pas à pas de son processus de réflexion devrait l’aider à faire des recommandations encore plus précises.

  1. Mettez à jour la variable hikeRequest pour qu’elle soit la suivante :

    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.
    """;
    
  2. Exécutez l’application avec dotnet run et voyez ce qu’elle recommande maintenant. Voici un exemple que nous avons reçu d’une exécution :

    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!