Skip to main content

Backend library for conversational AI in biomedicine

Project description

BioChatter

License License: MIT Python Python
Package PyPI version Downloads Build status CI
Tests Coverage coming soon. Docker Latest image Image size
Development Project Status: Active – The project has reached a stable, usable state and is being actively developed. Code style Contributions PRs Welcome Contributor Covenant

Description

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.

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 (for the free Google TTS; the paid OpenAI TTS can be used without this extra)

  • xinference: support for querying open-source LLMs through Xorbits Inference

Usage

As an interim documentation until we have a proper one, check out the Wiki for some usage examples. Many common functionalities covered by BioChatter can be seen in use in the ChatGSE code base.

More information about LLMs

Check out this repository for more info on computational biology usage of large language models.

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 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).

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

biochatter-0.3.2.tar.gz (26.8 kB view details)

Uploaded Source

Built Distribution

biochatter-0.3.2-py3-none-any.whl (27.3 kB view details)

Uploaded Python 3

File details

Details for the file biochatter-0.3.2.tar.gz.

File metadata

  • Download URL: biochatter-0.3.2.tar.gz
  • Upload date:
  • Size: 26.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.2.2 CPython/3.10.6 Darwin/23.1.0

File hashes

Hashes for biochatter-0.3.2.tar.gz
Algorithm Hash digest
SHA256 45b43266b0f05e56b1f95b872254d2a66701dbbc24040abec910654920e38fa9
MD5 e4209b3e346f41afd4198b4b8b4adde3
BLAKE2b-256 5308a1b764088a0444d2ed3b04770cb1224aa4bd9c2ab32f86714e6cb1ee89ba

See more details on using hashes here.

File details

Details for the file biochatter-0.3.2-py3-none-any.whl.

File metadata

  • Download URL: biochatter-0.3.2-py3-none-any.whl
  • Upload date:
  • Size: 27.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.2.2 CPython/3.10.6 Darwin/23.1.0

File hashes

Hashes for biochatter-0.3.2-py3-none-any.whl
Algorithm Hash digest
SHA256 34b74693b48d2a283f9dcb5d66f4a7e5bb478cd895db6cfe691c8389c5d690e2
MD5 8fb589f02747112ec20c9a869cbf2293
BLAKE2b-256 17b4b4f8a2d93a81c5d809ef9c3ff2e6a2a2fe317af9b88b74200fbbeb02b4a9

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page