Skip to content

Commit

Permalink
v0.127.0
Browse files Browse the repository at this point in the history
  • Loading branch information
lgrammel committed Jan 15, 2024
1 parent 5997f2e commit ca1866a
Show file tree
Hide file tree
Showing 25 changed files with 147 additions and 42 deletions.
55 changes: 55 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,60 @@
# Changelog

## v0.127.0 - 2024-01-15

### Changed

- **breaking change**: `streamStructure` returns an async iterable over deep partial objects. If you need to get the fully validated final result, you can use the `fullResponse: true` option and await the `structurePromise` value. Example:

```ts
const { structureStream, structurePromise } = await streamStructure({
model: ollama
.ChatTextGenerator({
model: "openhermes2.5-mistral",
maxGenerationTokens: 1024,
temperature: 0,
})
.asStructureGenerationModel(jsonStructurePrompt.text()),

schema: zodSchema(
z.object({
characters: z.array(
z.object({
name: z.string(),
class: z
.string()
.describe("Character class, e.g. warrior, mage, or thief."),
description: z.string(),
})
),
})
),

prompt:
"Generate 3 character descriptions for a fantasy role playing game.",

fullResponse: true,
});

for await (const partialStructure of structureStream) {
console.clear();
console.log(partialStructure);
}

const structure = await structurePromise;

console.clear();
console.log("FINAL STRUCTURE");
console.log(structure);
```

- **breaking change**: Renamed `text` value in `streamText` with `fullResponse: true` to `textPromise`.

### Fixed

- Ollama streaming.
- Ollama structure generation and streaming.

## v0.126.0 - 2024-01-15

### Changed
Expand Down
2 changes: 1 addition & 1 deletion examples/babyagi-agent/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
"commander": "10.0.1",
"dotenv": "16.3.1",
"jsdom": "^22.1.0",
"modelfusion": "0.126.0",
"modelfusion": "0.127.0",
"serpapi": "^2.0.0"
},
"devDependencies": {
Expand Down
2 changes: 1 addition & 1 deletion examples/basic/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
"@pinecone-database/pinecone": "0.1.6",
"dotenv": "16.3.1",
"secure-json-parse": "2.7.0",
"modelfusion": "0.126.0",
"modelfusion": "0.127.0",
"modelfusion-experimental": "0.5.0",
"nanoid": "3.3.6",
"better-sqlite3": "9.0.0",
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
import {
jsonStructurePrompt,
ollama,
streamStructure,
zodSchema,
} from "modelfusion";
import { z } from "zod";

async function main() {
const { structureStream, structurePromise } = await streamStructure({
model: ollama
.ChatTextGenerator({
model: "openhermes2.5-mistral",
maxGenerationTokens: 1024,
temperature: 0,
})
.asStructureGenerationModel(jsonStructurePrompt.text()),

schema: zodSchema(
z.object({
characters: z.array(
z.object({
name: z.string(),
class: z
.string()
.describe("Character class, e.g. warrior, mage, or thief."),
description: z.string(),
})
),
})
),

prompt:
"Generate 3 character descriptions for a fantasy role playing game.",

fullResponse: true,
});

for await (const partialStructure of structureStream) {
console.clear();
console.log(partialStructure);
}

const structure = await structurePromise;

console.clear();
console.log("FINAL STRUCTURE");
console.log(structure);
}

main().catch(console.error);
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@ async function main() {
raw: true, // required when using custom prompt template
maxGenerationTokens: 1024,
temperature: 0,
format: "json",
stopSequences: ["\n\n"], // prevent infinite generation
})
.asStructureGenerationModel(jsonStructurePrompt.text()),
Expand Down
2 changes: 1 addition & 1 deletion examples/chatbot-next-js/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
"@emotion/styled": "11.10.8",
"@mui/icons-material": "5.11.16",
"@mui/material": "5.12.2",
"modelfusion": "0.126.0",
"modelfusion": "0.127.0",
"modelfusion-experimental": "0.5.0",
"next": "13.5.1",
"react": "18.2.0",
Expand Down
2 changes: 1 addition & 1 deletion examples/cloudflare-workers/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,6 @@
"wrangler": "^3.22.1"
},
"dependencies": {
"modelfusion": "0.126.0"
"modelfusion": "0.127.0"
}
}
2 changes: 1 addition & 1 deletion examples/image-generator-next-js/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
"dependencies": {
"@emotion/react": "^11.11.0",
"@emotion/styled": "^11.11.0",
"modelfusion": "0.126.0",
"modelfusion": "0.127.0",
"next": "13.5.1",
"react": "18.2.0",
"react-dom": "18.2.0"
Expand Down
2 changes: 1 addition & 1 deletion examples/middle-school-math-agent/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
},
"dependencies": {
"@modelfusion/mathjs-tool": "0.1.1",
"modelfusion": "0.126.0",
"modelfusion": "0.127.0",
"dotenv": "16.3.1",
"zod": "3.22.4"
},
Expand Down
2 changes: 1 addition & 1 deletion examples/pdf-chat-terminal/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
},
"private": true,
"dependencies": {
"modelfusion": "0.126.0",
"modelfusion": "0.127.0",
"commander": "10.0.1",
"dotenv": "16.3.1",
"pdfjs-dist": "3.6.172"
Expand Down
2 changes: 1 addition & 1 deletion examples/pdf-to-tweet/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
},
"private": true,
"dependencies": {
"modelfusion": "0.126.0",
"modelfusion": "0.127.0",
"modelfusion-experimental": "0.5.0",
"commander": "10.0.1",
"dotenv": "16.3.1",
Expand Down
2 changes: 1 addition & 1 deletion examples/speech-streaming-vite-react-fastify/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
"clsx": "^2.0.0",
"dotenv": "16.3.1",
"fastify": "^4.23.2",
"modelfusion": "0.126.0",
"modelfusion": "0.127.0",
"modelfusion-experimental": "0.5.0",
"react": "^18.2.0",
"react-dom": "^18.2.0",
Expand Down
2 changes: 1 addition & 1 deletion examples/voice-recording-next-js/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
"@emotion/styled": "11.10.8",
"@mui/icons-material": "5.11.16",
"@mui/material": "5.12.2",
"modelfusion": "0.126.0",
"modelfusion": "0.127.0",
"modelfusion-experimental": "0.5.0",
"formidable": "2.1.1",
"next": "13.5.1",
Expand Down
2 changes: 1 addition & 1 deletion examples/wikipedia-agent/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
"dotenv": "16.3.1",
"html-to-text": "9.0.5",
"jsdom": "^22.1.0",
"modelfusion": "0.126.0",
"modelfusion": "0.127.0",
"modelfusion-experimental": "0.5.0",
"zod": "3.22.4"
},
Expand Down
2 changes: 1 addition & 1 deletion packages/@modelfusion-pinecone/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@
"@typescript-eslint/parser": "^6.1.0",
"eslint": "^8.45.0",
"eslint-config-prettier": "9.1.0",
"modelfusion": "0.126.0"
"modelfusion": "0.127.0"
},
"peerDependencies": {
"modelfusion": ">=0.72.0 <1.0.0-0",
Expand Down
2 changes: 1 addition & 1 deletion packages/@modelfusion-sqlite-vss/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@
"@typescript-eslint/parser": "^6.1.0",
"eslint": "^8.45.0",
"eslint-config-prettier": "9.1.0",
"modelfusion": "0.126.0",
"modelfusion": "0.127.0",
"sqlite-vss": "^0.1.2",
"better-sqlite3": "^9.0.0"
},
Expand Down
2 changes: 1 addition & 1 deletion packages/@modelfusion-vercel-ai/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@
"ai": ">= 2.2.27",
"eslint": "^8.45.0",
"eslint-config-prettier": "9.1.0",
"modelfusion": "0.126.0"
"modelfusion": "0.127.0"
},
"peerDependencies": {
"modelfusion": ">=0.89.0",
Expand Down
2 changes: 1 addition & 1 deletion packages/modelfusion-experimental/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,6 @@
"eslint": "^8.45.0",
"eslint-config-prettier": "9.1.0",
"fastify": "^4.0.0",
"modelfusion": "0.126.0"
"modelfusion": "0.127.0"
}
}
2 changes: 1 addition & 1 deletion packages/modelfusion/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "modelfusion",
"description": "The TypeScript library for building AI applications.",
"version": "0.126.0",
"version": "0.127.0",
"author": "Lars Grammel",
"license": "MIT",
"keywords": [
Expand Down
Loading

0 comments on commit ca1866a

Please sign in to comment.