access_time180 mins remaining

03.2: Homework #2

access_time180 mins remaining

1. Custom LangChain agent and tools

Within your course repository, create a directory "hw2". Commit and push to your remote repository.

cd <path_to_repo>
mkdir hw2
touch hw2/app.py
touch hw2/screencast_url.txt
git add hw2
git commit -m "initial commit for hw2"
git push

In this homework, based on the lab exercises, you will create your own LangChain agent. The agent should:

  • Utilize an alternate agent type or architecture than those used in the exercises
  • Use at least one additional built-in tool or toolkit not contained in the exercises
  • Create one additional custom tool (such as utilizing your RAG application from your previous homework)
  • Retain one of either the PythonREPL tool or the Terminal tool within the agent.

Your development should be organized and incremental, with frequent commits into your git repository. Code should also be properly documented via Python docstrings. In addition, you must also ensure API keys do not show up in your source files, but rather are passed in via environment variables. Ensure your application code is pushed to your repository before class.

Screencast

Upon completing your agent, via a narrated screencast of no longer than 5 minutes, you will perform a demonstration and source code walk-through of the agent using the script below.

  • Check out the application source code from your course repository.
  • Demonstrate the application running showing both its capabilities as well as its limitations
  • Perform a source code walk-through using your repository on Gitlab to explain how the agent has been implemented.

Upload your completed screencast on MediaSpace. Ensure that it is published as "Unlisted". Then, update the file screencast_url.txt in the homework's directory to contain the URL that your unlisted screencast on MediaSpace is located. Push the changes that include the updated URL to your repository before class.

Rubric

We will be using your screencast and git repository to evaluate your homework.

Code checkout shown

Demonstration of the various capabilities of the application, including the use of the Terminal tool

Demonstration of the various limitations of the application

Functionality added

Code quality (clean with no unused code or variables, readable, modular, documented with Docstrings and comments, no hard-coded keys within source code)

Walkthrough of source code via git commits on Gitlab

Instructions followed properly including code submission in the specified repository files, sequencing and length of screencast.