Contains Retrieval Augmented Generation related utilities for Azure Machine Learning and OSS interoperability.
Project description
AzureML Retrieval Augmented Generation Utilities
This package is in alpha stage at the moment, use at risk of breaking changes and unstable behavior.
It contains utilities for:
- Processing text documents into chunks appropriate for use in LLM prompts, with metadata such is source url.
- Embedding chunks with OpenAI or HuggingFace embeddings models, including the ability to update a set of embeddings over time.
- Create MLIndex artifacts from embeddings, a yaml file capturing metadata needed to deserialize different kinds of Vector Indexes for use in langchain. Supported Index types:
- FAISS index (via langchain)
- Azure Cognitive Search index
Getting started
You can install AzurrML RAG package via pip.
pip install azureml-rag
MLIndex
MLIndex files describe an index of data + embeddings and the embeddings model used in yaml.
embeddings:
dimension: 768
kind: hugging_face
model: sentence-transformers/all-mpnet-base-v2
schema_version: '2'
index:
api_version: 2021-04-30-Preview
connection:
id: /subscriptions/<subscription_id>/resourceGroups/<resource_group>/providers/Microsoft.MachineLearningServices/workspaces/<workspace>/connections/<acs_connection_name>
connection_type: workspace_connection
endpoint: https://<acs_name>.search.windows.net
engine: azure-sdk
field_mapping:
content: content
filename: sourcefile
metadata: meta_json_string
title: title
url: sourcepage
index: azureml-rag-test-206e03b6-3880-407b-9bc4-c0a1162d6c70
kind: acs
Create MLIndex
TODO: Link to Example Notebooks
Consume MLIndex
from azureml.rag.mlindex import MLIndex
retriever = MLIndex(uri_to_folder_with_mlindex).as_langchain_retriever()
retriever.get_relevant_documents('What is an AzureML Compute Instance?')
Changelog
0.1.15
- Add support for custom loaders
- Added logging for MLIndex.init to understand usage of MLindex
0.1.14
- Add Support for CustomKeys connections
- Add OpenAI support for QA Gen and Embeddings
0.1.13 (2023-07-12)
- Implement single node non-PRS embed task to enable clearer logs for users.
0.1.12 (2023-06-29)
- Fix casing check of ApiVersion, ApiType in infer_deployment util
0.1.11 (2023-06-28)
- Update casing check for workspace connection ApiVersion, ApiType
- int casting for temperature, max_tokens
0.1.10 (2023-06-26)
- Update data asset registering to have adjustable output_type
- Remove asset registering from generate_qa.py
0.1.9 (2023-06-22)
- Add
azureml.rag.data_generation
module. - Fixed bug that would cause crack_and_chunk to fail for documents that contain non-utf-8 characters. Currently these characters will be ignored.
- Improved heading extraction from Markdown files. When
use_rcts=False
Markdown files will be split on headings and each chunk with have the heading context up to the root as a prefix (e.g.# Heading 1\n## Heading 2\n# Heading 3\n{content}
)
0.1.8 (2023-06-21)
- Add deployment inferring util for use in azureml-insider notebooks.
0.1.7 (2023-06-08)
- Improved telemetry for tasks (used in RAG Pipeline Components)
0.1.6 (2023-05-31)
- Fail crack_and_chunk task when no files were processed (usually because of a malformed
input_glob
) - Change
update_acs.py
to defaultpush_embeddings=True
instead ofFalse
.
0.1.5 (2023-05-19)
- Add api_base back to MLIndex embeddings config for back-compat (until all clients start getting it from Workspace Connection).
- Add telemetry for tasks used in pipeline components, not enabled by default for SDK usage.
0.1.4 (2023-05-17)
- Fix bug where enabling rcts option on split_documents used nltk splitter instead.
0.1.3 (2023-05-12)
- Support Workspace Connection based auth for Git, Azure OpenAI and Azure Cognitive Search usage.
0.1.2 (2023-05-05)
- Refactored document chunking to allow insertion of custom processing logic
0.0.1 (2023-04-25)
Features Added
- Introduced package
- langchain Retriever for Azure Cognitive Search
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
No source distribution files available for this release.See tutorial on generating distribution archives.
Built Distribution
azureml_rag-0.1.15-py3-none-any.whl
(190.7 kB
view details)
File details
Details for the file azureml_rag-0.1.15-py3-none-any.whl
.
File metadata
- Download URL: azureml_rag-0.1.15-py3-none-any.whl
- Upload date:
- Size: 190.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.9.6 requests/2.31.0 setuptools/50.3.2 requests-toolbelt/1.0.0 tqdm/4.65.0 CPython/3.8.13
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f59a0141070b0fd430df2ff248dcf4632fa56dc9a8dec3971326803bf22ac80b |
|
MD5 | 760dea2142618ca5e73125f6991a9d50 |
|
BLAKE2b-256 | bf6ef3ba221dbaf90feb928c86d9ae460c53279c338cacf76b0c6a221e990521 |