Visão geral do repositório
Este repositório demonstra a integração do Chroma DB, um banco de dados vetorial, com modelos de incorporação para desenvolver um sistema de geração aumentada de recuperação robusta (RAG).
Incorporar opções de modelo
Ranker Integration (HTTP, GRPC)
Para aprimorar a precisão do RAG, podemos incorporar modelos Rankers do HuggingFace. Esses modelos avaliam a semelhança entre os resultados de uma consulta e consulta, retirados do VectordB, o re-classificador classificam os resultados, garantindo que as informações recuperadas sejam relevantes e contextualmente precisas.
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}]Este repositório demonstra como combinar a incorporação e a reanganização para desenvolver um sistema de pano.
Configurar banco de dados vetorial :
Documentos de pré -processo :
Armazenar incorporados :
Processamento de consulta :
Integrar -se ao provedor LLM :
Crie modelo de prompt :
Processo com LLM :
Isso permite aprimorar as tarefas de processamento de linguagem, aproveitando o poder dos bancos de dados de vetores e modelos avançados de incorporação.
<|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 Verifique se o docker e o docker compostos estão instalados. Use o docker-compose.yaml para configurar o serviço Chroma DB.
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/ :
interno/ constantes/ :
Docker-compose.yaml : Docker Compõe arquivo de configuração para configurar o serviço Chroma DB.
Ajuste os valores de configuração em internal/constants/constants.go para atender às suas necessidades. Isso inclui configurações como:
URL do Chroma DB, nome do inquilino, banco de dados e espaço para nome. Tipo de modelo Ollama e URL.
< | system | > {{ . SystemPrompt }} < / s >
< | content | > {{ . Content }} < / s >
< | user | > {{ . Prompt }} < / s > Inicie o VectordB com o seguinte comando:
docker compose upExecutar operações relacionadas ao bate-papo:
go run ./cmd/main.go Os valores de configuração padrão são fornecidos em internal/constants/constants.go e podem ser ajustados conforme suas necessidades. Alguns deles incluem:
ChromaUrl , TenantName , Database , NamespaceOllamaModel e OllamaUrlEste projeto está licenciado sob a licença de BSD 3 -cláusulas - consulte o arquivo de licença para obter detalhes.
Para quaisquer problemas ou contribuições, abra um problema ou envie uma solicitação de tração no GitHub.