Plugin for a learning assistant backend, intended for use within edx-platform
Project description
learning-assistant
Purpose
Plugin for a learning assistant backend, intended for use within edx-platform.
This library contains data models and logic for a platform wide learning assistant.
Dependencies
In addition to the edx-platform repository in which this library is installed, this plugin also leverages the frontend-lib-learning-assistant as a frontend interface for the learning assistant.
Getting Started
Developing
One 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-assistant
Every 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.
License
The code in this repository is licensed under the AGPL 3.0 unless otherwise noted.
Please see LICENSE.txt for details.
Contributing
This repo is not currently accepting contributions.
The Open edX Code of Conduct
All community members are expected to follow the Open edX Code of Conduct.
Reporting Security Issues
Please do not report security issues in public. Please email security@edx.org.
Change Log
Unreleased
4.4.6 - 2024-11-22
Gates the chat history endpoint behind a waffle flag
4.4.5 - 2024-11-12
Updated Learning Assistant History payload to return in ascending order
4.4.4 - 2024-11-06
Fixed Learning Assistant History endpoint
Added timestamp to the Learning Assistant History payload
4.4.3 - 2024-11-06
Fixed package version
4.4.2 - 2024-11-04
Added chat messages to the DB
4.4.1 - 2024-10-31
Add management command to remove expired messages
4.4.0 - 2024-10-30
Add LearningAssistantMessage model
Add new GET endpoint to retrieve a user’s message history in a given course.
4.4.0 - 2024-10-25
Upgraded to use Python 3.12
4.3.3 - 2024-10-15
Use LEARNING_ASSISTANT_PROMPT_TEMPLATE for prompt
4.3.2 - 2024-09-19
Add error handling for invalid unit usage keys
4.3.1 - 2024-09-10
Remove GPT model field as part of POST request to Xpert backend
4.3.0 - 2024-07-01
Adds optional parameter to use updated prompt and model for the chat response.
4.2.0 - 2024-02-28
Modify call to Xpert backend to prevent use of course index.
4.1.0 - 2024-02-26
Use course cache to inject course title and course skill names into prompt template.
4.0.0 - 2024-02-21
Remove use of course waffle flag. Use the django setting LEARNING_ASSISTANT_AVAILABLE to enable the learning assistant feature.
3.6.0 - 2024-02-13
Enable backend access by course waffle flag or django setting.
3.4.0 - 2024-01-30
Add new GET endpoint to retrieve whether Learning Assistant is enabled in a given course.
3.3.0 - 2024-01-30
Fix release version
3.2.0 - 2024-01-30
Remove audit access to chat view.
3.0.1 - 2024-01-29
Modify gating of learning assistant based on waffle flag and enabled value.
3.0.0 - 2024-01-23
Remove and drop the course prompt model.
2.0.3 - 2024-01-22
Remove references to the course prompt model.
2.0.1 - 2024-01-08
Gate content integration with waffle flag
2.0.0 - 2024-01-03
Add content cache
Integrate system prompt setting
1.5.0 - 2023-10-18
Add management command to generate course prompts
1.4.0 - 2023-09-11
Send reduced message list if needed to avoid going over token limit
1.3.3 - 2023-09-07
Allow any enrolled learner to access API.
1.3.2 - 2023-08-25
Remove deserialization of prompt field, as it is represented in the python native format
1.3.1 - 2023-08-24
Remove prompt field
1.3.0 - 2023-08-24
Remove references to prompt field
Create json_prompt field to allow for more flexible prompts
1.2.1 - 2023-08-24
make prompt field nullable
1.2.0 - 2023-08-22
add endpoint authentication
fix request structure required for endpoint integration
1.1.0 - 2023-08-09
fix for course id to course key conversion
1.0.0 - 2023-08-08
Add endpoint to retrieve chat response
Created model to associate course ideas with a specific prompt text
Unreleased
0.1.0 – 2023-07-26
Added
First release on PyPI.
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 Distribution
Built Distribution
File details
Details for the file learning_assistant-4.4.6.tar.gz
.
File metadata
- Download URL: learning_assistant-4.4.6.tar.gz
- Upload date:
- Size: 44.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.9.20
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b374e1f0d2f885ffb7f11239331afd3eedc826e7376c8c1cf3bb319c87665488 |
|
MD5 | 5f6c270931158ef17d30d93abb20db4f |
|
BLAKE2b-256 | d21c6bf47fbe4104a5bbbff18fa4860b5e6935e21860b5dd1d37a46d2021489f |
File details
Details for the file learning_assistant-4.4.6-py2.py3-none-any.whl
.
File metadata
- Download URL: learning_assistant-4.4.6-py2.py3-none-any.whl
- Upload date:
- Size: 40.0 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.9.20
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ffb7eb99b363d2f0c038f8ea6ec39dfcc986cb72d9f8f99d7501939ab4c15e57 |
|
MD5 | 6856d25747e0ff59d8284484b347a414 |
|
BLAKE2b-256 | 5e88cb5e5426344f9c2003566a6d093777b1b7e32db1497cdc9efbe2a833ddb8 |