Metadata-Version: 2.1
Name: biochatter
Version: 0.1.8
Summary: Backend library for conversational AI in biomedicine
License: MIT
Author: Sebastian Lobentanzer
Author-email: sebastian.lobentanzer@gmail.com
Requires-Python: >=3.10,<3.12
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Provides-Extra: podcast
Provides-Extra: streamlit
Requires-Dist: gTTS (>=2.3.2,<3.0.0); extra == "podcast"
Requires-Dist: langchain (==0.0.147)
Requires-Dist: nltk (>=3.8.1,<4.0.0)
Requires-Dist: openai (>=0.27.8,<0.28.0)
Requires-Dist: pymilvus (==2.2.8)
Requires-Dist: pymupdf (>=1.22.3,<2.0.0)
Requires-Dist: redis (>=4.5.5,<5.0.0)
Requires-Dist: retry (>=0.9.2,<0.10.0)
Requires-Dist: streamlit (>=1.23.1,<2.0.0); extra == "streamlit"
Requires-Dist: tiktoken (>=0.4.0,<0.5.0)
Requires-Dist: transformers (>=4.30.2,<5.0.0)
Description-Content-Type: text/markdown

# biochatter

This repository contains the `biochatter` Python package, a generic backend
library for the connection of biomedical applications to conversational AI.
Described in [this preprint](https://arxiv.org/abs/2305.06488) and used in
[ChatGSE](https://chat.biocypher.org), which is being developed at
https://github.com/biocypher/ChatGSE. More to come, so stay tuned!

## Installation

To use the package, install it from PyPI, for instance using pip (`pip install
biochatter`) or Poetry (`poetry add biochatter`).

### Extras

The package has some optional dependencies that can be installed using the
following extras (e.g. `pip install biochatter[streamlit]`):

- `streamlit`: support for streamlit UI functions (used in ChatGSE)
- `podcast`: support for podcast text-to-speech

# Dev Container

Due to some incompatibilities of `pymilvus` with Apple Silicon, we have created
a dev container for this project. To use it, you need to have Docker installed
on your machine. Then, you can run the devcontainer setup as recommended by
VSCode
[here](https://code.visualstudio.com/docs/remote/containers#_quick-start-open-an-existing-folder-in-a-container)
or using Docker directly.

The dev container expects an environment file (there are options, but the basic
one is `.devcontainer/local.env`) with the following variables:

```
OPENAI_API_KEY=(sk-...)
DOCKER_COMPOSE=true
DEVCONTAINER=true
```

To test vector database functionality, you also need to start a Milvus
standalone server. You can do this by running `docker-compose up` as described
[here](https://milvus.io/docs/install_standalone-docker.md) on the host machine
(not from inside the devcontainer).

