Skip to content

Instantly share code, notes, and snippets.

@ogabrielluiz
Created April 28, 2023 12:19
Show Gist options
  • Save ogabrielluiz/19f7db62b021a8133f5bfebe22808e62 to your computer and use it in GitHub Desktop.
Save ogabrielluiz/19f7db62b021a8133f5bfebe22808e62 to your computer and use it in GitHub Desktop.
ImageFlow
{
"description": "Generate an image using DALL-E2.",
"name": "ImageFlow",
"id": "18",
"data": {
"nodes": [
{
"width": 384,
"height": 559,
"id": "dndnode_1",
"type": "genericNode",
"position": {
"x": 330,
"y": 552
},
"data": {
"type": "Tool",
"node": {
"template": {
"name": {
"required": true,
"placeholder": "",
"show": true,
"multiline": false,
"value": "ImageGenerator",
"password": false,
"name": "name",
"type": "str",
"list": false
},
"description": {
"required": true,
"placeholder": "",
"show": true,
"multiline": false,
"value": "Use this to pass a prompt and generate an image with DALL-E2",
"password": false,
"name": "description",
"type": "str",
"list": false
},
"func": {
"required": true,
"placeholder": "",
"show": true,
"multiline": false,
"password": false,
"name": "func",
"type": "function",
"list": false
},
"return_direct": {
"required": true,
"placeholder": "",
"show": true,
"multiline": false,
"value": true,
"password": false,
"name": "return_direct",
"type": "bool",
"list": false
},
"_type": "Tool"
},
"description": "Tool to be used in the flow.",
"base_classes": [
"Tool"
]
},
"id": "dndnode_1",
"value": null
},
"selected": false,
"positionAbsolute": {
"x": 330,
"y": 552
},
"dragging": false
},
{
"width": 384,
"height": 473,
"id": "dndnode_3",
"type": "genericNode",
"position": {
"x": 920,
"y": 598
},
"data": {
"type": "initialize_agent",
"node": {
"template": {
"agent": {
"required": true,
"placeholder": "",
"show": true,
"multiline": false,
"value": "zero-shot-react-description",
"password": false,
"options": [
"zero-shot-react-description",
"react-docstore",
"self-ask-with-search",
"conversational-react-description"
],
"name": "agent",
"type": "str",
"list": true
},
"memory": {
"required": false,
"placeholder": "",
"show": true,
"multiline": false,
"password": false,
"name": "memory",
"type": "BaseChatMemory",
"list": false
},
"tools": {
"required": false,
"placeholder": "",
"show": true,
"multiline": false,
"password": false,
"name": "tools",
"type": "Tool",
"list": true
},
"llm": {
"required": true,
"placeholder": "",
"show": true,
"multiline": false,
"password": false,
"name": "llm",
"type": "BaseLanguageModel",
"list": false
},
"_type": "initailize_agent"
},
"description": "Construct a json agent from an LLM and tools.",
"base_classes": [
"AgentExecutor"
]
},
"id": "dndnode_3",
"value": null
},
"selected": false,
"positionAbsolute": {
"x": 920,
"y": 598
},
"dragging": false
},
{
"width": 384,
"height": 673,
"id": "dndnode_4",
"type": "genericNode",
"position": {
"x": 326,
"y": 1130
},
"data": {
"type": "OpenAI",
"node": {
"template": {
"cache": {
"required": false,
"placeholder": "",
"show": false,
"multiline": false,
"password": false,
"name": "cache",
"type": "bool",
"list": false
},
"verbose": {
"required": false,
"placeholder": "",
"show": false,
"multiline": false,
"password": false,
"name": "verbose",
"type": "bool",
"list": false
},
"client": {
"required": false,
"placeholder": "",
"show": false,
"multiline": false,
"password": false,
"name": "client",
"type": "Any",
"list": false
},
"model_name": {
"required": false,
"placeholder": "",
"show": true,
"multiline": false,
"value": "text-davinci-003",
"password": false,
"options": [
"text-davinci-003",
"text-davinci-002",
"text-curie-001",
"text-babbage-001",
"text-ada-001"
],
"name": "model_name",
"type": "str",
"list": true
},
"temperature": {
"required": false,
"placeholder": "",
"show": true,
"multiline": false,
"value": "0.0",
"password": false,
"name": "temperature",
"type": "float",
"list": false
},
"max_tokens": {
"required": false,
"placeholder": "",
"show": true,
"multiline": false,
"value": 256,
"password": true,
"name": "max_tokens",
"type": "int",
"list": false
},
"top_p": {
"required": false,
"placeholder": "",
"show": false,
"multiline": false,
"value": 1,
"password": false,
"name": "top_p",
"type": "float",
"list": false
},
"frequency_penalty": {
"required": false,
"placeholder": "",
"show": false,
"multiline": false,
"value": 0,
"password": false,
"name": "frequency_penalty",
"type": "float",
"list": false
},
"presence_penalty": {
"required": false,
"placeholder": "",
"show": false,
"multiline": false,
"value": 0,
"password": false,
"name": "presence_penalty",
"type": "float",
"list": false
},
"n": {
"required": false,
"placeholder": "",
"show": false,
"multiline": false,
"value": 1,
"password": false,
"name": "n",
"type": "int",
"list": false
},
"best_of": {
"required": false,
"placeholder": "",
"show": false,
"multiline": false,
"value": 1,
"password": false,
"name": "best_of",
"type": "int",
"list": false
},
"model_kwargs": {
"required": false,
"placeholder": "",
"show": true,
"multiline": false,
"password": false,
"name": "model_kwargs",
"type": "code",
"list": false
},
"openai_api_key": {
"required": true,
"placeholder": "",
"show": true,
"multiline": false,
"value": "sk-",
"password": true,
"name": "openai_api_key",
"display_name": "OpenAI API Key",
"type": "str",
"list": false
},
"batch_size": {
"required": false,
"placeholder": "",
"show": false,
"multiline": false,
"value": 20,
"password": false,
"name": "batch_size",
"type": "int",
"list": false
},
"request_timeout": {
"required": false,
"placeholder": "",
"show": false,
"multiline": false,
"password": false,
"name": "request_timeout",
"type": "Union[float, Tuple[float, float], NoneType]",
"list": false
},
"logit_bias": {
"required": false,
"placeholder": "",
"show": false,
"multiline": false,
"password": false,
"name": "logit_bias",
"type": "code",
"list": false
},
"max_retries": {
"required": false,
"placeholder": "",
"show": false,
"multiline": false,
"value": 6,
"password": false,
"name": "max_retries",
"type": "int",
"list": false
},
"streaming": {
"required": false,
"placeholder": "",
"show": false,
"multiline": false,
"value": false,
"password": false,
"name": "streaming",
"type": "bool",
"list": false
},
"_type": "OpenAI"
},
"description": "Generic OpenAI class that uses model name.",
"base_classes": [
"OpenAI",
"BaseLLM",
"BaseOpenAI",
"BaseLanguageModel"
]
},
"id": "dndnode_4",
"value": null
},
"selected": false,
"positionAbsolute": {
"x": 326,
"y": 1130
},
"dragging": false
},
{
"width": 384,
"height": 349,
"id": "dndnode_7",
"type": "genericNode",
"position": {
"x": -378,
"y": 786
},
"data": {
"type": "PythonFunction",
"node": {
"template": {
"code": {
"required": true,
"placeholder": "",
"show": true,
"multiline": true,
"value": "import openai\nfrom langflow import cache_manager\nimport io\nimport base64\nimport os\nfrom PIL import Image\n\ndef create_image(prompt: str) -> str:\n openai.api_key = os.getenv(\"OPENAI_API_KEY\")\n\n response = openai.Image.create(\n prompt=prompt,\n n=1,\n size=\"256x256\",\n response_format=\"b64_json\",\n )\n # load the image\n for image_dict in response[\"data\"]:\n image_data = base64.b64decode(image_dict[\"b64_json\"])\n # Cache image in LangFlow\n cache_manager.add_image(\"webinar\", Image.open(io.BytesIO(image_data)))\n # save the image to disk\n with open(\"image.png\", \"wb\") as f:\n f.write(image_data)\n \n\n return \"Image generated!\"",
"password": false,
"name": "code",
"type": "code",
"list": false
},
"_type": "python_function"
},
"description": "Python function to be executed.",
"base_classes": [
"function"
]
},
"id": "dndnode_7",
"value": null
},
"selected": true,
"positionAbsolute": {
"x": -378,
"y": 786
},
"dragging": false
},
{
"width": 384,
"height": 357,
"id": "dndnode_8",
"type": "genericNode",
"position": {
"x": 312,
"y": 152
},
"data": {
"type": "ConversationBufferMemory",
"node": {
"template": {
"chat_memory": {
"required": false,
"placeholder": "",
"show": false,
"multiline": false,
"password": false,
"name": "chat_memory",
"type": "BaseChatMessageHistory",
"list": false
},
"output_key": {
"required": false,
"placeholder": "",
"show": false,
"multiline": false,
"password": false,
"name": "output_key",
"type": "str",
"list": false
},
"input_key": {
"required": false,
"placeholder": "",
"show": false,
"multiline": false,
"password": false,
"name": "input_key",
"type": "str",
"list": false
},
"return_messages": {
"required": false,
"placeholder": "",
"show": false,
"multiline": false,
"password": false,
"name": "return_messages",
"type": "bool",
"list": false
},
"human_prefix": {
"required": false,
"placeholder": "",
"show": false,
"multiline": false,
"value": "Human",
"password": false,
"name": "human_prefix",
"type": "str",
"list": false
},
"ai_prefix": {
"required": false,
"placeholder": "",
"show": false,
"multiline": false,
"value": "AI",
"password": false,
"name": "ai_prefix",
"type": "str",
"list": false
},
"memory_key": {
"required": false,
"placeholder": "",
"show": true,
"multiline": false,
"value": "history",
"password": false,
"name": "memory_key",
"type": "str",
"list": false
},
"_type": "ConversationBufferMemory"
},
"description": "Buffer for storing conversation memory.",
"base_classes": [
"BaseMemory",
"BaseChatMemory",
"ConversationBufferMemory"
]
},
"id": "dndnode_8",
"value": null
},
"selected": false,
"positionAbsolute": {
"x": 312,
"y": 152
},
"dragging": false
}
],
"edges": [
{
"source": "dndnode_7",
"sourceHandle": "PythonFunction|dndnode_7|function",
"target": "dndnode_1",
"targetHandle": "function|func|dndnode_1",
"className": "animate-pulse",
"id": "reactflow__edge-dndnode_7PythonFunction|dndnode_7|function-dndnode_1function|func|dndnode_1"
},
{
"source": "dndnode_1",
"sourceHandle": "Tool|dndnode_1|Tool",
"target": "dndnode_3",
"targetHandle": "Tool|tools|dndnode_3",
"className": "animate-pulse",
"id": "reactflow__edge-dndnode_1Tool|dndnode_1|Tool-dndnode_3Tool|tools|dndnode_3"
},
{
"source": "dndnode_4",
"sourceHandle": "OpenAI|dndnode_4|OpenAI|BaseLLM|BaseOpenAI|BaseLanguageModel",
"target": "dndnode_3",
"targetHandle": "BaseLanguageModel|llm|dndnode_3",
"className": "animate-pulse",
"id": "reactflow__edge-dndnode_4OpenAI|dndnode_4|OpenAI|BaseLLM|BaseOpenAI|BaseLanguageModel-dndnode_3BaseLanguageModel|llm|dndnode_3"
},
{
"source": "dndnode_8",
"sourceHandle": "ConversationBufferMemory|dndnode_8|BaseMemory|BaseChatMemory|ConversationBufferMemory",
"target": "dndnode_3",
"targetHandle": "BaseChatMemory|memory|dndnode_3",
"className": "animate-pulse",
"id": "reactflow__edge-dndnode_8ConversationBufferMemory|dndnode_8|BaseMemory|BaseChatMemory|ConversationBufferMemory-dndnode_3BaseChatMemory|memory|dndnode_3"
}
],
"viewport": {
"x": 603,
"y": -468,
"zoom": 1
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment