markdown file query
1.0.0
Ce projet fonctionne actuellement mieux avec les documents anglais.
ce projet
.md , donc il fonctionne parfaitement avec la notion et l'obsidienne (bien que pour la notion, vous devez l'exporter en .md manuellement en premier)langchain.textsplitterlangchain.embeddings.OpenAIEmbeddings )Pinecone .--help export PINECONE_API_KEY= " your_pinecone_api_key "
export OPENAI_API_KEY= " your_openai_api_key " import os
os . environ [ "PINECONE_API_KEY" ]
os . environ [ "OPENAI_API_KEY" ]KeyError , redémarrez le terminal une fois terminé (et votre IDE si vous en utilisez un).git clone https://github.com/madeyexz/markdown-file-query.git pip install pinecone langchain tqdmFOLDER (ou tout nom que vous aimez, mais vous devez modifier le code en conséquence). Remarquez que cela devrait être dans le même répertoire que main.pymain.py python3 main.py " PATH_OF_FOLDER " " QUESTION "answer.txt et contents.txt respectivement.query_only.py pour éviter de réintégrer les documents. python3 query_only.py " QUESTION "markdown_database qui contient un tas de fichiers .md , je veux interroger cette base de données avec la question "quelle est la situation étrange" ❯ python3 main.py " markdown_database " " what's the strange situation " initiating pinecone index...
digesting docs...
uploading datas to pinecone...
92%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████ | 60/65 [00:29<00:02, 1.87it/s]
let's wait for 60 seconds to avoid RateLimitError... (since im not a paid user))
100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 60/60 [01:00<00:00, 1.00s/it]
100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 65/65 [01:32<00:00, 1.42s/it]
querying pinecone...
querying gpt...
writing results to answer.txt and contents.txt
done! the answer to 'what's the strange situation' is: '
The Strange Situation is a standardized procedure devised by Mary Ainsworth in the 1970s to observe attachment security in children within the context of caregiver relationships. It applies to infants between the age of nine and 18 months and involves a series of eight episodes lasting approximately 3 minutes each, whereby a mother, child and stranger are introduced, separated and reunited. The procedure is used to observe the quality of a young child’s attachment to his or her mother, and can also be applied to other attachment figures, such as God, through the use of Emotionally Focused Therapy (EFT) and religious beliefs, such as the saying “there are no atheists in foxholes”.'
query_only.py pour éviter de réintégrer les documents. ❯ python3 query_only.py " Who is Mary Ainsworth? " connecting to pinecone index...
getting docs
querying pinecone...
querying gpt...
done! the answer to 'Who is Mary Ainsworth?' is: '
Mary Ainsworth was a developmental psychologist who devised the Strange Situation in the 1970s to observe attachment security in children within the context of caregiver relationships. The Strange Situation involves a series of eight episodes lasting approximately 3 minutes each, whereby a mother, child and stranger are introduced, separated and reunited. Ainsworth is also known for her observation that if you want to see the quality of a young child’s attachment to his or her mother, watch what the child does, not when Mother leaves, but when she returns. She is also known for her research on anxious babies and their inability to use their mothers as a secure base.'
Si vous utilisez PineCone, alors chaque fois que vous souhaitez interroger un nouveau document (c'est-à-dire créant une nouvelle base de données), vous devriez probablement créer un nouvel index de Pinecone (car vous ne voulez pas de réponses de l'ancien document), ou supprimez l'ancien index. En effet, PineCone ne prend pas (encore) la mise à jour de l'index.
Pour supprimer l'ancien index:
python3 delete_pinecone_index.py NAME_OF_INDEXÉnorme cri à la communauté open source pour avoir fourni des exemples simples et des tutoriels complets!