Metadata-Version: 2.1
Name: wisdomweaver
Version: 0.4.0
Summary: Wisdom indexer and generator
Author-email: Martin Schröder <info@swedishembedded.com>
License: Copyright (C) 2023 Martin Schröder <info@swedishembedded.com>
        
        Licensed under the Apache License, Version 2.0 (the "License");
        you may not use this file except in compliance with the License.
        You may obtain a copy of the License at
        
           https://www.apache.org/licenses/LICENSE-2.0
        
        Unless required by applicable law or agreed to in writing, software
        distributed under the License is distributed on an "AS IS" BASIS,
        WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
        See the License for the specific language governing permissions and
        limitations under the License.
        
Project-URL: Homepage, https://github.com/swedishembedded/wisdomweaver
Keywords: llm,languagemodel,indexing
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: torch
Requires-Dist: pypdf
Requires-Dist: nltk
Requires-Dist: sentence-transformers
Requires-Dist: qdrant-client
Requires-Dist: openai
Requires-Dist: guidance
Requires-Dist: xformers
Provides-Extra: dev
Requires-Dist: black ; extra == 'dev'
Requires-Dist: bumpversion ; extra == 'dev'
Requires-Dist: isort ; extra == 'dev'
Requires-Dist: pip-tools ; extra == 'dev'
Requires-Dist: pytest ; extra == 'dev'

# WisdomWeaver

This is a document question answering implementation that combines several concepts together to
produce an arbitrary document question answering machine.

- Sentence Transformers: used to index text into a vector database
- Question Answering Model: used to find answers in text most likely to contain them
- ChatGPT: used to post process the answers

## Getting started

```
pip3 install wisdomweaver
```

Index a directory of asciidoc files:

```
wisdom -v index --path /path/to/data
```

Search the index in interactive mode:

```
wisdom ask "What practice did many ancient C projects use?" --max 5 --threshold 0.2 --interactive --gpt
```

## License

Apache 2.0

## Learn Mode

- Learn techniques used in this project: https://swedishembedded.com/tag/gpt/
