Useful classes and methods for researching code-generation by LLMs.
Project description
llm-codegen-research
about
A collection of methods and classes I repeatedly use when conducting research on LLM code-generation. Covers both prompting various LLMs, and analysing the markdown responses.
installation
Install directly from PyPI, using pip:
pip install llm-codegen-research
usage
First configure environment vairables for the APIs you want to use:
export OPENAI_API_KEY=...
export ANTHROPIC_API_KEY=...
export TOGETHER_API_KEY=...
You can get a quick response from an LLM:
from llm_cgr import generate, Markdown
response = generate("Write python code to generate the nth fibonacci number.")
markdown = Markdown(text=response)
Or define a client to generate multiple repsonses, or have a chat interaction:
from llm_cgr import get_llm
# create the llm
llm = get_llm(
model="gpt-4.1-mini",
system="You're a really funny comedian.",
)
# get multiple responses and see the difference
responses = llm.generate(
user="Tell me a joke I haven't heard before!",
samples=3,
)
print(responses)
# or have a multi-prompt chat interaction
llm.chat(user="Tell me a knock knock joke?")
llm.chat(user="Wait, I'm meant to say who's there!")
print(llm.history)
development
Clone the repository code:
git clone https://github.com/itsluketwist/llm-codegen-research.git
We use uv for project management.
Once cloned, create a virtual environment and install uv and the project:
python -m venv .venv
. .venv/bin/activate
pip install uv
uv sync
Use make commands to lint and test:
make lint
make test
Use uv to add new dependencies into the project and uv.lock:
uv add openai
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file llm_codegen_research-1.8.tar.gz.
File metadata
- Download URL: llm_codegen_research-1.8.tar.gz
- Upload date:
- Size: 14.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.7.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
737922e81a2dd6820352c3191bcb4f27dc641ba65bb77cac1893e60a3a00c325
|
|
| MD5 |
4831d48b18cbc1ceb34fb5bd57833207
|
|
| BLAKE2b-256 |
76b33943ecc10829c5954495e4dc74c44f6c56c970cdcebc929e5cff8f056568
|
File details
Details for the file llm_codegen_research-1.8-py3-none-any.whl.
File metadata
- Download URL: llm_codegen_research-1.8-py3-none-any.whl
- Upload date:
- Size: 14.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.7.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
de477f8e2cc0b677613445eab631d44692ade6898690a00454b3ef9bae77d169
|
|
| MD5 |
a3ee8fb8f34c8d8acca1b22e1f13b803
|
|
| BLAKE2b-256 |
91d991bfd02eb7abd9362b408e63dfed07820c8f5e043a981e8394c4721a1012
|