Repository navigation
AnyLanguageModel is now 1.0!
Important
Breaking changes
JSONValueis now AnyLanguageModel's own type instead of a typealias for JSONSchema'sJSONValue(#267). It has the same cases, accessors, and literal conformances, but notdescription, string interpolation, orisCompatible(with:strict:). Code that passes values between the two types needs to convert them.@Generablenow generates enums whose cases carry values as Foundation Models does (#322, from #301): one object per case, with atypethat names the case and a typed property for each value. Content generated by an earlier version won't decode.- AnyLanguageModel now requires swift-huggingface 1.0 (#319).
Thanks to @akbashev for enums with associated values (#322, from #301) and JSON Lines streaming (#299), to @2570165831 for choosing anyOf variants (#320, from #309), and to @qoli for prompt attachments (#321, from #310) and preserving a leading BOM (#305).
What's Changed
- Stream JSON Lines responses with URLSession by @akbashev in #299
- Cancel Linux streaming requests canceled before the response starts by @mattt in #303
- Support constant and anyOf string guides by @mattt in #304
- Preserve leading BOM in generated JSON string content by @qoli in #305
- Keep property order when writing generated content as JSON by @mattt in #307
- Parse and write Llama tool calls without JSONSerialization by @mattt in #308
- Test Swift 6.4 in CI by @mattt in #318
- Require swift-huggingface 1.0 by @mattt in #319
- Make JSONValue an AnyLanguageModel type by @mattt in #267
- Let the model choose the variant of an anyOf by @mattt in #320
- Add Foundation Models 27 prompt attachments by @mattt in #321
- Generate enums with associated values as Foundation Models does by @mattt in #322
- Bump README install snippets to 1.0.0 by @mattt in #323
Full Changelog: 0.16.0...1.0.0