Meeting Summary: CS 486-686 Lecture/Lab – Spring 2025
Date: January 22, 2025, 04:45 PM Pacific Time (US and Canada)
Summary of Main Topics Discussed
Class Introduction and Attendance
- The instructor made a concerted effort to memorize student names and identify each student in the class.
- Students introduced themselves, and some shared details about recent changes, such as joining the class late.
Account Setup and Free Credits
- A discussion took place regarding the process of obtaining free credits for OpenRouter.
- Recommendations were given on managing API usage costs by starting with small amounts (e.g., $10) to explore capabilities.
Using OpenRouter and LLM CLI Tools
- The session included a demonstration on setting up OpenRouter accounts, generating API keys, and managing them securely.
- The introduction of LLM CLI tools highlighted their utility for quick prompt testing and automation.
- Examples illustrated how to efficiently send prompts and retrieve outputs.
Virtual Environments and Python Setup
- Guidance was provided on creating Python virtual environments to manage dependencies safely.
- The instructor emphasized using modern Python practices, such as setting up virtual environments per project or globally.
- Specific instructions covered the installation of Python and managing virtual environments on macOS (via Homebrew) and Windows (using WSL).
Integration with IDEs and Development Tools
- Tools like Aider (an AI pair programmer) were showcased, with a focus on integration with Git repositories.
- Aider was demonstrated to automate code commits with human-like messages.
- Recommendations included using Aider with VS Code and exploring file monitoring features.
LiteLLM and API Abstraction
- LiteLLM was introduced as an abstraction layer that is compatible with various LLM APIs.
- Its flexibility to work with models such as Claude, OpenAI, and Google Gemini was explained.
- The session highlighted LiteLLM’s role in simplifying API calls and supporting configurations involving multiple models.
Practical Applications and Demonstrations
- Live coding demonstrations featured the use of Aider to create a web application for base conversions.
- Modifications were made to integrate FastAPI for backend processing.
- The session included a review of generated code and a validation of real-time backend interactions.
Troubleshooting and Technical Challenges
- Common issues were addressed, including challenges with environment setup, API key management, and package installations.
- Discussions covered compatibility problems arising from fast-evolving libraries and frameworks.
- The importance of using virtual environments to mitigate dependency conflicts was emphasized.
Prompt Engineering and Real Python Tutorial
- Practical prompt engineering exercises were introduced, drawing on examples from Real Python tutorials.
- The session encouraged exploring prompt techniques and sample data for effective LLM interactions.
- Clarifications were provided on the appropriate use of Aider versus manual coding during learning exercises.
Next Steps and Assignments
- Students were expected to set up their environments, including LiteLLM and OpenRouter.
- A weekend assignment was given to review Real Python tutorials and practice prompt engineering.
- Students were encouraged to post questions and issues on Campus Wire to facilitate collaborative troubleshooting.
References
- Aider:
- Claude:
- FastAPI:
- Git repositories:
- Google Gemini:
- Homebrew:
- LLM CLI Tools:
- https://github.com/simonw/llm gorilla-llm/gorilla-cli)
- LiteLLM:
- OpenAI:
- OpenRouter:
- Prompt engineering:
- Python virtual environments:
- Real Python tutorial:
- VS Code:
- WSL: