mirror of
https://github.com/priyanshujain/sanderling.git
synced 2026-10-02 11:07:10 +00:00
feat(spec): llm() accepts optional instructions
This commit is contained in:
1 parent
25ddf7d29e
commit
5fb01af59c
2 files changed
+5
-3
No files matched your search
@@ -63,7 +63,7 @@ export type GeneratorNode =
|
|||||||
| { kind: "weighted"; branches: ReadonlyArray<readonly [number, GeneratorNode]> }
|
| { kind: "weighted"; branches: ReadonlyArray<readonly [number, GeneratorNode]> }
|
||||||
| { kind: "actions"; generate: () => ActionDescriptor[] }
|
| { kind: "actions"; generate: () => ActionDescriptor[] }
|
||||||
| { kind: "builtin"; verb: BuiltinVerb }
|
| { kind: "builtin"; verb: BuiltinVerb }
|
||||||
| { kind: "llm"; config: { model: string } };
|
| { kind: "llm"; config: { model: string; instructions?: string } };
|
||||||
|
|
||||||
// Candidate is one host-enumerated target for a builtin verb. The host
|
// Candidate is one host-enumerated target for a builtin verb. The host
|
||||||
// resolves geometry (and a native selector) so no element handle crosses into
|
// resolves geometry (and a native selector) so no element handle crosses into
|
||||||
|
|||||||
@@ -38,9 +38,11 @@ export function actions(generator: () => Action[]): GeneratorNode {
|
|||||||
// random candidate, Go drives an OpenAI-compatible model that chooses which
|
// random candidate, Go drives an OpenAI-compatible model that chooses which
|
||||||
// candidate to act on from the screenshot + the candidate list. The returned
|
// candidate to act on from the screenshot + the candidate list. The returned
|
||||||
// marker is inert on the JS picker (pick.ts walks it to null); Go reads its
|
// marker is inert on the JS picker (pick.ts walks it to null); Go reads its
|
||||||
// config.model off globalThis.actions. API key comes from OPENROUTER_API_KEY
|
// config off globalThis.actions. API key comes from OPENROUTER_API_KEY
|
||||||
// (OpenRouter) or OPENAI_API_KEY (OpenAI); OpenRouter wins when both are set.
|
// (OpenRouter) or OPENAI_API_KEY (OpenAI); OpenRouter wins when both are set.
|
||||||
export function llm(config: { model: string }): GeneratorNode {
|
// Optional `instructions` are appended to the model's prompt as generic
|
||||||
|
// bug-hunting guidance for this spec; the model still only ranks candidates.
|
||||||
|
export function llm(config: { model: string; instructions?: string }): GeneratorNode {
|
||||||
return { kind: "llm", config };
|
return { kind: "llm", config };
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in new issue
Block a user