norrisaftcc / norrisaftcc/algorithm-liza

M1: Config and OpenAI-compatible provider client

Open
#3 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

area:core milestone:M1 type:feat
Dominant language
Python
Stars
0
Forks
0
Avg merge
1m
Merged PRs (30d)
1

Description

A pydantic config object and an httpx client that speaks /v1/chat/completions against a configurable base URL, with named presets for LM Studio (127.0.0.1:1234), Ollama (127.0.0.1:11434) and llama.cpp (127.0.0.1:8888), each overridable by environment variable. Local servers ignore the API key but usually require one to be present, so send a placeholder.

Timeouts matter more here than for cloud providers: a 4B model on a loaded laptop can take a long time to first token, and a default 30s timeout will produce failures that look like harness bugs.

Disable proxy environment discovery on the client (trust_env=False in httpx, or an explicit no-proxy for loopback). With ALL_PROXY or HTTPS_PROXY set, httpx routes even 127.0.0.1 through the proxy and the failure surfaces as "LM Studio isn't responding" rather than as a proxy error. Observed for real while probing the sandbox; see ADR-0005.

Done when a smoke script gets a completion back from a running LM Studio server, and the client's request construction is unit-tested against a recorded response with no server running.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with ADR-0005 and the /v1/chat/completions contract described in the issue. Trace the project's existing configuration and client entry points before defining the presets, environment overrides, timeout, and proxy behavior. Done means a smoke script receives a completion from LM Studio and unit tests verify request construction against a recorded response without a running server.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
ai, api
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
55/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.