ScavioScavio
ProduitTarifsDocumentation
ConnexionCommencer
  1. Accueil
  2. Tutoriels
  3. Comment ancrer un LLM avec les données d'un dépôt GitHub
Tutoriel

Comment ancrer un LLM avec les données d'un dépôt GitHub

Ancrer les réponses du LLM dans le contenu réel du dépôt en combinant la recherche GitHub via les opérateurs de site SERP avec l'endpoint fetch de Scavio.

Obtenez une clé API gratuiteDocumentation API

Ancrer les réponses des LLM dans le code source est plus efficace que des explications hallucinées. Ce tutoriel utilise le SERP de Scavio avec site:github.com et son endpoint fetch pour intégrer le contenu du dépôt dans la boucle de l'agent sans lourde intégration de l'API GitHub.

Prérequis

  • Python 3.10+
  • Une clé API Scavio
  • Une clé API LLM

Parcours

Étape 1: Rechercher dans un dépôt via SERP

La recherche ciblée site:github.com/ORG/REPO trouve rapidement le bon fichier.

Python
import requests, os
API_KEY = os.environ['SCAVIO_API_KEY']

def repo_search(repo, query):
    r = requests.post('https://api.scavio.dev/api/v1/search',
        headers={'x-api-key': API_KEY},
        json={'query': f'site:github.com/{repo} {query}', 'num_results': 10})
    return r.json().get('organic_results', [])

Étape 2: Récupérer le fichier sélectionné

Les URLs brutes GitHub fonctionnent avec l'endpoint fetch de Scavio.

Python
def fetch_raw(url):
    raw = url.replace('github.com', 'raw.githubusercontent.com').replace('/blob/', '/')
    r = requests.post('https://api.scavio.dev/api/v1/extract',
        headers={'x-api-key': API_KEY},
        json={'url': raw})
    return r.json().get('content', '')

Étape 3: Ancrer la réponse

Passer le contenu récupéré dans le prompt LLM avec citation de la source.

Python
import anthropic
client = anthropic.Anthropic()

def grounded_answer(repo, question):
    hits = repo_search(repo, question)
    content = fetch_raw(hits[0]['link']) if hits else ''
    msg = client.messages.create(
        model='claude-sonnet-4-6',
        max_tokens=1024,
        messages=[{'role': 'user', 'content': f'{question}\n\nCONTEXT:\n{content[:4000]}'}])
    return msg.content[0].text

Étape 4: Ajouter la composition multi-fichiers

Extraire les 3 premiers résultats, classer par pertinence, composer le contexte.

Python
def multi_file_context(repo, question):
    hits = repo_search(repo, question)[:3]
    return '\n\n'.join([fetch_raw(h['link'])[:2000] for h in hits])

Étape 5: Valider les citations

S'assurer que la réponse du LLM mentionne au moins une URL source.

Python
def has_citations(answer, urls):
    return any(u in answer for u in urls)

Exemple Python

Python
import os, requests
API_KEY = os.environ['SCAVIO_API_KEY']

def repo_grounded(repo, question):
    r = requests.post('https://api.scavio.dev/api/v1/search',
        headers={'x-api-key': API_KEY},
        json={'query': f'site:github.com/{repo} {question}'})
    return r.json().get('organic_results', [])[:3]

print(repo_grounded('prisma/prisma', 'migrate.ts'))

Exemple JavaScript

JavaScript
const API_KEY = process.env.SCAVIO_API_KEY;
export async function repoGrounded(repo, question) {
  const r = await fetch('https://api.scavio.dev/api/v1/search', {
    method: 'POST',
    headers: { 'x-api-key': API_KEY, 'Content-Type': 'application/json' },
    body: JSON.stringify({ query: `site:github.com/${repo} ${question}` })
  });
  return ((await r.json()).organic_results || []).slice(0, 3);
}

Sortie attendue

JSON
LLM answers cite exact files and code paths in the target repo. Hallucination rate drops materially versus ungrounded answers.

Tutoriels associés

  • Comment construire un agent de codage avec recherche en temps réel de tickets GitHub et de documentation
  • Comment convertir des documentations API en Markdown pour Cursor
  • Comment convertir un site Web en markdown prêt pour LLM

Questions fréquentes

La plupart des développeurs terminent ce tutoriel en 15 à 30 minutes. Vous aurez besoin d'une clé API Scavio (l'offre gratuite suffit) et d'un environnement Python ou JavaScript fonctionnel.

Python 3.10+. Une clé API Scavio. Une clé API LLM. Une clé API Scavio vous donne 50 crédits gratuits à l'inscription.

Oui. L'offre gratuite comprend 50 crédits à l'inscription, ce qui est largement suffisant pour terminer ce tutoriel et prototyper une solution fonctionnelle.

Scavio dispose d'un package natif LangChain (langchain-scavio), d'un serveur MCP et d'une API REST simple qui fonctionne avec tout client HTTP. Ce tutoriel utilise the raw REST API, mais vous pouvez l'adapter à votre framework de prédilection.

Ressources connexes

Use Case

RAG Grounding après Google I/O 2026

Read more
Workflow

Contexte d'issue GitHub pour agents de codage

Read more
Best Of

Meilleurs outils d'ancrage de recherche pour agents en 2026

Read more
Solution

Améliorez la qualité des réponses RAG avec l'ancrage de recherche

Read more
Use Case

Agent RAG Style Wiki LLM de Karpathy

Read more
Glossary

Ancrage des workflows LLM

Read more

Commencer

Ancrer les réponses du LLM dans le contenu réel du dépôt en combinant la recherche GitHub via les opérateurs de site SERP avec l'endpoint fetch de Scavio.

Obtenez une clé API gratuiteLire la documentation
ScavioScavio

API de recherche en temps réel pour agents IA. Recherchez sur toutes les plateformes, pas seulement Google.

Produit

  • Fonctionnalités
  • Tarifs
  • Tableau de bord
  • Affiliés

Développeurs

  • Documentation
  • Référence API
  • Démarrage rapide
  • Intégration MCP
  • SDK Python

Alternatives

  • Alternative à Tavily
  • Alternative à SerpAPI
  • Alternative à Firecrawl
  • Alternative à Exa

Outils

  • Formateur JSON
  • cURL vers code
  • Compteur de jetons
  • Tous les outils

© 2026 Scavio. Tous droits réservés.

Featured on TAAFT
Conditions d'utilisationPolitique de confidentialité