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 segmentation afin de:
Spécifiez comment Vertex AI Search analyse le contenu. Vous pouvez spécifier comment 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 par récupération (RAG). Améliorez la sortie des LLM avec les données pertinentes que vous avez importées dans votre application Vertex AI Search. Pour ce faire, activez le découpage de documents, qui indexe vos données en blocs pour améliorer la pertinence et réduire la charge de calcul pour les 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 le découpage pour la génération augmentée de récupération et sur la façon de renvoyer des segments dans les requêtes de recherche, consultez Diviser les documents pour la génération augmentée de récupération.
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 scannés ou des PDF contenant du texte 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).
Utilisez 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é des analyseurs
Le tableau suivant indique la disponibilité de chaque analyseur par type de 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 d'en-tête |
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 (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 (Preview) | 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 ne spécifiez pas un autre analyseur par défaut lors de la création du data store ou si un analyseur spécifié n'est pas compatible avec un type de fichier importé.
Analyseur OCR pour les PDF
Si vous disposez de PDF non indexables (PDF numérisés ou PDF avec du texte dans des images, comme des infographies), Google vous recommande d'activer le traitement de la reconnaissance optique des caractères (OCR) lors de la création du data store. Cela permet à Vertex AI Search d'extraire les é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 500 pages maximum par fichier PDF. Pour les PDF plus longs, 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 au format PDF et HTML. La prise en charge des fichiers DOCX est disponible en version preview. Vertex AI Search peut ensuite identifier des éléments de contenu tels que des blocs de texte, des tableaux, des listes et des éléments structurels tels que des titres et des titres, et les utiliser pour définir l'organisation et la hiérarchie d'un document.
Vous pouvez activer l'analyse de mise en page pour tous les types de fichiers ou spécifier les types de fichiers 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. La détection de la mise en page des documents permet de diviser le contenu en fonction de son contenu et améliore la recherche et la génération de réponses liées aux éléments du document. Pour en savoir plus sur le découpage des documents pour RAG, consultez Découper des documents pour RAG.
L'analyseur de mise en page accepte une taille de fichier PDF maximale de 40 Mo.
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 datastore de recherche à l'aide de l'API, incluez
documentProcessingConfig.defaultParsingConfig
dans la requête de création du data store. Vous pouvez spécifier l'analyseur OCR, l'analyseur de mise en page ou l'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 data store 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 forçages 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 datastore de recherche à l'aide de l'API, incluez
documentProcessingConfig.defaultParsingConfig
dans la requête de création du data store.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, l'analyseur 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. Ne définir que si vous ingérez des 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 data store 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 sont 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": {
"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 type de document traité. Obtenir des documents analysés au format JSON peut être utile si vous devez importer le document analysé ailleurs ou si vous décidez de réimporter des documents analysés dans Vertex AI Agent Builder à l'aide de la fonctionnalité Importer votre propre document analysé.
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 manière structurée, ce qui garantit que la recherche et la génération de réponses disposent d'informations sur la mise en page et les éléments du document.
Un document non structuré analysé est représenté par un code JSON qui le décrit à l'aide d'une séquence de blocs de texte, de tableaux et de listes. 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 fonctionnalité est activée, chaque fois qu'un fichier JSON est importé et identifié par un type MIME application/json
ou une extension .JSON, il est traité comme un document analysé.
Pour activer cette fonctionnalité et en savoir plus sur son utilisation, contactez l'équipe Comptes Google.
Divisez les documents en blocs pour l'analyse 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 résultat de recherche.
Les fonctionnalités de segmentation de documents sont disponibles pour les applications de recherche génériques avec des 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 le RAG:
Activez la fragmentation des documents lorsque vous créez votre datastore.
Vous pouvez également importer vos propres segments (Aperçu avec liste d'autorisation) si vous avez déjà segmenté vos propres documents.
Vous pouvez récupérer et afficher des segments de différentes manières:
Limites
Les limites suivantes s'appliquent au découpage:
- Vous ne pouvez pas activer ni désactiver la fragmentation des documents après avoir créé le data store.
- Vous pouvez effectuer des requêtes de recherche de documents plutôt que de blocs à partir d'un data store avec la fragmentation des 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 en 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 le fractionnement de documents.
Lors de la création du data store, activez les options suivantes pour que Vertex AI Search puisse indexer vos documents en tant que segments.
Fragmentation de documents tenant compte de la mise en page Pour activer cette option, incluez le 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. Cela 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 de la même entité de mise en page, comme les titres, les sous-titres et les listes.
Analyse de la mise en page Pour activer cette option, spécifiez
ParsingConfig.LayoutParsingConfig
lors de la création du data store.L'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 data store, 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 data store."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 (inclus).HEADINGS_BOOLEAN
: facultatif. Détermine si les titres sont inclus dans chaque bloc. La valeur par défaut estfalse
. Ajouter un titre et des titres à tous les niveaux aux segments au milieu du document peut aider à éviter la perte de contexte lors de la récupération et du classement des segments.
Utiliser vos propres segments (aperçu avec liste d'autorisation)
Si vous avez déjà segmenté vos propres documents, vous pouvez les importer dans Vertex AI Search au lieu d'activer les options de segmentation des documents.
L'importation de vos propres segments est une fonctionnalité en version Preview avec une liste d'autorisation. Pour utiliser cette fonctionnalité, contactez l'équipe chargée de votre compte Google.
Répertorier les segments d'un document
Pour lister tous les segments 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 data store.DOCUMENT_ID
: ID du document à partir duquel lister les segments.
Obtenir des segments au format JSON à partir d'un document traité
Vous pouvez obtenir tous les segments d'un document spécifique au format JSON en appelant la méthode getProcessedDocument
. Obtenir des segments au format JSON peut être utile si vous devez importer des segments ailleurs ou si vous décidez de réimporter des segments dans Vertex AI Agent Builder à l'aide de la fonctionnalité Apportez vos propres segments.
REST
Pour obtenir des segments 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 data store.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
Une fois que vous avez vérifié que vos données ont été correctement segmentées, Vertex AI Search peut renvoyer des données segmenté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 segments adjacents qui apparaissent avant et après le segment pertinent 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 sous forme de documents complets ou par blocs. Pour obtenir des segments, la fragmentation des documents doit être activée dans le data store. Les valeurs acceptées sontdocuments
etchunks
. Si le fractionnement de documents est activé pour votre data store, la valeur par défaut estchunks
.NUMBER_OF_PREVIOUS_CHUNKS
: nombre de segments à renvoyer qui ont immédiatement précédé le segment concerné. 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 de requête de requête de recherche suivant définit SearchResultMode
sur chunks
, demande un segment précédent et un segment suivant, et limite le nombre de résultats à un seul segment 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 présente 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": {} }