-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
6229a72
commit 39d4b2c
Showing
15 changed files
with
37 additions
and
14 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
Empty file.
Empty file.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
# FAQ | ||
|
||
### Whats the Difference between `semantix` and other libraries such as `DSPy`, `Instructor` etc? | ||
|
||
Libraries such as `DSPy`, `Instructor` etc. are JSON Schema based Structured Output Generators. Though they are powerful, they come with few caveats. | ||
|
||
1. Uses PyDantic Models. Though pydantic provide robust type validation, uses have to extend all the types to `BaseModel` which is not always necessary. | ||
2. Unnecessary Abstractions. Libraries like `DSPy` uses unnecessary abstractions to embed meaning into variables (`InputField`, `OutputField` etc). Classes like `dspy.Signature` are not necessary because already python function signatures, type hints and output type hints are expressive enough to convey the objective. | ||
3. In most LLMs, characters such as `{`, `}`, `:`, `"` etc are considered as seperate tokens. So in the inference you will be charged for each of these tokens alot because JSON Schema are heavily composed of these characters. | ||
|
||
`Semantix` on the other hand uses `Semantic` types to embed meaning into variables. `Semantic` types are just a wrapper around the original type and a string that represents the meaning of the type. This allows you to write more expressive, powerful code with ease without any use of unnecessary abstractions. and it is not a must as well. You can use `Semantic` types only when you need to embed meaning into variables. |
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
# Tutorials | ||
|
||
Submissions to the tutorials section are welcome. Please refer to the [contributing guidelines](contributing.md) for more information. |
File renamed without changes.
File renamed without changes.