.txt
@dottxtai.bsky.social
We make AI speak the language of every application
The .txt team is growing. We're looking for a:
- Founding DevRel Engineer,
- Member of Technical Staff - LLM Inference, and
- a Rust Developer
Apply here: jobs.ashbyhq.com/dottxt
- Founding DevRel Engineer,
- Member of Technical Staff - LLM Inference, and
- a Rust Developer
Apply here: jobs.ashbyhq.com/dottxt
September 3, 2025 at 12:22 PM
The .txt team is growing. We're looking for a:
- Founding DevRel Engineer,
- Member of Technical Staff - LLM Inference, and
- a Rust Developer
Apply here: jobs.ashbyhq.com/dottxt
- Founding DevRel Engineer,
- Member of Technical Staff - LLM Inference, and
- a Rust Developer
Apply here: jobs.ashbyhq.com/dottxt
Be our developer zero.
Join .txt as our Founding DevRel Engineer.
Apply here: jobs.ashbyhq.com/dottxt
Join .txt as our Founding DevRel Engineer.
Apply here: jobs.ashbyhq.com/dottxt
August 20, 2025 at 10:04 AM
Be our developer zero.
Join .txt as our Founding DevRel Engineer.
Apply here: jobs.ashbyhq.com/dottxt
Join .txt as our Founding DevRel Engineer.
Apply here: jobs.ashbyhq.com/dottxt
We changed the way we handle multimodal inputs in Outlines.
Most libraries will give the prompt a special role, separate it from the other inputs. We don’t anymore.
Most libraries will give the prompt a special role, separate it from the other inputs. We don’t anymore.
July 13, 2025 at 5:11 PM
We changed the way we handle multimodal inputs in Outlines.
Most libraries will give the prompt a special role, separate it from the other inputs. We don’t anymore.
Most libraries will give the prompt a special role, separate it from the other inputs. We don’t anymore.
Another example from our internal context-free grammar hackathon. You can force a model to generate an acrostic, i.e. make each line start with a letter in a word -- HELLO in this case.
Grammars are cool.
Grammars are cool.
May 30, 2025 at 6:01 PM
Another example from our internal context-free grammar hackathon. You can force a model to generate an acrostic, i.e. make each line start with a letter in a word -- HELLO in this case.
Grammars are cool.
Grammars are cool.
During our internal hackathon, one of our teams (named "Too Many Cooks") wrote a grammar-powered recipe generator. The language model can ONLY generate text consistent with this recipe format.
Here's a recipe for the universe.
Here's a recipe for the universe.
May 29, 2025 at 4:25 PM
During our internal hackathon, one of our teams (named "Too Many Cooks") wrote a grammar-powered recipe generator. The language model can ONLY generate text consistent with this recipe format.
Here's a recipe for the universe.
Here's a recipe for the universe.
Here's a good example of a case where type-constrained decoding ensures that the program is semantically valid at generation time. Left is the unconstrained model, right is the type-constrained approach. Missing arguments, missing return values, missing type annotations. They fixed it for you.
May 13, 2025 at 4:06 PM
Here's a good example of a case where type-constrained decoding ensures that the program is semantically valid at generation time. Left is the unconstrained model, right is the type-constrained approach. Missing arguments, missing return values, missing type annotations. They fixed it for you.
The authors here use rejection methods (guess and check), rather than the constrained decoding approach that modifies the token probabilities by disabling invalid tokens, like Outlines. Type checking is relatively cheap, and the model's first guess is correct 99.4% of the time.
May 13, 2025 at 4:06 PM
The authors here use rejection methods (guess and check), rather than the constrained decoding approach that modifies the token probabilities by disabling invalid tokens, like Outlines. Type checking is relatively cheap, and the model's first guess is correct 99.4% of the time.
The authors propose a novel solution to this, by rejecting tokens that would invalidate a type check. In the following example, num is known to be a number. Only one of these completions is valid, which is to convert the number to a string (as required by parseInt)
May 13, 2025 at 4:06 PM
The authors propose a novel solution to this, by rejecting tokens that would invalidate a type check. In the following example, num is known to be a number. Only one of these completions is valid, which is to convert the number to a string (as required by parseInt)
As an example, a context-free grammar cannot express the following type checking constraint, as there is no way of knowing ahead of time what the type of `x` is. Constrained decoding using a CFG cannot enforce the validity of "x+10".
May 13, 2025 at 4:06 PM
As an example, a context-free grammar cannot express the following type checking constraint, as there is no way of knowing ahead of time what the type of `x` is. Constrained decoding using a CFG cannot enforce the validity of "x+10".
We're delighted to sponsor the AI User Conference!
It's next week, April 15th-17th. Find us at online or at San Francisco's delightful Fort Mason.
Tickets: www.aiuserconference.com
@cameron_pfiffer will be presenting a design for Minerva, a frontier space colony resource management system.
It's next week, April 15th-17th. Find us at online or at San Francisco's delightful Fort Mason.
Tickets: www.aiuserconference.com
@cameron_pfiffer will be presenting a design for Minerva, a frontier space colony resource management system.
April 10, 2025 at 7:00 PM
We're delighted to sponsor the AI User Conference!
It's next week, April 15th-17th. Find us at online or at San Francisco's delightful Fort Mason.
Tickets: www.aiuserconference.com
@cameron_pfiffer will be presenting a design for Minerva, a frontier space colony resource management system.
It's next week, April 15th-17th. Find us at online or at San Francisco's delightful Fort Mason.
Tickets: www.aiuserconference.com
@cameron_pfiffer will be presenting a design for Minerva, a frontier space colony resource management system.
People love our Outlines library.
We figured we'd release our next big product -- Inlines! Inlines are high-performance inline roller blades for the discerning AI engineer in your life. Reply in the comments and we'll add you to the pre-order list!
We figured we'd release our next big product -- Inlines! Inlines are high-performance inline roller blades for the discerning AI engineer in your life. Reply in the comments and we'll add you to the pre-order list!
April 1, 2025 at 9:16 PM
People love our Outlines library.
We figured we'd release our next big product -- Inlines! Inlines are high-performance inline roller blades for the discerning AI engineer in your life. Reply in the comments and we'll add you to the pre-order list!
We figured we'd release our next big product -- Inlines! Inlines are high-performance inline roller blades for the discerning AI engineer in your life. Reply in the comments and we'll add you to the pre-order list!
Recursive schemas allow the model to determine the depth of the resulting text.
Here's an example of a smaller output, where the model decomposes the concept map of "architecture":
The code to use the concept map recursive schema can be found here: gist.github.com/cpfiffer/d19...
Here's an example of a smaller output, where the model decomposes the concept map of "architecture":
The code to use the concept map recursive schema can be found here: gist.github.com/cpfiffer/d19...
March 25, 2025 at 10:00 PM
Recursive schemas allow the model to determine the depth of the resulting text.
Here's an example of a smaller output, where the model decomposes the concept map of "architecture":
The code to use the concept map recursive schema can be found here: gist.github.com/cpfiffer/d19...
Here's an example of a smaller output, where the model decomposes the concept map of "architecture":
The code to use the concept map recursive schema can be found here: gist.github.com/cpfiffer/d19...
Outlines supports "recursive schemas", which are JSON schemas that refer to themselves.
For example, here is a simple schema to generate a recursive concept map. This defines a concept, which has a title, a description, and a list of related concepts with the same schema.
For example, here is a simple schema to generate a recursive concept map. This defines a concept, which has a title, a description, and a list of related concepts with the same schema.
March 25, 2025 at 10:00 PM
Outlines supports "recursive schemas", which are JSON schemas that refer to themselves.
For example, here is a simple schema to generate a recursive concept map. This defines a concept, which has a title, a description, and a list of related concepts with the same schema.
For example, here is a simple schema to generate a recursive concept map. This defines a concept, which has a title, a description, and a list of related concepts with the same schema.
Outlines v1.0 has a few interface changes coming up.
One is the addition of the Application class, which combines a prompt templating function and an output type.
Then, you call that application with the language model you want to use, as well as the arguments to the prompt function.
One is the addition of the Application class, which combines a prompt templating function and an output type.
Then, you call that application with the language model you want to use, as well as the arguments to the prompt function.
March 17, 2025 at 8:17 PM
Outlines v1.0 has a few interface changes coming up.
One is the addition of the Application class, which combines a prompt templating function and an output type.
Then, you call that application with the language model you want to use, as well as the arguments to the prompt function.
One is the addition of the Application class, which combines a prompt templating function and an output type.
Then, you call that application with the language model you want to use, as well as the arguments to the prompt function.
Thought control works for anything you can express with a regular expression or context-free grammar.
We'll be exploring this a little more in the future -- stay tuned.
We'll be exploring this a little more in the future -- stay tuned.
March 12, 2025 at 9:29 PM
Thought control works for anything you can express with a regular expression or context-free grammar.
We'll be exploring this a little more in the future -- stay tuned.
We'll be exploring this a little more in the future -- stay tuned.
We refer to this as "thought control". The thinking block that R1 and other reasoning models use can be guided using structured generation. You can force certain formats, remove or add words, and limit the length of thinking.
March 12, 2025 at 9:29 PM
We refer to this as "thought control". The thinking block that R1 and other reasoning models use can be guided using structured generation. You can force certain formats, remove or add words, and limit the length of thinking.
Here's what happens if you disable the use of "R" and "r" in the thinking block of Qwen 7B R1.
We asked if roses are red, and it invented the phrase "conclusion point" to use instead of "answer".
It eventually got the right answe.
We asked if roses are red, and it invented the phrase "conclusion point" to use instead of "answer".
It eventually got the right answe.
March 12, 2025 at 9:29 PM
Here's what happens if you disable the use of "R" and "r" in the thinking block of Qwen 7B R1.
We asked if roses are red, and it invented the phrase "conclusion point" to use instead of "answer".
It eventually got the right answe.
We asked if roses are red, and it invented the phrase "conclusion point" to use instead of "answer".
It eventually got the right answe.
Is that our advocacy team
@willkurt.bsky.social and @cameron.pfiffer.org hanging out with Andrew Ng?
Wonder why.
@willkurt.bsky.social and @cameron.pfiffer.org hanging out with Andrew Ng?
Wonder why.
March 6, 2025 at 6:33 PM
Is that our advocacy team
@willkurt.bsky.social and @cameron.pfiffer.org hanging out with Andrew Ng?
Wonder why.
@willkurt.bsky.social and @cameron.pfiffer.org hanging out with Andrew Ng?
Wonder why.
Your quarterly reminder to just use structured generation.
Credit: @voooooogel on twitter
Credit: @voooooogel on twitter
February 26, 2025 at 8:34 PM
Your quarterly reminder to just use structured generation.
Credit: @voooooogel on twitter
Credit: @voooooogel on twitter
Outlines 0.2.1 is out!
- Renaming `prompt` to `Template`. `prompt` is now deprecated.
- First commit by .txt rockstar Dan Palmer-Bancel
- Documentation fixes by EdAbati
- Adding our bluesky account to the docs (come find us there)
Full changelog: https://buff.ly/4bbwWyN
- Renaming `prompt` to `Template`. `prompt` is now deprecated.
- First commit by .txt rockstar Dan Palmer-Bancel
- Documentation fixes by EdAbati
- Adding our bluesky account to the docs (come find us there)
Full changelog: https://buff.ly/4bbwWyN
February 24, 2025 at 6:58 PM
Outlines 0.2.1 is out!
- Renaming `prompt` to `Template`. `prompt` is now deprecated.
- First commit by .txt rockstar Dan Palmer-Bancel
- Documentation fixes by EdAbati
- Adding our bluesky account to the docs (come find us there)
Full changelog: https://buff.ly/4bbwWyN
- Renaming `prompt` to `Template`. `prompt` is now deprecated.
- First commit by .txt rockstar Dan Palmer-Bancel
- Documentation fixes by EdAbati
- Adding our bluesky account to the docs (come find us there)
Full changelog: https://buff.ly/4bbwWyN
Check out our stellar engineer Yvan at the Rust In Paris conference!
Discount link: https://buff.ly/3CMTE3E
Speakers: https://buff.ly/4b7fQlF
Schedule: https://buff.ly/4gKwc4P
Discount link: https://buff.ly/3CMTE3E
Speakers: https://buff.ly/4b7fQlF
Schedule: https://buff.ly/4gKwc4P
February 18, 2025 at 10:59 PM
Check out our stellar engineer Yvan at the Rust In Paris conference!
Discount link: https://buff.ly/3CMTE3E
Speakers: https://buff.ly/4b7fQlF
Schedule: https://buff.ly/4gKwc4P
Discount link: https://buff.ly/3CMTE3E
Speakers: https://buff.ly/4b7fQlF
Schedule: https://buff.ly/4gKwc4P
Looking for great learning resources about structured generation? Check out this GitHub repo from Sacha Ichbiah, one of our Discord users.
Repo: https://buff.ly/4jOI3Bz
Our Discord: https://buff.ly/4fULKn9
Repo: https://buff.ly/4jOI3Bz
Our Discord: https://buff.ly/4fULKn9
February 11, 2025 at 2:02 AM
Looking for great learning resources about structured generation? Check out this GitHub repo from Sacha Ichbiah, one of our Discord users.
Repo: https://buff.ly/4jOI3Bz
Our Discord: https://buff.ly/4fULKn9
Repo: https://buff.ly/4jOI3Bz
Our Discord: https://buff.ly/4fULKn9
Need to extract a few highlights from a news article?
Try this out. We used the article about Neural Magic's recent acquisition by Red Hat.
You can even change your structure to easily add reasoning and observations for better output quality.
Check the gist out: https://buff.ly/4hhCFVz
Try this out. We used the article about Neural Magic's recent acquisition by Red Hat.
You can even change your structure to easily add reasoning and observations for better output quality.
Check the gist out: https://buff.ly/4hhCFVz
January 15, 2025 at 10:19 PM
Need to extract a few highlights from a news article?
Try this out. We used the article about Neural Magic's recent acquisition by Red Hat.
You can even change your structure to easily add reasoning and observations for better output quality.
Check the gist out: https://buff.ly/4hhCFVz
Try this out. We used the article about Neural Magic's recent acquisition by Red Hat.
You can even change your structure to easily add reasoning and observations for better output quality.
Check the gist out: https://buff.ly/4hhCFVz
🚨 NEW BLOG POST ALERT 🚨
We wrote a case study about .gifter, a demonstration of a simple LLM-powered web applications with structured generation (Outlines) and Flask!
It's also a tool to help you buy gifts for your loved ones, in case you need ideas.
Link: https://buff.ly/4fenrz5
We wrote a case study about .gifter, a demonstration of a simple LLM-powered web applications with structured generation (Outlines) and Flask!
It's also a tool to help you buy gifts for your loved ones, in case you need ideas.
Link: https://buff.ly/4fenrz5
December 20, 2024 at 6:59 PM
🚨 NEW BLOG POST ALERT 🚨
We wrote a case study about .gifter, a demonstration of a simple LLM-powered web applications with structured generation (Outlines) and Flask!
It's also a tool to help you buy gifts for your loved ones, in case you need ideas.
Link: https://buff.ly/4fenrz5
We wrote a case study about .gifter, a demonstration of a simple LLM-powered web applications with structured generation (Outlines) and Flask!
It's also a tool to help you buy gifts for your loved ones, in case you need ideas.
Link: https://buff.ly/4fenrz5
Here's the code if you want to follow along. As per usual, PRs, comments, suggestions, complaints, and mild vitriol are accepted.
https://buff.ly/4fenrz5
https://buff.ly/4fenrz5
December 12, 2024 at 5:57 PM
Here's the code if you want to follow along. As per usual, PRs, comments, suggestions, complaints, and mild vitriol are accepted.
https://buff.ly/4fenrz5
https://buff.ly/4fenrz5