lsloan / langchain-doc-canvas

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Canvas langchain document loader

Features:

Indexes Canvas Modules, Pages, Announcements, Assignments and Files

The following file types are supported: md htm html docx xls xlsx pptx pdf rtf txt

(doc support would require libreoffice, so has not been implemented in this library)

Running locally (development)

You can build/run the provided Dockerfile, or install dependencies as described below

Docker

Edit canvas-test.py, fill in the correct api_url, api_key, and course_id.

Run (this also builds docker):

docker run -it $(docker build -q .)

Install Dependencies

pip install -r requirements.txt

Usage example:

from canvas_langchain.canvas import CanvasLoader

loader = CanvasLoader(
	api_url = "https://CANVAS_API_URL_GOES_HERE",
	course_id = CANVAS_ID_GOES_HERE,
	api_key = "API_KEY_GOES_HERE"
)

try:
	documents = loader.load()

	print("\nDocuments:\n")
	print(documents)

	print("\nInvalid files:\n")
	print(loader.invalid_files)
	print("")

	print("\nErrors:\n")
	print(loader.errors)
	print("")

	print("\nIndexed:\n")
	print(loader.indexed_items)
	print("")

	print("\nProgress:\n")
	print(loader.get_details('DEBUG'))
	print("")
except Exception:
	details = loader.get_details('DEBUG')

If errors are present, loader.errors will contain one list element per error. It will consist of an error message (key named message) and if the error pertains to a specific item within canvas, it will list the entity_type and the entity_id of the resource where the exception occurred.

About

License:GNU General Public License v3.0


Languages

Language:Python 98.8%Language:Dockerfile 0.8%Language:Shell 0.5%