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 theTerminal
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 |
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. |