Cette page explique comment utiliser la recherche Vertex AI pour analyser et segmenter vos documents.
Vous pouvez configurer les paramètres d'analyse ou de fragmentation pour:
Spécifiez comment Vertex AI Search analyse le contenu. Vous pouvez spécifier comment pour analyser le contenu non structuré lorsque vous l'importez dans Vertex AI Search. Vertex AI Search fournit un analyseur numérique, un analyseur OCR pour les PDF et un analyseur de mise en page. Vous pouvez également apporter vos propres documents analysés. L'analyseur de mise en page est recommandé lorsque vous avez un contenu riche et des éléments structurels tels que des sections, des paragraphes, des tableaux et des listes à extraire des documents pour la recherche et la génération de réponses.
Consultez Améliorer la détection de contenu grâce à l'analyse.
Utilisez Vertex AI Search pour la génération augmentée de récupération (RAG). Améliorez les résultats des LLM avec les données pertinentes que vous avez importées dans votre Application Vertex AI Search. Pour ce faire, vous allez activer la fragmentation de documents, qui indexe vos données sous forme de fragments pour améliorer leur pertinence de calcul des LLM. Vous activerez également l'analyseur de mise en page, qui détecte les éléments de document tels que les titres et les listes, afin d'améliorer la segmentation des documents.
Pour en savoir plus sur la fragmentation pour la RAG et sur la façon de renvoyer des fragments dans la recherche , consultez la section Fractionner des documents pour la RAG.
Analyser des documents
Vous pouvez contrôler l'analyse du contenu de différentes manières:
Spécifiez le type d'analyseur. Vous pouvez spécifier le type d'analyse à appliquer en fonction du type de fichier :
- Analyseur numérique : L'analyseur numérique est activé par défaut pour tous les types de fichiers. sauf si un autre type d'analyseur est spécifié. L'analyseur numérique traite les documents ingérés si aucun autre analyseur par défaut n'est spécifié pour le magasin de données ou si l'analyseur spécifié n'est pas compatible avec le type de fichier d'un document ingéré.
- Analyse OCR pour les PDF Si vous prévoyez d'importer des PDF numérisés ou des PDF avec contenu dans des images, vous pouvez activer l'analyseur OCR pour améliorer l'indexation des PDF. Consultez la section Analyseur OCR pour les PDF de ce document.
- Analyseur de mise en page. Activez l'analyseur de mise en page pour les fichiers HTML, PDF ou DOCX si vous prévoyez d'utiliser Vertex AI Search pour le RAG. Pour en savoir plus sur cet analyseur et comment l'activer, consultez la page Chunk documents for RAG (Documenter les blocs pour RAG).
Apportez votre propre document analysé. (Aperçu avec liste d'autorisation) Si vous avez déjà analysé vos documents non structurés, vous pouvez importer ce contenu pré-analysé dans Vertex AI Search. Consultez Utiliser votre propre document analysé.
Comparaison de la disponibilité de l'analyseur
Le tableau suivant indique la disponibilité de chaque analyseur par fichier de document et indique les éléments que chaque analyseur peut détecter et analyser.
Type de fichier | Analyseur numérique | Analyseur OCR | Analyseur de mise en page |
---|---|---|---|
HTML | Détecte les éléments de paragraphe | N/A | Détecte les éléments de paragraphe, de tableau, de liste, de titre et de titre |
Détecte les éléments de paragraphe (texte numérique) | Détecte les éléments de paragraphe | Détecte les éléments de paragraphe, de tableau, de titre et d'en-tête | |
DOCX (version preview) | Détecte les éléments de paragraphe | N/A | Détecte les éléments de paragraphe, de tableau, de liste, de titre et de titre |
PPTX (Preview) | Détecte les éléments de paragraphe | N/A | Détecte les éléments de paragraphe, de tableau, de liste, de titre et de titre |
TXT | Détecte les éléments de paragraphe | N/A | Détecte les éléments de paragraphe, de tableau, de titre et de titre |
XLSX (bêta) | Détecte les éléments de paragraphe | N/A | Détecte les éléments de paragraphe, de tableau, de titre et de titre |
Analyseur numérique
L'analyseur numérique extrait du texte lisible par machine à partir de documents. Il détecte les blocs de texte, mais pas les éléments de document tels que les tableaux, les listes et les titres.
L'analyseur numérique est utilisé par défaut si vous n'indiquez pas d'autre comme analyseur par défaut lors de la création du data store ou si un analyseur spécifié ne prend pas en charge un type de fichier en cours d'importation.
Analyseur OCR pour les PDF
Si vous avez des PDF dans lesquels il n'est pas possible d'effectuer des recherches (PDF scannés ou PDF contenant du texte dans des images, comme les infographies), Google recommande d'activer la reconnaissance optique des caractères. lors de la création du data store. Cela permet Vertex AI Search pour extraire des éléments de paragraphe.
Si vous disposez de PDF ou d'autres formats numériques pouvant être recherchés et principalement composés de texte lisible par machine, vous n'avez généralement pas besoin d'utiliser l'analyseur OCR. Toutefois, si vous disposez de PDF contenant à la fois du texte non indexable (tel que du texte numérisé ou des infographies) et du texte lisible par machine, vous pouvez définir le champ useNativeText
sur "true" lorsque vous spécifiez l'analyseur OCR. Dans ce cas, le texte lisible par machine est fusionné avec les résultats d'analyse OCR pour améliorer la qualité d'extraction du texte.
Les fonctionnalités de traitement OCR sont disponibles pour les applications de recherche génériques avec des data stores non structurés.
Le processeur OCR peut analyser jusqu'à 500 pages par fichier PDF. Plus longtemps PDF, le processeur OCR analyse les 500 premières pages et l'analyseur par défaut analyse le reste.
Analyseur de mise en page
L'analyse de la mise en page permet à Vertex AI Search de détecter les mises en page pour les PDF et les fichiers HTML. La prise en charge des fichiers DOCX est disponible en version preview. Vertex AI Search peut alors identifier les éléments de contenu tels que les blocs de texte, les tableaux, les listes et les tels que les titres et les en-têtes, et utilisez-les pour définir l'organisation et d'un document.
Vous pouvez activer l'analyse de la mise en page pour tous les types de fichiers ou spécifier le fichier pour lesquels l'activer. L'analyseur de mise en page détecte les éléments de contenu tels que les paragraphes, les tableaux, les listes et les éléments structurels tels que les titres, les titres, les en-têtes et les notes de bas de page.
L'analyseur de mise en page n'est disponible que lorsque vous utilisez le découpage de documents pour RAG. Lorsque le fractionnement de documents est activé, Vertex AI Search divise les documents en segments au moment de l'ingestion et peut renvoyer les documents sous forme de segments. Détection... la mise en page des documents active la segmentation basée sur le contenu, et améliore les recherches et les réponses génération liée aux éléments du document. Pour en savoir plus sur la fragmentation pour la RAG, consultez la section Fractionner des documents pour la RAG.
La taille maximale des fichiers PDF ne doit pas dépasser 40 Mo avec l'analyseur de mise en page.
Spécifier un analyseur par défaut
En incluant l'objet documentProcessingConfig
lorsque vous créez un data store, vous pouvez spécifier un analyseur par défaut pour ce data store. Si vous n'incluez pas documentProcessingConfig.defaultParsingConfig
, l'analyseur numérique est utilisé. L'analyseur numérique est également utilisé si l'analyseur spécifié n'est pas disponible pour un type de fichier.
REST
Pour spécifier un analyseur par défaut :
Lorsque vous créez un data store de recherche à l'aide de l'API, inclure
documentProcessingConfig.defaultParsingConfig
dans le data store demande de création. Vous pouvez spécifier l'analyseur OCR, l'analyseur de mise en page ou analyseur numérique:Pour spécifier l'analyseur OCR pour les PDF :
"documentProcessingConfig": { "defaultParsingConfig": { "ocrParsingConfig": { "useNativeText": "NATIVE_TEXT_BOOLEAN" } } }
NATIVE_TEXT_BOOLEAN
: facultatif. Ne définir que si vous ingérez des PDF. Si la valeur esttrue
, le traitement du texte lisible par une machine est activé pour l'analyseur OCR. La valeur par défaut estfalse
.
Pour spécifier l'analyseur de mise en page :
"documentProcessingConfig": { "defaultParsingConfig": { "layoutParsingConfig": {} } }
Pour spécifier l'analyseur numérique:
"documentProcessingConfig": { "defaultParsingConfig": { "digitalParsingConfig": {} } }
Exemple
L'exemple suivant spécifie lors de la création du datastore que l'analyseur OCR sera l'analyseur par défaut. Étant donné que l'analyseur OCR ne s'applique qu'aux fichiers PDF, tous les fichiers PDF ingérés seront traités par l'analyseur OCR, et tous les autres types de fichiers seront traités par l'analyseur numérique.
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-H "X-Goog-User-Project: exampleproject" \
"https://discoveryengine.googleapis.com/v1alpha/projects/exampleproject/locations/global/collections/default_collection/dataStores?dataStoreId=datastore123" \
-d '{
"displayName": "exampledatastore",
"industryVertical": "GENERIC",
"solutionTypes": ["SOLUTION_TYPE_SEARCH"],
"contentConfig": "CONTENT_REQUIRED",
"documentProcessingConfig": {
"defaultParsingConfig": {
"ocrParsingConfig": {
"useNativeText": "false"
}
}
}
}'
Spécifier des remplacements d'analyseur pour les types de fichiers
Vous pouvez spécifier qu'un type de fichier particulier (PDF, HTML ou DOCX) doit être analysé par un analyseur différent de l'analyseur par défaut. Pour ce faire, incluez le champ documentProcessingConfig
dans votre requête de création de data store et spécifiez l'analyseur de forçage. Si vous
ne spécifiez pas d'analyseur par défaut, l'analyseur numérique est utilisé par défaut.
REST
Pour spécifier un forçage d'analyseur spécifique au type de fichier :
Lorsque vous créez un data store de recherche à l'aide de l'API, inclure
documentProcessingConfig.defaultParsingConfig
dans le data store demande de création.Vous pouvez spécifier un analyseur pour
pdf
,html
oudocx
:"documentProcessingConfig": { "parsingConfigOverrides": { "FILE_TYPE": { PARSING_CONFIG }, } }
Remplacez les éléments suivants :
FILE_TYPE
: les valeurs acceptées sontpdf
,html
etdocx
.PARSING_CONFIG
: spécifiez la configuration de l'analyseur. que vous souhaitez appliquer au type de fichier. Vous pouvez spécifier l'analyseur OCR, de mise en page ou l'analyseur numérique:Pour spécifier l'analyseur OCR pour les PDF :
"ocrParsingConfig": { "useNativeText": "NATIVE_TEXT_BOOLEAN" }
NATIVE_TEXT_BOOLEAN
: facultatif. Définir uniquement si vous utilisez l'ingestion de PDF. Si la valeur esttrue
, le traitement du texte lisible par machine est activé pour l'analyseur OCR. La valeur par défaut estfalse
.
Pour spécifier l'analyseur de mise en page :
"layoutParsingConfig": {}
Pour spécifier l'analyseur numérique:
"documentProcessingConfig": { "defaultParsingConfig": { "digitalParsingConfig": {} } }
Exemple
L'exemple suivant spécifie lors de la création du store de données que les fichiers PDF doivent être traités par l'analyseur OCR et que les fichiers HTML doivent être traités par l'analyseur de mise en page. Dans ce cas, tous les fichiers autres que les fichiers PDF et HTML seraient par l'analyseur numérique.
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-H "X-Goog-User-Project: exampleproject" \
"https://discoveryengine.googleapis.com/v1alpha/projects/exampleproject/locations/global/collections/default_collection/dataStores?dataStoreId=datastore123" \
-d '{
"displayName": "exampledatastore",
"industryVertical": "GENERIC",
"solutionTypes": ["SOLUTION_TYPE_SEARCH"],
"contentConfig": "CONTENT_REQUIRED",
"documentProcessingConfig": {
"parsingConfigOverrides": {
"pdf": {
"ocrParsingConfig": {
"useNativeText": "false"
},
},
"html": {
"layoutParsingConfig": {}
}
}
}
}'
Obtenir des documents analysés au format JSON
Vous pouvez obtenir un document analysé au format JSON en appelant la méthode
getProcessedDocument
et en spécifiant PARSED_DOCUMENT
comme valeur traitée
type de document. Il peut être utile d'obtenir des documents analysés au format JSON si vous en avez besoin
vous pouvez importer le document analysé ailleurs ou le réimporter, analysé
vers Vertex AI Agent Builder à l'aide de l'API Bring Your Own Links
document.
REST
Pour obtenir des documents analysés au format JSON, procédez comme suit:
Appelez la méthode
getProcessedDocument
:curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATA_STORE_ID/branches/0/documents/DOCUMENT_ID:getProcessedDocument?processed_document_type=PARSED_DOCUMENT"
Remplacez les éléments suivants :
PROJECT_ID
: ID de votre projet.DATA_STORE_ID
: ID de votre data store.DOCUMENT_ID
: ID du document à obtenir.
Utiliser votre propre document analysé
Vous pouvez importer des documents non structurés pré-analysés dans des datastores Vertex AI Search. Par exemple, au lieu d'importer un document PDF brut, vous pouvez analyser vous-même le PDF et importer le résultat de l'analyse à la place. Vous pouvez ainsi importer vos documents de façon structurée, que la recherche et la génération de réponses contiennent des informations sur la mise en page du document. et éléments.
Un document analysé et non structuré est représenté par un fichier JSON décrivant la
document non structuré à l'aide d'une séquence de blocs de texte, de tableau et de liste. Vous importez des fichiers JSON avec vos données de documents non structurés analysées de la même manière que vous importez d'autres types de documents non structurés, tels que des PDF. Lorsque cette
chaque fois qu'un fichier JSON est importé et identifié par l'une des
un type MIME application/json
ou une extension .JSON, il est traité comme
document analysé.
Pour activer cette fonctionnalité et en savoir plus sur son utilisation, contactez l'équipe Comptes Google.
Divisez les documents en blocs pour le RAG
Par défaut, Vertex AI Search est optimisé pour la récupération de documents, où votre application de recherche renvoie un document tel qu'un PDF ou une page Web avec chaque recherche résultat.
Les fonctionnalités de fragmentation de documents sont disponibles pour les applications de recherche génériques contenant dans les data stores non structurés.
Vertex AI Search peut être optimisé pour la génération augmentée par récupération (RAG), où votre application de recherche est principalement utilisée pour enrichir la sortie du LLM avec vos données personnalisées. Lorsque le fractionnement de documents est activé, Vertex AI Search divise vos documents en segments. Dans les résultats de recherche, votre application de recherche peut renvoyer des blocs de données pertinents au lieu de documents complets. L'utilisation de données segmentées pour RAG augmente la pertinence des réponses du LLM et réduit la charge de calcul pour les LLM.
Pour utiliser Vertex AI Search pour la RAG:
Activez la fragmentation des documents lorsque vous créez votre datastore.
Vous pouvez également importer vos propres fragments (aperçu avec liste d'autorisation) si vous avez déjà fragmenté vos propres documents.
Vous pouvez récupérer et afficher des segments de différentes manières :
Limites
Les limites suivantes s'appliquent à la fragmentation:
- La fragmentation de documents ne peut pas être activée ou désactivée après la création du data store.
- Vous pouvez effectuer des requêtes de recherche sur des documents plutôt que sur des fragments à partir d'un data store. avec la fragmentation de documents activée. Toutefois, les magasins de données avec le fractionnement de documents activé ne sont pas optimisés pour renvoyer des documents. Les documents sont renvoyés par l'agrégation de blocs dans des documents.
- Lorsque le découpage de documents est activé, les résumés de recherche et la recherche avec des suivis sont compatibles avec la version Preview publique, mais pas avec la version GA.
Options de fragmentation de documents
Cette section décrit les options que vous spécifiez pour activer la fragmentation de documents.
Lors de la création du data store, activez les options suivantes pour que Vertex AI Search peut indexer vos documents sous forme de fragments.
Fragmentation de documents tenant compte de la mise en page Pour activer cette option, incluez le paramètre Champ
documentProcessingConfig
dans votre requête de création de data store et spécifiezChunkingConfig.LayoutBasedChunkingConfig
Lorsque le découpage de documents tenant compte de la mise en page est activé, Vertex AI Search détecte la mise en page d'un document et la prend en compte lors du découpage. Ce améliore la cohérence sémantique et réduit le bruit dans le contenu lorsqu'il est utilisé pour la récupération et la génération de LLM. Tout le texte d'un bloc provient même entité de mise en page, telle que des en-têtes, des sous-titres et des listes.
Analyse de la mise en page Pour activer cette option, indiquez
ParsingConfig.LayoutParsingConfig
lors de la création du data storeL'analyseur de mise en page détecte les mises en page des fichiers PDF, HTML et DOCX. Il identifie des éléments tels que des blocs de texte, des tableaux, des listes, des titres et des en-têtes, et les utilise pour définir l'organisation et la hiérarchie d'un document.
Pour en savoir plus sur l'analyse de la mise en page, consultez Analyse de la mise en page.
Activer la fragmentation de documents
Vous pouvez activer la fragmentation des documents en incluant l'objet documentProcessingConfig
dans votre requête de création de datastore, puis en activant la fragmentation et l'analyse de mise en page des documents tenant compte de la mise en page.
REST
Pour activer la fragmentation de documents:
Lorsque vous créez un datastore de recherche à l'aide de l'API, incluez l'objet
documentProcessingConfig.chunkingConfig
dans la requête de création du datastore."documentProcessingConfig": { "chunkingConfig": { "layoutBasedChunkingConfig": { "chunkSize": CHUNK_SIZE_LIMIT, "includeAncestorHeadings": HEADINGS_BOOLEAN, } }, "defaultParsingConfig": { "layoutParsingConfig": {} } }
Remplacez les éléments suivants :
CHUNK_SIZE_LIMIT
: facultatif. Taille limite des jetons pour chaque fragment. La valeur par défaut est 500. Les valeurs acceptées sont comprises entre 100 et 500 (incluses).HEADINGS_BOOLEAN
: facultatif. Détermine si les en-têtes sont incluses dans chaque fragment. La valeur par défaut estfalse
. Ajout d'un titre... et les en-têtes à tous les niveaux aux morceaux du milieu du document peuvent aident à prévenir la perte de contexte lors de la récupération et du classement des fragments.
Apporter vos propres fragments (aperçu avec la liste d'autorisation)
Si vous avez déjà fragmenté vos propres documents, vous pouvez les importer dans Vertex AI Search au lieu d'activer les options de fragmentation de documents.
L'utilisation de vos propres fragments est une fonctionnalité d'aperçu avec liste d'autorisation. Pour utiliser cette contactez l'équipe chargée de votre compte Google.
Lister les fragments d'un document
Pour répertorier tous les fragments d'un document spécifique, appelez la méthode Chunks.list
.
REST
Pour lister les segments d'un document, procédez comme suit :
Appelez la méthode
Chunks.list
:curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATA_STORE_ID/branches/0/documents/DOCUMENT_ID/chunks"
Remplacez les éléments suivants :
PROJECT_ID
: ID de votre projet.DATA_STORE_ID
: ID de votre datastore.DOCUMENT_ID
: ID du document à partir duquel répertorier les fragments.
Obtenir des segments au format JSON à partir d'un document traité
Vous pouvez obtenir tous les fragments d'un document spécifique au format JSON en appelant
la méthode getProcessedDocument
. Il peut être utile d'obtenir des fragments au format JSON
vous devez importer des fragments ailleurs ou, si vous décidez de les réimporter
Vertex AI Agent Builder à l'aide de la fonctionnalité Bring Your Own Fragments.
REST
Pour obtenir des fragments JSON pour un document, procédez comme suit:
Appelez la méthode
getProcessedDocument
:curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATA_STORE_ID/branches/0/documents/DOCUMENT_ID/chunks:getProcessedDocument?processed_document_type=CHUNKED_DOCUMENT"
Remplacez les éléments suivants :
PROJECT_ID
: ID de votre projet.DATA_STORE_ID
: ID de votre datastore.DOCUMENT_ID
: ID du document à partir duquel obtenir des segments.
Obtenir des segments spécifiques
Pour obtenir un bloc spécifique, appelez la méthode Chunks.get
.
REST
Pour obtenir un segment spécifique, procédez comme suit :
Appelez la méthode
Chunks.get
:curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATA_STORE_ID/branches/0/documents/DOCUMENT_ID/chunks/CHUNK_ID"
Remplacez les éléments suivants :
PROJECT_ID
: ID de votre projet.DATA_STORE_ID
: ID de votre data store.DOCUMENT_ID
: ID du document dont le segment provient.CHUNK_ID
: ID du segment à renvoyer.
Renvoyer des segments dans les requêtes de recherche
Après avoir confirmé que vos données ont été correctement fragmentées, votre Vertex AI Search peut renvoyer des données fragmentées dans ses résultats de recherche.
La réponse renvoie un extrait pertinent par rapport à la requête de recherche. De plus, vous pouvez choisir de renvoyer les blocs adjacents qui apparaissent avant et après le dans le document source. Les segments adjacents peuvent ajouter du contexte et de la précision.
REST
Pour obtenir des données segmentées :
Lorsque vous effectuez une requête de recherche, spécifiez
ContentSearchSpec.SearchResultMode
en tant quechunks
.contentSearchSpec": { "searchResultMode": "RESULT_MODE", "chunkSpec": { "numPreviousChunks": NUMBER_OF_PREVIOUS_CHUNKS, "numNextChunks": NUMBER_OF_NEXT_CHUNKS } }
RESULT_MODE
: détermine si les résultats de recherche sont renvoyés en tant que documents complets ou en morceaux. Pour obtenir des segments, la fragmentation des documents doit être activée dans le datastore. Les valeurs acceptées sontdocuments
etchunks
. Si le fractionnement de documents est activé pour votre entrepôt de données, la valeur par défaut estchunks
.NUMBER_OF_PREVIOUS_CHUNKS
: nombre de fragments à renvoyer ayant immédiatement précédé le bloc approprié. La valeur maximale autorisée est de 5.NUMBER_OF_NEXT_CHUNKS
: nombre de segments à renvoyer qui suivent immédiatement le segment concerné. La valeur maximale autorisée est de 5.
Exemple
L'exemple suivant de requête de requête de recherche définit SearchResultMode
sur
chunks
, demande un fragment précédent et un fragment suivant, et limite le nombre
de résultats dans un seul fragment pertinent à l'aide de pageSize
.
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-H "X-Goog-User-Project: exampleproject" \
"https://discoveryengine.googleapis.com/v1alpha/projects/exampleproject/locations/global/collections/default_collection/dataStores/datastore123/servingConfigs/default_search:search" \
-d '{
"query": "animal",
"pageSize": 1,
"contentSearchSpec": {
"searchResultMode": "CHUNKS",
"chunkSpec": {
"numPreviousChunks": 1,
"numNextChunks": 1
}
}
}'
L'exemple suivant montre la réponse renvoyée pour l'exemple de requête. La réponse contient les segments pertinents, les segments précédents et suivants, les métadonnées du document d'origine et la plage de pages du document à partir duquel chaque segment a été dérivé.
Réponse
{ "results": [ { "chunk": { "name": "projects/961309680810/locations/global/collections/default_collection/dataStores/allie-pdf-adjacent-chunks_1711394998841/branches/0/documents/0d8619f429d7f20b3575b14cd0ad0813/chunks/c17", "id": "c17", "content": "\n# ESS10: Stakeholder Engagement and Information Disclosure\nReaders should also refer to ESS10 and its guidance notes, plus the template available for a stakeholder engagement plan. More detail on stakeholder engagement in projects with risks related to animal health is contained in section 4 below. The type of stakeholders (men and women) that can be engaged by the Borrower as part of the project's environmental and social assessment and project design and implementation are diverse and vary based on the type of intervention. The stakeholders can include: Pastoralists, farmers, herders, women's groups, women farmers, community members, fishermen, youths, etc. Cooperatives members, farmer groups, women's livestock associations, water user associations, community councils, slaughterhouse workers, traders, etc. Veterinarians, para-veterinary professionals, animal health workers, community animal health workers, faculties and students in veterinary colleges, etc. 8 \n# 4. Good Practice in Animal Health Risk Assessment and Management\n\n# Approach\nRisk assessment provides the transparent, adequate and objective evaluation needed by interested parties to make decisions on health-related risks associated with project activities involving live animals. As the ESF requires, it is conducted throughout the project cycle, to provide or indicate likelihood and impact of a given hazard, identify factors that shape the risk, and find proportionate and appropriate management options. The level of risk may be reduced by mitigation measures, such as infrastructure (e.g., diagnostic laboratories, border control posts, quarantine stations), codes of practice (e.g., good animal husbandry practices, on-farm biosecurity, quarantine, vaccination), policies and regulations (e.g., rules for importing live animals, ban on growth hormones and promotors, feed standards, distance required between farms, vaccination), institutional capacity (e.g., veterinary services, surveillance and monitoring), changes in individual behavior (e.g., hygiene, hand washing, care for animals). Annex 2 provides examples of mitigation practices. This list is not an exhaustive one but a compendium of most practiced interventions and activities. The cited measures should take into account social, economic, as well as cultural, gender and occupational aspects, and other factors that may affect the acceptability of mitigation practices by project beneficiaries and other stakeholders. Risk assessment is reviewed and updated through the project cycle (for example to take into account increased trade and travel connectivity between rural and urban settings and how this may affect risks of disease occurrence and/or outbreak). Projects monitor changes in risks (likelihood and impact) b by using data, triggers or indicators. ", "documentMetadata": { "uri": "gs://table_eval_set/pdf/worldbank/AnimalHealthGoodPracticeNote.pdf", "title": "AnimalHealthGoodPracticeNote" }, "pageSpan": { "pageStart": 14, "pageEnd": 15 }, "chunkMetadata": { "previousChunks": [ { "name": "projects/961309680810/locations/global/collections/default_collection/dataStores/allie-pdf-adjacent-chunks_1711394998841/branches/0/documents/0d8619f429d7f20b3575b14cd0ad0813/chunks/c16", "id": "c16", "content": "\n# ESS6: Biodiversity Conservation and Sustainable Management of Living Natural Resources\nThe risks associated with livestock interventions under ESS6 include animal welfare (in relation to housing, transport, and slaughter); diffusion of pathogens from domestic animals to wildlife, with risks for endemic species and biodiversity (e.g., sheep and goat plague in Mongolia affecting the saiga, an endemic species of wild antelope); the introduction of new breeds with potential risk of introducing exotic or new diseases; and the release of new species that are not endemic with competitive advantage, potentially putting endemic species at risk of extinction. Animal welfare relates to how an animal is coping with the conditions in which it lives. An animal is in a good state of welfare if it is healthy, comfortable, well nourished, safe, able to express innate behavior, 7 Good Practice Note - Animal Health and related risks and is not suffering from unpleasant states such as pain, fear or distress. Good animal welfare requires appropriate animal care, disease prevention and veterinary treatment; appropriate shelter, management and nutrition; humane handling, slaughter or culling. The OIE provides standards for animal welfare on farms, during transport and at the time of slaughter, for their welfare and for purposes of disease control, in its Terrestrial and Aquatic Codes. The 2014 IFC Good Practice Note: Improving Animal Welfare in Livestock Operations is another example of practical guidance provided to development practitioners for implementation in investments and operations. Pastoralists rely heavily on livestock as a source of food, income and social status. Emergency projects to restock the herds of pastoralists affected by drought, disease or other natural disaster should pay particular attention to animal welfare (in terms of transport, access to water, feed, and animal health) to avoid potential disease transmission and ensure humane treatment of animals. Restocking also entails assessing the assets of pastoralists and their ability to maintain livestock in good conditions (access to pasture and water, social relationship, technical knowledge, etc.). Pastoralist communities also need to be engaged by the project to determine the type of animals and breed and the minimum herd size to be considered for restocking. \n# Box 5. Safeguarding the welfare of animals and related risks in project activities\nIn Haiti, the RESEPAG project (Relaunching Agriculture: Strengthening Agriculture Public Services) financed housing for goats and provided technical recommendations for improving their welfare, which is critical to avoid the respiratory infections, including pneumonia, that are serious diseases for goats. To prevent these diseases, requires optimal sanitation and air quality in herd housing. This involves ensuring that buildings have adequate ventilation and dust levels are reduced to minimize the opportunity for infection. Good nutrition, water and minerals are also needed to support the goats' immune function. The project paid particular attention to: (i) housing design to ensure good ventilation; (ii) locating housing close to water sources and away from human habitation and noisy areas; (iii) providing mineral blocks for micronutrients; (iv) ensuring availability of drinking water and clean food troughs. ", "documentMetadata": { "uri": "gs://table_eval_set/pdf/worldbank/AnimalHealthGoodPracticeNote.pdf", "title": "AnimalHealthGoodPracticeNote" }, "pageSpan": { "pageStart": 13, "pageEnd": 14 } } ], "nextChunks": [ { "name": "projects/961309680810/locations/global/collections/default_collection/dataStores/allie-pdf-adjacent-chunks_1711394998841/branches/0/documents/0d8619f429d7f20b3575b14cd0ad0813/chunks/c18", "id": "c18", "content": "\n# Scoping of risks\nEarly scoping of risks related to animal health informs decisions to initiate more comprehensive risk assessment according to the type of livestock interventions and activities. It can be based on the following considerations: • • • • Type of livestock interventions supported by the project (such as expansion of feed resources, improvement of animal genetics, construction/upgrading and management of post-farm-gate facilities, etc. – see also Annex 2); Geographic scope and scale of the livestock interventions; Human and animal populations that are likely to be affected (farmers, women, children, domestic animals, wildlife, etc.); and Changes in the project or project context (such as emerging disease outbreak, extreme weather or climatic conditions) that would require a re-assessment of risk levels, mitigation measures and their likely effect on risk reduction. Scenario planning can also help to identify project-specific vulnerabilities, country-wide or locally, and help shape pragmatic analyses that address single or multiple hazards. In this process, some populations may be identified as having disproportionate exposure or vulnerability to certain risks because of occupation, gender, age, cultural or religious affiliation, socio-economic or health status. For example, women and children may be the main caretakers of livestock in the case of 9 Good Practice Note - Animal Health and related risks household farming, which puts them into close contact with animals and animal products. In farms and slaughterhouses, workers and veterinarians are particularly exposed, as they may be in direct contact with sick animals (see Box 2 for an illustration). Fragility, conflict, and violence (FCV) can exacerbate risk, in terms of likelihood and impact. Migrants new to a geographic area may be immunologically naïve to endemic zoonotic diseases or they may inadvertently introduce exotic diseases; and refugees or internally displaced populations may have high population density with limited infrastructure, leaving them vulnerable to disease exposure. Factors such as lack of access to sanitation, hygiene, housing, and health and veterinary services may also affect disease prevalence, contributing to perpetuation of poverty in some populations. Risk assessment should identify populations at risk and prioritize vulnerable populations and circumstances where risks may be increased. It should be noted that activities that seem minor can still have major consequences. See Box 6 for an example illustrating how such small interventions in a project may have large-scale consequences. It highlights the need for risk assessment, even for simple livestock interventions and activities, and how this can help during the project cycle (from concept to implementation). ", "documentMetadata": { "uri": "gs://table_eval_set/pdf/worldbank/AnimalHealthGoodPracticeNote.pdf", "title": "AnimalHealthGoodPracticeNote" }, "pageSpan": { "pageStart": 15, "pageEnd": 16 } } ] } } } ], "totalSize": 61, "attributionToken": "jwHwjgoMCICPjbAGEISp2J0BEiQ2NjAzMmZhYS0wMDAwLTJjYzEtYWQxYS1hYzNlYjE0Mzc2MTQiB0dFTkVSSUMqUMLwnhXb7Ygtq8SKLa3Eii3d7Ygtj_enIqOAlyLm7Ygtt7eMLduPmiKN96cijr6dFcXL8xfdj5oi9-yILdSynRWCspoi-eyILYCymiLk7Ygt", "nextPageToken": "ANxYzNzQTMiV2MjFWLhFDZh1SMjNmMtADMwATL5EmZyMDM2YDJaMQv3yagQYAsciPgIwgExEgC", "guidedSearchResult": {}, "summary": {} }