textweaver


Nametextweaver JSON
Version 0.3.115 PyPI version JSON
download
home_pagehttps://github.com/TrainGRC/textweaver
SummaryA FastAPI-based web server for working with LLMs, embedding models, and Pinecone Vector DB.
upload_time2023-10-27 16:25:02
maintainer
docs_urlNone
authorWes Ladd
requires_python>=3.9
licenseMIT
keywords textweaver nlp text-processing machine-learning
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # TextWeaver

TextWeaver is a FastAPI-based web server designed for working with Large Language Models (LLMs), specifically with Embeddings-style models. It simplifies the process of handling complex natural language processing tasks and offers a robust and scalable solution for both developers and researchers to store and query against embeddings in Pinecone.

## Features

- **FastAPI Integration**: Leverage the power of FastAPI for creating modern and efficient web APIs.
- **LLM and Embedding Support**: Easily work with LLMs and various embedding models for rich textual analysis.
- **Scalable Architecture**: Designed to grow with your needs, TextWeaver can be deployed across various environments.
- **User-Friendly Configuration**: Get started quickly with intuitive configuration options.

## Installation
Please note that TextWeaver requires the use of Amazon Cognito for authentication. You can find more information on how to set up Cognito [here](https://docs.aws.amazon.com/cognito/latest/developerguide/). Once you have Cognito set up, you can pass the required id tokens to the server using the `Authorization` header.

Please note that TextWeaver requires the use of SNS for sending errors and server events. You can find more information on how to set up SNS [here](https://docs.aws.amazon.com/sns/latest/dg/sns-getting-started.html). Once you have SNS set up, you will need to create a topic and pass the required topic name to the server using the `.env` file.

Please note that TextWeaver requires the use of Pinecone for storing and querying against embeddings. You can find more information on how to set up Pinecone [here](https://www.pinecone.io/docs/). Once you have Pinecone set up, you will need to create two indexes: one for the embeddings and one for the user embeddings. You can then pass the required API key and index names to the server using the `.env` file.

To install TextWeaver, you need to have a .env file in the root directory of your project. This file should contain the following variables:
```bash
HOST_IP="" # The IP to bind the server to - 0.0.0.0 for all interfaces
PORT="" # The port to bind the server to - 80 for HTTP and 443 for HTTPS
AWS_ACCESS_KEY_ID="" # The access key ID for the AWS user (recommended to use an IAM role where possible, or a user with limited permissions)
AWS_SECRET_ACCESS_KEY="" # The secret access key for the AWS user
AWS_DEFAULT_REGION="" # The default region for the AWS user
AWS_COGNITO_REGION="" # The region for the AWS Cognito user pool
AWS_USER_POOL_ID="" # The ID for the AWS Cognito user pool
AWS_USER_POOL_CLIENT_ID="" # The client ID for the AWS Cognito user pool
SNS_TOPIC_NAME="" # The name of the SNS topic to errors and server events to
PINECONE_API_KEY="" # The API key for the Pinecone environment
PINECONE_ENVIRONMENT="" # The name of the Pinecone environment
PINECONE_INDEX_NAME="" # The name of the Pinecone index
PINECONE_USER_INDEX_NAME="" # The name of the Pinecone user index
MODEL_PATH="" # Where the model path is the appropriate path for the sentence_transformer model hosted on HuggingFace
```

Install TextWeaver directly from PyPI using the following command:
```bash
pip install textweaver
```

## Usage
Once installed, you can start the TextWeaver server using the following command:

```bash
textweaver
```

For further customization and detailed documentation, please refer to the project's repository.

## Contribution

We welcome contributions from the community! Please check the contributing guidelines in the repository for more information on how you can get involved.

## License

TextWeaver is released under the MIT License. See the LICENSE file in the repository for more details.

## Contact

For any inquiries, support, or collaboration, please contact the author at wesladd@traingrc.com or open an issue on the project's GitHub page.

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/TrainGRC/textweaver",
    "name": "textweaver",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.9",
    "maintainer_email": "",
    "keywords": "textweaver,NLP,text-processing,machine-learning",
    "author": "Wes Ladd",
    "author_email": "wesladd@traingrc.com",
    "download_url": "https://files.pythonhosted.org/packages/46/66/9cf0d8cd520feae9679ffc54172728d60ac3f5faa5ad0f9541ac7bf1b052/textweaver-0.3.115.tar.gz",
    "platform": null,
    "description": "# TextWeaver\n\nTextWeaver is a FastAPI-based web server designed for working with Large Language Models (LLMs), specifically with Embeddings-style models. It simplifies the process of handling complex natural language processing tasks and offers a robust and scalable solution for both developers and researchers to store and query against embeddings in Pinecone.\n\n## Features\n\n- **FastAPI Integration**: Leverage the power of FastAPI for creating modern and efficient web APIs.\n- **LLM and Embedding Support**: Easily work with LLMs and various embedding models for rich textual analysis.\n- **Scalable Architecture**: Designed to grow with your needs, TextWeaver can be deployed across various environments.\n- **User-Friendly Configuration**: Get started quickly with intuitive configuration options.\n\n## Installation\nPlease note that TextWeaver requires the use of Amazon Cognito for authentication. You can find more information on how to set up Cognito [here](https://docs.aws.amazon.com/cognito/latest/developerguide/). Once you have Cognito set up, you can pass the required id tokens to the server using the `Authorization` header.\n\nPlease note that TextWeaver requires the use of SNS for sending errors and server events. You can find more information on how to set up SNS [here](https://docs.aws.amazon.com/sns/latest/dg/sns-getting-started.html). Once you have SNS set up, you will need to create a topic and pass the required topic name to the server using the `.env` file.\n\nPlease note that TextWeaver requires the use of Pinecone for storing and querying against embeddings. You can find more information on how to set up Pinecone [here](https://www.pinecone.io/docs/). Once you have Pinecone set up, you will need to create two indexes: one for the embeddings and one for the user embeddings. You can then pass the required API key and index names to the server using the `.env` file.\n\nTo install TextWeaver, you need to have a .env file in the root directory of your project. This file should contain the following variables:\n```bash\nHOST_IP=\"\" # The IP to bind the server to - 0.0.0.0 for all interfaces\nPORT=\"\" # The port to bind the server to - 80 for HTTP and 443 for HTTPS\nAWS_ACCESS_KEY_ID=\"\" # The access key ID for the AWS user (recommended to use an IAM role where possible, or a user with limited permissions)\nAWS_SECRET_ACCESS_KEY=\"\" # The secret access key for the AWS user\nAWS_DEFAULT_REGION=\"\" # The default region for the AWS user\nAWS_COGNITO_REGION=\"\" # The region for the AWS Cognito user pool\nAWS_USER_POOL_ID=\"\" # The ID for the AWS Cognito user pool\nAWS_USER_POOL_CLIENT_ID=\"\" # The client ID for the AWS Cognito user pool\nSNS_TOPIC_NAME=\"\" # The name of the SNS topic to errors and server events to\nPINECONE_API_KEY=\"\" # The API key for the Pinecone environment\nPINECONE_ENVIRONMENT=\"\" # The name of the Pinecone environment\nPINECONE_INDEX_NAME=\"\" # The name of the Pinecone index\nPINECONE_USER_INDEX_NAME=\"\" # The name of the Pinecone user index\nMODEL_PATH=\"\" # Where the model path is the appropriate path for the sentence_transformer model hosted on HuggingFace\n```\n\nInstall TextWeaver directly from PyPI using the following command:\n```bash\npip install textweaver\n```\n\n## Usage\nOnce installed, you can start the TextWeaver server using the following command:\n\n```bash\ntextweaver\n```\n\nFor further customization and detailed documentation, please refer to the project's repository.\n\n## Contribution\n\nWe welcome contributions from the community! Please check the contributing guidelines in the repository for more information on how you can get involved.\n\n## License\n\nTextWeaver is released under the MIT License. See the LICENSE file in the repository for more details.\n\n## Contact\n\nFor any inquiries, support, or collaboration, please contact the author at wesladd@traingrc.com or open an issue on the project's GitHub page.\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "A FastAPI-based web server for working with LLMs, embedding models, and Pinecone Vector DB.",
    "version": "0.3.115",
    "project_urls": {
        "Homepage": "https://github.com/TrainGRC/textweaver"
    },
    "split_keywords": [
        "textweaver",
        "nlp",
        "text-processing",
        "machine-learning"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "f313855e99fcbcfb8ce0399f8b251c65692424def9a785234476f6785645a7bf",
                "md5": "333ee9f2319a1f57b7e6c4e8b67815fa",
                "sha256": "7d78ad31b8369a39d5b8c50c70bf4a2fb1fd0e174bf43c47a87a867d5c963cc8"
            },
            "downloads": -1,
            "filename": "textweaver-0.3.115-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "333ee9f2319a1f57b7e6c4e8b67815fa",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.9",
            "size": 20488,
            "upload_time": "2023-10-27T16:24:59",
            "upload_time_iso_8601": "2023-10-27T16:24:59.740958Z",
            "url": "https://files.pythonhosted.org/packages/f3/13/855e99fcbcfb8ce0399f8b251c65692424def9a785234476f6785645a7bf/textweaver-0.3.115-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "46669cf0d8cd520feae9679ffc54172728d60ac3f5faa5ad0f9541ac7bf1b052",
                "md5": "aa85d4ebe638dc80c2a844390a85a3d1",
                "sha256": "f3833417fafc11862a904aa4ea6a2b49d9ee01f4a8b08206f591bff4a835ccac"
            },
            "downloads": -1,
            "filename": "textweaver-0.3.115.tar.gz",
            "has_sig": false,
            "md5_digest": "aa85d4ebe638dc80c2a844390a85a3d1",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.9",
            "size": 16478,
            "upload_time": "2023-10-27T16:25:02",
            "upload_time_iso_8601": "2023-10-27T16:25:02.115864Z",
            "url": "https://files.pythonhosted.org/packages/46/66/9cf0d8cd520feae9679ffc54172728d60ac3f5faa5ad0f9541ac7bf1b052/textweaver-0.3.115.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-10-27 16:25:02",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "TrainGRC",
    "github_project": "textweaver",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "textweaver"
}
        
Elapsed time: 2.05590s