Package: learning-assistant
learning-assistantPurposePlugin for a learning assistant backend, intended for use within edx-platform.This library contains data models and logic for a platform wide learning assistant.DependenciesIn addition to the edx-platform repository in which this library is installed, this plugin also
leverages thefrontend-lib-learning-assistantas a frontend interface for the learning assistant.Getting StartedDevelopingOne Time Setup# Clone the repository
git clone git@github.com:openedx/learning-assistant.git
cd learning-assistant

# Set up a virtualenv with the same name as the repo and activate it
# Here's how you might do that if you have virtualenvwrapper setup.
mkvirtualenv -p python3.8 learning-assistantEvery time you develop something in this repo# Activate the virtualenv
# Here's how you might do that if you're using virtualenvwrapper.
workon learning-assistant

# Grab the latest code
git checkout main
git pull

# Install/update the dev requirements
make requirements

# Run the tests and quality checks (to verify the status before you make any changes)
make validate

# Make a new branch for your changes
git checkout -b <your_github_username>/<short_description>

# Using your favorite editor, edit the code to make your change.
vim ...

# Run your new tests
pytest ./path/to/new/tests

# Run all the tests and quality checks
make validate

# Commit all your changes
git commit ...
git push

# Open a PR and ask for review.LicenseThe code in this repository is licensed under the AGPL 3.0 unless
otherwise noted.Please seeLICENSE.txtfor details.ContributingThis repo is not currently accepting contributions.The Open edX Code of ConductAll community members are expected to follow theOpen edX Code of Conduct.Reporting Security IssuesPlease do not report security issues in public. Please emailsecurity@edx.org.Change LogUnreleased4.1.0 - 2024-02-26Use course cache to inject course title and course skill names into prompt template.4.0.0 - 2024-02-21Remove use of course waffle flag. Use the django setting LEARNING_ASSISTANT_AVAILABLE
to enable the learning assistant feature.3.6.0 - 2024-02-13Enable backend access by course waffle flag or django setting.3.4.0 - 2024-01-30Add new GET endpoint to retrieve whether Learning Assistant is enabled in a given course.3.3.0 - 2024-01-30Fix release version3.2.0 - 2024-01-30Remove audit access to chat view.3.0.1 - 2024-01-29Modify gating of learning assistant based on waffle flag and enabled value.3.0.0 - 2024-01-23Remove and drop the course prompt model.2.0.3 - 2024-01-22Remove references to the course prompt model.2.0.1 - 2024-01-08Gate content integration with waffle flag2.0.0 - 2024-01-03Add content cacheIntegrate system prompt setting1.5.0 - 2023-10-18Add management command to generate course prompts1.4.0 - 2023-09-11Send reduced message list if needed to avoid going over token limit1.3.3 - 2023-09-07Allow any enrolled learner to access API.1.3.2 - 2023-08-25Remove deserialization of prompt field, as it is represented in the python
native format1.3.1 - 2023-08-24Remove prompt field1.3.0 - 2023-08-24Remove references to prompt fieldCreate json_prompt field to allow for more flexible prompts1.2.1 - 2023-08-24make prompt field nullable1.2.0 - 2023-08-22add endpoint authenticationfix request structure required for endpoint integration1.1.0 - 2023-08-09fix for course id to course key conversion1.0.0 - 2023-08-08Add endpoint to retrieve chat responseCreated model to associate course ideas with a specific prompt textUnreleased0.1.0 – 2023-07-26AddedFirst release on PyPI.