License | Python | ||
Package | Build status | ||
Tests | Coverage coming soon. | Docker | |
Development | Contributions |
Generative AI models have shown tremendous usefulness in increasing
accessibility and automation of a wide range of tasks. Yet, their application to
the biomedical domain is still limited, in part due to the lack of a common
framework for deploying, testing, and evaluating the diverse models and
auxiliary technologies that are needed. This repository contains the
biochatter
Python package, a generic backend library for the connection of
biomedical applications to conversational AI. Described in this
preprint and used in
ChatGSE, which is being developed at
https://github.com/biocypher/ChatGSE. More to come, so stay tuned!
BioChatter is part of the BioCypher ecosystem, connecting natively to BioCypher knowledge graphs. The BioChatter paper is being written here.
To use the package, install it from PyPI, for instance using pip (pip install biochatter
) or Poetry (poetry add biochatter
).
The package has some optional dependencies that can be installed using the
following extras (e.g. pip install biochatter[xinference]
):
-
xinference
: support for querying open-source LLMs through Xorbits Inference -
podcast
: support for podcast text-to-speech (for the free Google TTS; the paid OpenAI TTS can be used without this extra) -
streamlit
: support for streamlit UI functions (used in ChatGSE)
Check out the documentation for examples, use cases, and more information. Many common functionalities covered by BioChatter can be seen in use in the ChatGSE code base.
Check out this repository for more info on computational biology usage of large language models.
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
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 on the host machine
(not from inside the devcontainer).