markdown file query
1.0.0
Этот проект в настоящее время лучше всего работает с английскими документами.
этот проект
.md , поэтому он отлично работает с понятием и обсидианом (хотя для понятия вам нужно сначала экспортировать его в .md вручную)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 перезапустите терминал после завершения (и ваш IDE, если вы используете его).git clone https://github.com/madeyexz/markdown-file-query.git pip install pinecone langchain tqdmFOLDER (или любое имя, которое вам нравится, но вы должны соответствующим образом изменить код). Обратите внимание, что это должно быть в том же каталоге, что и main.pymain.py python3 main.py " PATH_OF_FOLDER " " QUESTION "answer.txt и contents.txt соответственно.query_only.py , чтобы избежать повторного взорвания документов. python3 query_only.py " QUESTION "markdown_database , которая содержит кучу .md -файлов, я хочу запросить эту базу данных с вопросом «Какая странная ситуация» ❯ 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 , чтобы избежать повторного взорвания документов. ❯ 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.'
Если вы используете PineCone, то всякий раз, когда вы хотите запросить новый документ (то есть создавая новую базу данных), вы, вероятно, должны создать новый индекс Pinecone (поскольку вы не хотите ответов из старого документа) или удалить старый индекс. Это потому, что PineCone не поддерживает обновление индекса (пока).
Чтобы удалить старый индекс:
python3 delete_pinecone_index.py NAME_OF_INDEXОгромный крик сообществу с открытым исходным кодом за предоставление простых примеров и комплексных учебных пособий!