Skip to content

Commit a575573

Browse files
committed
Change hints to instructions
1 parent 74008fb commit a575573

File tree

21 files changed

+168
-149
lines changed

21 files changed

+168
-149
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ Synalinks is designed for a diverse range of users, from professionals and AI re
4242

4343
Developping a successful LM application in a profesional context, beyond stateless chatbots, is difficult and typically include:
4444

45-
- **Building optimized prompts with examples/hints at each step**: Synalinks uses advanced In-Context Reinforcement Learning techniques to optimize each prompt.
45+
- **Building optimized prompts with examples/instructions at each step**: Synalinks uses advanced In-Context Reinforcement Learning techniques to optimize each prompt.
4646
- **Pipelines that change over time**: Easily edit your pipelines, re-run your training, and you're good to go.
4747
- **Ensuring the correctness of the LMs output**: Synalinks combines constrained structured output with In-Context RL to ensure both format and content correctness.
4848
- **Async Optimization**: Synalinks automatically optimizes your pipelines by detecting parallel processes.

coverage-badge.svg

Lines changed: 1 addition & 1 deletion
Loading

docs/FAQ.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ Training a whole Language Model (LM) from scratch is out of the reach of most co
4141

4242
LMs have the capability to leverage their prompt to mimick the examples given, but it means that one have to update the examples each time you change the pipelines as you experiment. Making it cumberstone, but even with that, their is no guaranty that the examples you gave yield to the best results.
4343

44-
To select the best examples and hints to give to the LMs, it needs a complex system like Synalinks that automate the generation and selection.
44+
To select the best examples and instructions to give to the LMs, it needs a complex system like Synalinks that automate the generation and selection.
4545

4646
---
4747

docs/Introduction.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ Synalinks is designed for a diverse range of users, from professionals and AI re
2020

2121
Developping a successful LM application in a profesional context, beyond stateless chatbots, is difficult and typically include:
2222

23-
- **Building optimized prompts with examples/hints at each step**: Synalinks uses advanced In-Context Reinforcement Learning techniques to optimize each prompt.
23+
- **Building optimized prompts with examples/instructions at each step**: Synalinks uses advanced In-Context Reinforcement Learning techniques to optimize each prompt.
2424
- **Pipelines that change over time**: Easily edit your pipelines, re-run your training, and you're good to go.
2525
- **Ensuring the correctness of the LMs output**: Synalinks combines constrained structured output with In-Context RL to ensure both format and content correctness.
2626
- **Async Optimization**: Synalinks automatically optimizes your pipelines by detecting parallel processes.

synalinks/src/backend/__init__.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@
5454
from synalinks.src.backend.pydantic.base import Weight
5555
from synalinks.src.backend.pydantic.base import Document
5656
from synalinks.src.backend.pydantic.base import Prediction
57-
from synalinks.src.backend.pydantic.base import Hints
57+
from synalinks.src.backend.pydantic.base import Instructions
5858
from synalinks.src.backend.pydantic.base import is_chat_message
5959
from synalinks.src.backend.pydantic.base import is_chat_messages
6060
from synalinks.src.backend.pydantic.base import is_edge
@@ -63,7 +63,7 @@
6363
from synalinks.src.backend.pydantic.base import is_entities
6464
from synalinks.src.backend.pydantic.base import is_entity
6565
from synalinks.src.backend.pydantic.base import is_document
66-
from synalinks.src.backend.pydantic.base import is_hints
66+
from synalinks.src.backend.pydantic.base import is_instructions
6767
from synalinks.src.backend.pydantic.base import is_prediction
6868
from synalinks.src.backend.pydantic.base import is_knowledge_graph
6969
from synalinks.src.backend.pydantic.base import is_knowledge_graphs

synalinks/src/backend/common/variables.py

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -33,18 +33,18 @@ class Variable:
3333
from typing import List
3434
import synalinks
3535
36-
class Hints(synalinks.DataModel):
37-
hints: List[str] = []
36+
class Instructions(synalinks.DataModel):
37+
instructions: List[str] = []
3838
3939
initial_data = {
40-
"hints": [
40+
"instructions": [
4141
"For any problem involving division, always round the quotient to "
4242
"the nearest even number, regardless of the remainder."
4343
],
4444
}
4545
variable_from_dict = synalinks.Variable(
4646
initializer=initial_data,
47-
data_model=Hints,
47+
data_model=Instructions,
4848
)
4949
```
5050
@@ -54,21 +54,21 @@ class Hints(synalinks.DataModel):
5454
from typing import List
5555
import synalinks
5656
57-
class Hints(synalinks.DataModel):
58-
hints: List[str] = []
57+
class Instructions(synalinks.DataModel):
58+
instructions: List[str] = []
5959
6060
from synalinks.initializers import Empty
6161
6262
variable_from_initializer = synalinks.Variable(
63-
initializer=Empty(data_model=Hints)
63+
initializer=Empty(data_model=Instructions)
6464
)
6565
```
6666
6767
**Updating the value of a `Variable`:**
6868
6969
```python
7070
new_json = {
71-
"hints": [
71+
"instructions": [
7272
"When performing division, always check if the division results "
7373
"in a whole number. If not, express the result as a fraction or "
7474
"a decimal, depending on the context of the problem."
@@ -83,13 +83,13 @@ class Hints(synalinks.DataModel):
8383
from typing import List
8484
import synalinks
8585
86-
class Hints(synalinks.DataModel):
87-
hints: List[str] = []
86+
class Instructions(synalinks.DataModel):
87+
instructions: List[str] = []
8888
8989
from synalinks.initializers import Empty
9090
9191
non_trainable_variable = synalinks.Variable(
92-
initializer=Empty(data_model=Hints), trainable=False
92+
initializer=Empty(data_model=Instructions), trainable=False
9393
)
9494
```
9595

synalinks/src/backend/common/variables_test.py

Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -12,51 +12,51 @@
1212

1313
class VariablesTest(testing.TestCase):
1414
def test_initialize_variable_with_dict(self):
15-
class Hints(DataModel):
16-
hints: List[str] = []
15+
class Instructions(DataModel):
16+
instructions: List[str] = []
1717

1818
initial_data = {
19-
"hints": [
19+
"instructions": [
2020
"For any problem involving division, always round the quotient to "
2121
"the nearest even number, regardless of the remainder."
2222
],
2323
}
2424
variable_from_dict = Variable(
2525
initializer=initial_data,
26-
data_model=Hints,
26+
data_model=Instructions,
2727
)
2828
self.assertEqual(variable_from_dict.get_json(), initial_data)
2929
self.assertEqual(
3030
variable_from_dict.get_schema(),
31-
standardize_schema(Hints.get_schema()),
31+
standardize_schema(Instructions.get_schema()),
3232
)
3333

3434
def test_initialize_variable_with_callable_initializer(self):
35-
class Hints(DataModel):
36-
hints: List[str] = []
35+
class Instructions(DataModel):
36+
instructions: List[str] = []
3737

3838
from synalinks.src.initializers import Empty
3939

40-
variable_from_initializer = Variable(initializer=Empty(data_model=Hints))
41-
self.assertEqual(variable_from_initializer.get_json(), Hints().get_json())
40+
variable_from_initializer = Variable(initializer=Empty(data_model=Instructions))
41+
self.assertEqual(variable_from_initializer.get_json(), Instructions().get_json())
4242
self.assertEqual(
4343
variable_from_initializer.get_schema(),
44-
standardize_schema(Hints.get_schema()),
44+
standardize_schema(Instructions.get_schema()),
4545
)
4646

4747
def test_assign_variable_from_dict(self):
48-
class Hints(DataModel):
49-
hints: List[str] = []
48+
class Instructions(DataModel):
49+
instructions: List[str] = []
5050

5151
initial_data = {
52-
"hints": [
52+
"instructions": [
5353
"For any problem involving division, always round the quotient to "
5454
"the nearest even number, regardless of the remainder."
5555
],
5656
}
57-
variable_from_dict = Variable(initializer=initial_data, data_model=Hints)
57+
variable_from_dict = Variable(initializer=initial_data, data_model=Instructions)
5858
new_value = {
59-
"hints": [
59+
"instructions": [
6060
"When performing division, always check if the division results in "
6161
"a whole number. If not, express the result as a fraction or a "
6262
"decimal, depending on the context of the problem."
@@ -66,22 +66,22 @@ class Hints(DataModel):
6666
self.assertEqual(variable_from_dict.get_json(), new_value)
6767
self.assertEqual(
6868
variable_from_dict.get_schema(),
69-
standardize_schema(Hints.get_schema()),
69+
standardize_schema(Instructions.get_schema()),
7070
)
7171

7272
def test_assign_variable_from_dataype(self):
73-
class Hints(DataModel):
74-
hints: List[str] = []
73+
class Instructions(DataModel):
74+
instructions: List[str] = []
7575

7676
initial_data = {
77-
"hints": [
77+
"instructions": [
7878
"For any problem involving division, always round the quotient to "
7979
"the nearest even number, regardless of the remainder."
8080
],
8181
}
82-
variable_from_dict = Variable(initializer=initial_data, data_model=Hints)
82+
variable_from_dict = Variable(initializer=initial_data, data_model=Instructions)
8383
new_value = {
84-
"hints": [
84+
"instructions": [
8585
"When performing division, always check if the division results in "
8686
"a whole number. If not, express the result as a fraction or a "
8787
"decimal, depending on the context of the problem."
@@ -91,5 +91,5 @@ class Hints(DataModel):
9191
self.assertEqual(variable_from_dict.get_json(), new_value)
9292
self.assertEqual(
9393
variable_from_dict.get_schema(),
94-
standardize_schema(Hints.get_schema()),
94+
standardize_schema(Instructions.get_schema()),
9595
)

synalinks/src/backend/pydantic/__init__.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
from synalinks.src.backend.pydantic.base import Entity
99
from synalinks.src.backend.pydantic.base import Document
1010
from synalinks.src.backend.pydantic.base import Prediction
11-
from synalinks.src.backend.pydantic.base import Hints
11+
from synalinks.src.backend.pydantic.base import Instructions
1212
from synalinks.src.backend.pydantic.base import KnowledgeGraph
1313
from synalinks.src.backend.pydantic.base import KnowledgeGraphs
1414
from synalinks.src.backend.pydantic.base import Label
@@ -24,7 +24,7 @@
2424
from synalinks.src.backend.pydantic.base import is_entities
2525
from synalinks.src.backend.pydantic.base import is_entity
2626
from synalinks.src.backend.pydantic.base import is_document
27-
from synalinks.src.backend.pydantic.base import is_hints
27+
from synalinks.src.backend.pydantic.base import is_instructions
2828
from synalinks.src.backend.pydantic.base import is_prediction
2929
from synalinks.src.backend.pydantic.base import is_knowledge_graph
3030
from synalinks.src.backend.pydantic.base import is_knowledge_graphs

synalinks/src/backend/pydantic/base.py

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -380,26 +380,26 @@ def is_prediction(x):
380380

381381
@synalinks_export(
382382
[
383-
"synalinks.backend.Hints",
384-
"synalinks.Hints",
383+
"synalinks.backend.Instructions",
384+
"synalinks.Instructions",
385385
]
386386
)
387-
class Hints(Entity):
388-
"""The generator's hints"""
387+
class Instructions(Entity):
388+
"""The generator's instructions"""
389389

390-
label: str = "Hints"
391-
hints: List[str]
390+
label: str = "Instructions"
391+
instructions: List[str]
392392
reward: Optional[float] = None # None if not yet backpropagated
393393

394394

395395
@synalinks_export(
396396
[
397-
"synalinks.backend.is_hints",
398-
"synalinks.is_hints",
397+
"synalinks.backend.is_instructions",
398+
"synalinks.is_instructions",
399399
]
400400
)
401-
def is_hints(x):
402-
"""Checks if the given data model is a hints
401+
def is_instructions(x):
402+
"""Checks if the given data model is a instructions
403403
404404
Args:
405405
x (DataModel | JsonDataModel | SymbolicDataModel | Variable):
@@ -408,7 +408,7 @@ def is_hints(x):
408408
Returns:
409409
(bool): True if the condition is met
410410
"""
411-
if contains_schema(x.get_schema(), Hints.get_schema()):
411+
if contains_schema(x.get_schema(), Instructions.get_schema()):
412412
return True
413413
return False
414414

synalinks/src/initializers/empty_initializer_test.py

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -9,21 +9,21 @@
99

1010
class EmptyInitializerTest(testing.TestCase):
1111
def test_empty_initializer(self):
12-
class Hints(DataModel):
13-
hints: List[str] = []
12+
class Instructions(DataModel):
13+
instructions: List[str] = []
1414

15-
initializer = Empty(data_model=Hints)
15+
initializer = Empty(data_model=Instructions)
1616
empty_data_model = initializer()
17-
self.assertEqual(initializer.get_schema(), Hints.get_schema())
18-
self.assertEqual(empty_data_model, Hints().get_json())
17+
self.assertEqual(initializer.get_schema(), Instructions.get_schema())
18+
self.assertEqual(empty_data_model, Instructions().get_json())
1919

2020
def test_empty_initializer_from_config(self):
21-
class Hints(DataModel):
22-
hints: List[str] = []
21+
class Instructions(DataModel):
22+
instructions: List[str] = []
2323

24-
initializer = Empty(data_model=Hints)
24+
initializer = Empty(data_model=Instructions)
2525
config = initializer.get_config()
2626
initializer = Empty.from_config(config)
2727
empty_data_model = initializer()
28-
self.assertEqual(initializer.get_schema(), Hints.get_schema())
29-
self.assertEqual(empty_data_model, Hints().get_json())
28+
self.assertEqual(initializer.get_schema(), Instructions.get_schema())
29+
self.assertEqual(empty_data_model, Instructions().get_json())

0 commit comments

Comments
 (0)