Présentation du référentiel
Ce référentiel démontre l'intégration de Chroma DB, une base de données vectorielle, avec des modèles d'incorporation pour développer un système de génération augmentée de récupération robuste (RAG).
Options de modèle d'intégration
Intégration de recommandation (HTTP, GRPC)
Pour améliorer la précision de RAG, nous pouvons incorporer des modèles de re-rankers HuggingFace. Ces modèles évaluent la similitude entre les résultats de la requête et de la requête redirigées de VectordB, le classeur de rediffusion des résultats par index garantissant que les informations récupérées sont pertinentes et contextuellement exactes.
Example:
query := " What is Deep Learning? "
retrievedResults := []string{ " Tomatos are fruits... " , " Deep Learning is not... " , " Deep learning is... " }
Response: [{ " index " :2, " score " :0.9987814},{ " index " :1, " score " :0.022949383},{ " index " :0, " score " :0.000076250595}]Ce référentiel montre comment combiner l'incorporation et le réinstallation pour développer un système de chiffon.
Configurer la base de données vectorielle :
Documents de prétraitement :
Stocker des intégres :
Traitement des requêtes :
Intégrer avec le fournisseur LLM :
Créer un modèle d'invite :
Processus avec LLM :
Cela permet d'améliorer les tâches de traitement du langage en tirant parti de la puissance des bases de données vectorielles et des modèles d'intégration avancés.
<|user|> what is mirostat_tau?</s>:-
Based on the provided content, I can answer your query.
** Query Result: ** Mirostat_tau Controls the balance between coherence and diversity of the output. A lower value will result in more focused and coherent text. (Default: 5.0)
** Document Content: **
mirostat_tau Controls the balance between coherence and diversity of the output. A lower value will result in more focused and coherent text. (Default: 5.0)
float
mirostat_tau 5.0
** Additional Information on this Topic: **
Here are three main points related to Mirostat_tau:
1. ** Coherence vs Diversity: ** Mirostat_tau controls the balance between coherence and diversity of the output, which means it determines how focused or creative the generated text will be.
2. ** Lower Values Mean More Focus: ** A lower value for mirostat_tau results in more focused and coherent text, while a higher value allows for more diverse and potentially less coherent output.
3. ** Default Value: ** The default value for Mirostat_tau is 5.0, which means that if no specific value is provided, the model will generate text with a balance between coherence and diversity.
Please note that these points are based solely on the provided content and do not go beyond it.% git clone https://github.com/yourusername/chroma-db.git
cd chroma-dbgo build -o chroma-db cmd/main.go Assurez-vous que Docker et Docker Compose sont installés. Utilisez le docker-compose.yaml pour configurer le service de DB Chroma.
docker-compose up -d./chroma-db
Usage
-load
Load and embed the data in vectordb
Provide the path to file Eg: " test/model_params.txt "
-query
Query the embedded data and rerank the results
Provide the query Eg: " what is the difference between mirostat_tau and mirostat_eta? " CMD / :
interne / constantes / :
docker-compose.yaml : Docker Compose Configuration Fichier pour la configuration du service CHROMA DB.
Ajustez les valeurs de configuration dans internal/constants/constants.go pour répondre à vos besoins. Cela comprend des paramètres comme:
URL CHROMA DB, nom de locataire, base de données et espace de noms. Type de modèle Olllama et URL.
< | system | > {{ . SystemPrompt }} < / s >
< | content | > {{ . Content }} < / s >
< | user | > {{ . Prompt }} < / s > Démarrez le vectordb avec la commande suivante:
docker compose upExécuter les opérations liées au chat:
go run ./cmd/main.go Les valeurs de configuration par défaut sont fournies en internal/constants/constants.go et peuvent être ajustées selon vos besoins. Certains d'entre eux incluent:
ChromaUrl , TenantName , Database , NamespaceOllamaModel et OllamaUrlCe projet est sous licence en vertu de la licence BSD 3 clause - consultez le fichier de licence pour plus de détails.
Pour tout problème ou contribution, veuillez ouvrir un problème ou soumettre une demande de traction sur GitHub.