chainfury.types module
- class chainfury.types.ApiAction(*, name: str, description: str, tags: list[str] = [], fn: FnModel, outputs: list[chainfury.types.ApiAction.OutputModel])[source]
Bases:
BaseModel- class FnModel(*, model_id: str, model_params: dict, fn: dict)[source]
Bases:
BaseModel- fn: dict
- model_id: str
- model_params: dict
- class OutputModel(*, type: str, name: str, loc: list[str])[source]
Bases:
BaseModel- loc: list[str]
- name: str
- type: str
- description: str
- name: str
- outputs: list[chainfury.types.ApiAction.OutputModel]
- tags: list[str]
- class chainfury.types.ApiActionUpdateRequest(*, name: str = '', description: str = '', tags: list[str] = [], fn: FnModel = None, outputs: list[chainfury.types.ApiAction.OutputModel] = [], update_fields: list[str])[source]
Bases:
BaseModel- description: str
- name: str
- outputs: list[chainfury.types.ApiAction.OutputModel]
- tags: list[str]
- update_fields: list[str]
- class chainfury.types.ApiAuth(*, username: str, password: str)[source]
Bases:
BaseModel- password: str
- username: str
- class chainfury.types.ApiChain(*, name: str, dag: Dag | None = None, description: str | None = None, id: str = '', created_at: datetime | None = None, engine: str = '', update_keys: List[str] = [])[source]
Bases:
BaseModelThis is the on-the-wire representation of the chain. This is used by the network to transfer chains
- created_at: datetime | None
- description: str | None
- engine: str
- id: str
- name: str
- update_keys: List[str]
- class chainfury.types.ApiChangePassword(*, username: str, old_password: str, new_password: str)[source]
Bases:
BaseModel- new_password: str
- old_password: str
- username: str
- class chainfury.types.ApiCreateChainRequest(*, name: str, engine: str, dag: Dag | None = None, description: str = '')[source]
Bases:
BaseModelUser request to create a new chain
- description: str
- engine: str
- name: str
- class chainfury.types.ApiListChainsResponse(*, chatbots: List[ApiChain])[source]
Bases:
BaseModelList of all the chains
- class chainfury.types.ApiPromptBody(*, session_id: str, chat_history: List[str] = [], data: Dict[str, Any] = {}, new_message: str = '')[source]
Bases:
BaseModelThis is the prompt for the API to run the chain
- chat_history: List[str]
- data: Dict[str, Any]
- new_message: str
- session_id: str
- class chainfury.types.ApiResponse(*, message: str)[source]
Bases:
BaseModelThis is the default response body of the API
- message: str
- class chainfury.types.ApiSignUp(*, username: str, email: str, password: str)[source]
Bases:
BaseModel- email: str
- password: str
- username: str
- class chainfury.types.CFPromptResult(*, result: str, prompt_id: int = 0, task_id: str = '')[source]
Bases:
BaseModelThis is a structured result of the prompt by the Chain. This is more useful for providing types on the server.
- prompt_id: int
- result: str
- task_id: str
- class chainfury.types.Dag(*, nodes: List[FENode], edges: List[Edge], sample: Dict[str, Any] = None, main_in: str = '', main_out: str = '')[source]
Bases:
BaseModelThis is visual representation of the chain. JSON of this is stored in the DB.
- main_in: str
- main_out: str
- sample: Dict[str, Any]
- class chainfury.types.Edge(*, id: str, source: str, sourceHandle: str, target: str, targetHandle: str)[source]
Bases:
BaseModelThis is one edge of the graph
- id: str
- source: str
- sourceHandle: str
- target: str
- targetHandle: str
- class chainfury.types.FENode(*, cf_id: str = '', cf_data: CFData | None = None, id: str, position: Position, type: str = 'FuryEngineNode', width: int, height: int, selected: bool | None = None, position_absolute: Position | None = None, dragging: bool | None = None, data: Dict[str, Any] | None = {})[source]
Bases:
BaseModelFENode is the node as required by the UI to render the node in the graph. If you do not care about the UI, you can populate either the
cf_idorcf_data.- class CFData(*, id: str, type: str, node: Dict[str, Any], value: Any = None)[source]
Bases:
BaseModel- id: str
- node: Dict[str, Any]
- type: str
- value: Any
- cf_id: str
- data: Dict[str, Any] | None
- dragging: bool | None
- height: int
- id: str
- selected: bool | None
- type: str
- width: int