🐛 fix(flow-runner.mdx): fix broken link to langchain.schema module in import statement
🐛 fix(flow-runner.mdx): remove unnecessary focus annotations in code snippets ✨ feat(flow-runner.mdx): add support for getting flow by name instead of id in build method ✨ feat(flow-runner.mdx): add caution about unique flow names in version 0.4.0 ✨ feat(flow-runner.mdx): add support for passing document parameter in build method 🐛 fix(flow-runner.mdx): remove redundant Optional type hint for document parameter in build method 🐛 fix(flow-runner.mdx): remove empty line at the end of the file
This commit is contained in:
parent
ac46fff761
commit
16935ec198
1 changed files with 22 additions and 17 deletions
|
|
@ -90,7 +90,7 @@ class FlowRunner(CustomComponent):
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
Second, we will import _`Document`_ from the [*langchain.schema*](https://docs.langchain.com/docs/components/schema/) module. This will be the return type of the _`build`_ method.
|
Second, we will import _`Document`_ from the [_langchain.schema_](https://docs.langchain.com/docs/components/schema/) module. This will be the return type of the _`build`_ method.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|
@ -120,7 +120,7 @@ Now, let's add the [parameters](focus://11[20:55]) and the [return type](focus:/
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
```python
|
```python focus=13:14
|
||||||
from langflow import CustomComponent
|
from langflow import CustomComponent
|
||||||
from langchain.schema import Document
|
from langchain.schema import Document
|
||||||
|
|
||||||
|
|
@ -133,9 +133,7 @@ class FlowRunner(CustomComponent):
|
||||||
...
|
...
|
||||||
|
|
||||||
def build(self, flow_name: str, document: Document) -> Document:
|
def build(self, flow_name: str, document: Document) -> Document:
|
||||||
# focus
|
|
||||||
# List the flows
|
# List the flows
|
||||||
# focus
|
|
||||||
flows = self.list_flows()
|
flows = self.list_flows()
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
@ -144,7 +142,7 @@ We can now start writing the _`build`_ method. Let's list available flows in "My
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
```python
|
```python focus=15:18
|
||||||
from langflow import CustomComponent
|
from langflow import CustomComponent
|
||||||
from langchain.schema import Document
|
from langchain.schema import Document
|
||||||
|
|
||||||
|
|
@ -159,17 +157,19 @@ class FlowRunner(CustomComponent):
|
||||||
def build(self, flow_name: str, document: Document) -> Document:
|
def build(self, flow_name: str, document: Document) -> Document:
|
||||||
# List the flows
|
# List the flows
|
||||||
flows = self.list_flows()
|
flows = self.list_flows()
|
||||||
# focus
|
|
||||||
# Get the flow that matches the selected name
|
# Get the flow that matches the selected name
|
||||||
# focus
|
# You can also get the flow by id
|
||||||
flow = next(filter(lambda f: f.name == flow_name, flows))
|
# using self.get_flow(flow_id=flow_id)
|
||||||
|
flow = self.get_flow(flow_name=flow_name)
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
And retrieve a flow that matches the selected name (we'll make a dropdown input field for the user to choose among flow names).
|
And retrieve a flow that matches the selected name (we'll make a dropdown input field for the user to choose among flow names).
|
||||||
|
|
||||||
<Admonition type="caution">
|
<Admonition type="caution">
|
||||||
From version 0.4.0, names are unique, which was not the case in previous versions. This might lead to unexpected results if using flows with the same name.
|
From version 0.4.0, names are unique, which was not the case in previous
|
||||||
|
versions. This might lead to unexpected results if using flows with the same
|
||||||
|
name.
|
||||||
</Admonition>
|
</Admonition>
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
@ -190,7 +190,9 @@ class FlowRunner(CustomComponent):
|
||||||
# List the flows
|
# List the flows
|
||||||
flows = self.list_flows()
|
flows = self.list_flows()
|
||||||
# Get the flow that matches the selected name
|
# Get the flow that matches the selected name
|
||||||
flow = next(filter(lambda f: f.name == flow_name, flows))
|
# You can also get the flow by id
|
||||||
|
# using self.get_flow(flow_id=flow_id)
|
||||||
|
flow = self.get_flow(flow_name=flow_name)
|
||||||
# focus
|
# focus
|
||||||
# Load the flow
|
# Load the flow
|
||||||
# focus
|
# focus
|
||||||
|
|
@ -220,7 +222,9 @@ class FlowRunner(CustomComponent):
|
||||||
# List the flows
|
# List the flows
|
||||||
flows = self.list_flows()
|
flows = self.list_flows()
|
||||||
# Get the flow that matches the selected name
|
# Get the flow that matches the selected name
|
||||||
flow = next(filter(lambda f: f.name == flow_name, flows))
|
# You can also get the flow by id
|
||||||
|
# using self.get_flow(flow_id=flow_id)
|
||||||
|
flow = self.get_flow(flow_name=flow_name)
|
||||||
# Load the flow
|
# Load the flow
|
||||||
tweaks = {}
|
tweaks = {}
|
||||||
flow = self.load_flow(flow.id, tweaks)
|
flow = self.load_flow(flow.id, tweaks)
|
||||||
|
|
@ -255,11 +259,13 @@ class FlowRunner(CustomComponent):
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
def build(self, flow_name: str, document: Optional[Document] = None) -> Document:
|
def build(self, flow_name: str, document: Document) -> Document:
|
||||||
# List the flows
|
# List the flows
|
||||||
flows = self.list_flows()
|
flows = self.list_flows()
|
||||||
# Get the flow that matches the selected name
|
# Get the flow that matches the selected name
|
||||||
flow = next(filter(lambda f: f.name == flow_name, flows))
|
# You can also get the flow by id
|
||||||
|
# using self.get_flow(flow_id=flow_id)
|
||||||
|
flow = self.get_flow(flow_name=flow_name)
|
||||||
# Load the flow
|
# Load the flow
|
||||||
tweaks = {}
|
tweaks = {}
|
||||||
flow = self.load_flow(flow.id, tweaks)
|
flow = self.load_flow(flow.id, tweaks)
|
||||||
|
|
@ -282,7 +288,6 @@ Finally, we can add field customizations through the _`build_config`_ method. He
|
||||||
|
|
||||||
Done! This is what our script and custom component look like:
|
Done! This is what our script and custom component look like:
|
||||||
|
|
||||||
|
|
||||||
<div style={{
|
<div style={{
|
||||||
display: "flex",
|
display: "flex",
|
||||||
justifyContent: "center",
|
justifyContent: "center",
|
||||||
|
|
@ -299,10 +304,9 @@ Done! This is what our script and custom component look like:
|
||||||
display: "flex",
|
display: "flex",
|
||||||
justifyContent: "center",
|
justifyContent: "center",
|
||||||
}}
|
}}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<ZoomableImage
|
<ZoomableImage
|
||||||
alt="Document Processor Component"
|
alt="Document Processor Component"
|
||||||
sources={{
|
sources={{
|
||||||
|
|
@ -315,4 +319,5 @@ Done! This is what our script and custom component look like:
|
||||||
justifyContent: "center",
|
justifyContent: "center",
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
Loading…
Add table
Add a link
Reference in a new issue