Delen via


Document insluiten in prompts

Het inhoudsfiltersysteem van Azure OpenAI presteert beter wanneer het onderscheid kan maken tussen de verschillende elementen van uw prompt, zoals systeeminvoer, gebruikersinvoer en de uitvoer van de AI-assistent. Voor verbeterde detectiemogelijkheden moeten prompts worden opgemaakt volgens de volgende aanbevolen methoden.

Standaardgedrag in de API voor voltooiingen van chats

De API voor chatvoltooiingen is per definitie gestructureerd. Invoer bestaat uit een lijst met berichten, elk met een toegewezen rol.

Het veiligheidssysteem parseert deze gestructureerde indeling en past het volgende gedrag toe:

  • Op de meest recente 'gebruikers'-inhoud worden de volgende categorieën RAI-risico's gedetecteerd:
    • Haat
    • Seksueel
    • Geweld
    • Zelfschade
    • Promptschilden (optioneel)

Dit is een voorbeeld van een berichtmatrix:

{"role": "system", "content": "Provide some context and/or instructions to the model."}, 
{"role": "user", "content": "Example question goes here."}, 
{"role": "assistant", "content": "Example answer goes here."}, 
{"role": "user", "content": "First question/message for the model to actually respond to."} 

Documenten insluiten in uw prompt

Naast detectie van de laatste inhoud van gebruikers biedt Azure OpenAI ook ondersteuning voor de detectie van specifieke risico's binnen contextdocumenten via Prompt Shields – Indirect Prompt Attack Detection en Detectie van onderbouwing. U moet de onderdelen van de invoer identificeren die een document zijn (bijvoorbeeld opgehaalde website, e-mail, enzovoort) met het volgende documentscheidingsteken.

\"\"\" <documents> *insert your document content here* </documents> \"\"\" 

Wanneer u dit doet, zijn de volgende opties beschikbaar voor detectie op gelabelde documenten:

  • Indirecte aanvallen (optioneel)
  • Detectie van gegrondheid

Hier volgt een voorbeeld van een matrix met chatvoltooiingsberichten:

{"role": "system", "content": "Provide some context and/or instructions to the model.}, 

{"role": "user", "content": "First question/message for the model to actually respond to, including document context.  \"\"\" <documents>\n*insert your document content here*\n</documents> \"\"\"""}

JSON-escapetechniek

Wanneer u niet-gecodeerde documenten tagt voor detectie, moet de documentinhoud JSON-escaped zijn om te zorgen voor een geslaagde parsering door het Azure OpenAI-beveiligingssysteem.

Zie bijvoorbeeld de volgende hoofdtekst van de e-mail:

Hello Josè, 

I hope this email finds you well today.

Met het escapen van JSON zou het als volgt worden gelezen:

Hello Jos\u00E9,\nI hope this email finds you well today. 

De escape-tekst in een context voor chatvoltooiing zou het volgende lezen:

{"role": "system", "content": "Provide some context and/or instructions to the model, including document context. \"\"\" <documents>\n Hello Jos\\u00E9,\\nI hope this email finds you well today. \n</documents> \"\"\""}, 

{"role": "user", "content": "First question/message for the model to actually respond to."}