@@ -7,24 +7,17 @@ import (
77
88// ChunkerCharacter is a node that chunks text by character.
99type ChunkerCharacter struct {
10- ID string `json:"-"`
11- Name string `json:"-"`
12- APIURL string `json:"unstructured_api_url,omitempty"`
13- APIKey string `json:"unstructured_api_key,omitempty"`
14- IncludeOrigElements bool `json:"include_orig_elements,omitempty"`
15- NewAfterNChars int `json:"new_after_n_chars,omitempty"`
16- MaxCharacters int `json:"max_characters,omitempty"`
17- Overlap int `json:"overlap,omitempty"`
18- OverlapAll bool `json:"overlap_all"`
19- ContextualChunkingStrategy ChunkingStrategy `json:"contextual_chunking_strategy,omitempty"`
10+ ID string `json:"-"`
11+ Name string `json:"-"`
12+ APIURL string `json:"unstructured_api_url,omitempty"`
13+ APIKey string `json:"unstructured_api_key,omitempty"`
14+ IncludeOrigElements bool `json:"include_orig_elements,omitempty"`
15+ NewAfterNChars int `json:"new_after_n_chars,omitempty"`
16+ MaxCharacters int `json:"max_characters,omitempty"`
17+ Overlap int `json:"overlap,omitempty"`
18+ OverlapAll bool `json:"overlap_all"`
2019}
2120
22- // ChunkingStrategy is a strategy for contextual chunking.
23- type ChunkingStrategy string
24-
25- // ChunkingStrategyV1 is a strategy for contextual chunking.
26- const ChunkingStrategyV1 = "v1"
27-
2821var _ WorkflowNode = new (ChunkerCharacter )
2922
3023// isNode implements the WorkflowNode interface.
@@ -34,7 +27,13 @@ func (c ChunkerCharacter) isNode() {}
3427func (c ChunkerCharacter ) MarshalJSON () ([]byte , error ) {
3528 type alias ChunkerCharacter
3629
37- data , err := json .Marshal (alias (c ))
30+ data , err := json .Marshal (struct {
31+ alias
32+ ContextualChunkingStrategy string `json:"contextual_chunking_strategy"`
33+ }{
34+ alias : alias (c ),
35+ ContextualChunkingStrategy : "v1" ,
36+ })
3837 if err != nil {
3938 return nil , fmt .Errorf ("failed to marshal chunker character: %w" , err )
4039 }
0 commit comments