diff --git a/SonaliAssessmentOnGEnAi b/SonaliAssessmentOnGEnAi new file mode 100644 index 0000000..0fe787a --- /dev/null +++ b/SonaliAssessmentOnGEnAi @@ -0,0 +1 @@ +{"id":"f0bb53cc-61cd-4131-a26e-3b08034d3136","data":{"nodes":[{"width":384,"height":375,"id":"PyPDFLoader-MwTV7","type":"genericNode","position":{"x":-375.83627167979563,"y":19.088913274188343},"data":{"type":"PyPDFLoader","node":{"template":{"file_path":{"required":true,"placeholder":"","show":true,"multiline":false,"value":"sonali_de.pdf","suffixes":[".pdf"],"password":false,"name":"file_path","advanced":false,"input_types":["Input"],"dynamic":false,"info":"","type":"file","list":false,"fileTypes":["pdf"],"file_path":"/mnt/models/files/f0bb53cc-61cd-4131-a26e-3b08034d3136/d5ac6b17764daaddbe3c4ecc152b2a08535b81cd0b3ad819c2f17ad053dd04f6.pdf"},"file_size":{"required":true,"placeholder":"","show":true,"multiline":false,"value":20,"password":false,"name":"file_size","display_name":"Fize Size","advanced":true,"dynamic":false,"info":"","type":"int","list":false},"metadata":{"required":false,"placeholder":"","show":true,"multiline":false,"value":[{"":""}],"password":false,"name":"metadata","display_name":"Metadata","advanced":false,"dynamic":false,"info":"","type":"dict","list":false},"_type":"PyPDFLoader"},"description":"Load PDF using pypdf into list of documents.","base_classes":["Document"],"display_name":"PyPDFLoader","custom_fields":{},"output_types":["Document"],"documentation":"https://docs.aiplanet.com/components/document-loaders#pypdfloader","beta":false,"error":null},"id":"PyPDFLoader-MwTV7"},"selected":false,"dragging":false,"positionAbsolute":{"x":-375.83627167979563,"y":19.088913274188343}},{"width":384,"height":501,"id":"RecursiveCharacterTextSplitter-D49Hf","type":"genericNode","position":{"x":227.1640873840388,"y":43.76066667842758},"data":{"type":"RecursiveCharacterTextSplitter","node":{"template":{"code":{"dynamic":true,"required":true,"placeholder":"","show":false,"multiline":true,"value":"from typing import Optional\nfrom genflow import CustomComponent\nfrom langchain.schema import Document\nfrom genflow.utils.util import build_loader_repr_from_documents\n\n\nclass RecursiveCharacterTextSplitterComponent(CustomComponent):\n display_name: str = \"Recursive Character Text Splitter\"\n description: str = \"Split text into chunks of a specified length.\"\n documentation: str = \"https://docs.aiplanet.com/components/text-splitters#recursivecharactertextsplitter\"\n \n def build_config(self):\n return {\n \"documents\": {\n \"display_name\": \"Documents\",\n \"info\": \"The documents to split.\",\n },\n \"separators\": {\n \"display_name\": \"Separators\",\n \"info\": 'The characters to split on.\\nIf left empty defaults to [\"\\\\n\\\\n\", \"\\\\n\", \" \", \"\"].',\n \"is_list\": True,\n },\n \"chunk_size\": {\n \"display_name\": \"Chunk Size\",\n \"info\": \"The maximum length of each chunk.\",\n \"field_type\": \"int\",\n \"value\": 1000,\n },\n \"chunk_overlap\": {\n \"display_name\": \"Chunk Overlap\",\n \"info\": \"The amount of overlap between chunks.\",\n \"field_type\": \"int\",\n \"value\": 200,\n },\n \"code\": {\"show\": False},\n }\n\n def build(\n self,\n documents: list[Document],\n separators: Optional[list[str]] = None,\n chunk_size: Optional[int] = 1000,\n chunk_overlap: Optional[int] = 200,\n ) -> list[Document]:\n \"\"\"\n Split text into chunks of a specified length.\n\n Args:\n separators (list[str]): The characters to split on.\n chunk_size (int): The maximum length of each chunk.\n chunk_overlap (int): The amount of overlap between chunks.\n length_function (function): The function to use to calculate the length of the text.\n\n Returns:\n list[str]: The chunks of text.\n \"\"\"\n from langchain.text_splitter import RecursiveCharacterTextSplitter\n\n if separators == \"\":\n separators = None\n elif separators:\n # check if the separators list has escaped characters\n # if there are escaped characters, unescape them\n separators = [x.encode().decode(\"unicode-escape\") for x in separators]\n\n # Make sure chunk_size and chunk_overlap are ints\n if isinstance(chunk_size, str):\n chunk_size = int(chunk_size)\n if isinstance(chunk_overlap, str):\n chunk_overlap = int(chunk_overlap)\n splitter = RecursiveCharacterTextSplitter(\n separators=separators,\n chunk_size=chunk_size,\n chunk_overlap=chunk_overlap,\n )\n\n docs = splitter.split_documents(documents)\n self.repr_value = build_loader_repr_from_documents(docs)\n return docs\n","password":false,"name":"code","advanced":false,"type":"code","list":false},"_type":"CustomComponent","chunk_overlap":{"required":false,"placeholder":"","show":true,"multiline":false,"value":200,"password":false,"name":"chunk_overlap","display_name":"Chunk Overlap","advanced":false,"dynamic":false,"info":"The amount of overlap between chunks.","type":"int","list":false},"chunk_size":{"required":false,"placeholder":"","show":true,"multiline":false,"value":1000,"password":false,"name":"chunk_size","display_name":"Chunk Size","advanced":false,"dynamic":false,"info":"The maximum length of each chunk.","type":"int","list":false},"documents":{"required":true,"placeholder":"","show":true,"multiline":false,"password":false,"name":"documents","display_name":"Documents","advanced":false,"dynamic":false,"info":"The documents to split.","type":"Document","list":true},"separators":{"required":false,"placeholder":"","show":true,"multiline":false,"password":false,"name":"separators","display_name":"Separators","advanced":false,"dynamic":false,"info":"The characters to split on.\nIf left empty defaults to [\"\\n\\n\", \"\\n\", \" \", \"\"].","type":"str","list":true}},"description":"Split text into chunks of a specified length.","base_classes":["Document"],"display_name":"Recursive Character Text Splitter","custom_fields":{"chunk_overlap":null,"chunk_size":null,"documents":null,"separators":null},"output_types":["RecursiveCharacterTextSplitter"],"documentation":"https://docs.aiplanet.com/components/text-splitters#recursivecharactertextsplitter","beta":true,"error":null},"id":"RecursiveCharacterTextSplitter-D49Hf"},"selected":false,"positionAbsolute":{"x":227.1640873840388,"y":43.76066667842758},"dragging":false},{"width":384,"height":387,"id":"HuggingFaceEmbeddingInferenceAPI-tmFx1","type":"genericNode","position":{"x":-17.747629736926,"y":643.0889912624864},"data":{"type":"HuggingFaceEmbeddingInferenceAPI","node":{"template":{"code":{"dynamic":true,"required":true,"placeholder":"","show":false,"multiline":true,"value":"from genflow import CustomComponent\nfrom langchain.embeddings.base import Embeddings\nfrom langchain.embeddings import HuggingFaceInferenceAPIEmbeddings\n\n\nclass HuggingFaceInferenceAPIEmbeddingsComponent(CustomComponent):\n display_name: str = \"HuggingFaceInferenceAPI Embeddings\"\n description: str = \"\"\"Access HuggingFaceEmbedding model via inference api,download models locally.\"\"\"\n documentation: str = \"https://docs.aiplanet.com/components/embeddings#huggingface-inference-api-embeddings\"\n beta = False\n\n def build_config(self):\n return {\n \"inference_api_key\": {\n \"display_name\": \"Inference API Key\",\n \"is_list\": False,\n \"required\": True,\n \"value\": \"\",\n },\n \"model_name\": {\n \"display_name\": \"Model Name\",\n \"is_list\": False,\n \"required\": True,\n \"value\": \"\",\n },\n \"code\": {\"show\": False},\n }\n\n def build(self, inference_api_key: str, model_name: str) -> Embeddings:\n return HuggingFaceInferenceAPIEmbeddings(\n api_key=inference_api_key, model_name=model_name\n )\n","password":false,"name":"code","advanced":false,"type":"code","list":false},"_type":"CustomComponent","inference_api_key":{"required":true,"placeholder":"","show":true,"multiline":false,"value":"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","password":false,"name":"inference_api_key","display_name":"Inference API Key","advanced":false,"dynamic":false,"info":"","type":"str","list":false},"model_name":{"required":true,"placeholder":"","show":true,"multiline":false,"value":"BAAI/bge-large-en-v1.5","password":false,"name":"model_name","display_name":"Model Name","advanced":false,"dynamic":false,"info":"","type":"str","list":false}},"description":"Access HuggingFaceEmbedding model via inference api,download models locally.","base_classes":["Embeddings"],"display_name":"HuggingFaceInferenceAPI Embeddings","custom_fields":{"inference_api_key":null,"model_name":null},"output_types":["HuggingFaceEmbeddingInferenceAPI"],"documentation":"https://docs.aiplanet.com/components/embeddings#huggingface-inference-api-embeddings","beta":false,"error":null},"id":"HuggingFaceEmbeddingInferenceAPI-tmFx1"},"selected":false,"positionAbsolute":{"x":-17.747629736926,"y":643.0889912624864},"dragging":false},{"width":384,"height":291,"id":"Chroma-foGoJ","type":"genericNode","position":{"x":764.999426977248,"y":497.0035943024951},"data":{"type":"Chroma","node":{"template":{"code":{"dynamic":true,"required":true,"placeholder":"","show":false,"multiline":true,"value":"from typing import Optional, Union\nfrom genflow import CustomComponent\n\nfrom langchain.vectorstores.chroma import Chroma\nfrom langchain.schema import Document\nfrom langchain.vectorstores.base import VectorStore\nfrom langchain.schema import BaseRetriever\nfrom langchain.embeddings.base import Embeddings\nimport chromadb # type: ignore\n\n\nclass ChromaComponent(CustomComponent):\n \"\"\"\n A custom component for implementing a Vector Store using Chroma.\n \"\"\"\n\n display_name: str = \"Chroma\"\n description: str = \"Implementation of Vector Store using Chroma\"\n documentation = \"https://docs.aiplanet.com/components/vector-store#chroma\"\n beta: bool = True\n\n def build_config(self):\n \"\"\"\n Builds the configuration for the component.\n\n Returns:\n - dict: A dictionary containing the configuration options for the component.\n \"\"\"\n return {\n \"collection_name\": {\n \"display_name\": \"Collection Name\",\n \"value\": \"genflow\",\n \"required\": False,\n \"advanced\": True,\n },\n \"persist\": {\n \"display_name\": \"Persist\",\n \"value\": True,\n \"required\": False,\n \"advanced\": True,\n },\n \"persist_directory\": {\n \"display_name\": \"Persist Directory\",\n \"value\": \"/mnt/models/chroma\",\n \"required\": False,\n \"advanced\": True,\n },\n \"code\": {\"show\": False, \"display_name\": \"Code\"},\n \"documents\": {\"display_name\": \"Documents\", \"is_list\": True},\n \"embedding\": {\"display_name\": \"Embedding\"},\n \"chroma_server_cors_allow_origins\": {\n \"display_name\": \"Server CORS Allow Origins\",\n \"advanced\": True,\n },\n \"chroma_server_host\": {\"display_name\": \"Server Host\", \"advanced\": True},\n \"chroma_server_port\": {\"display_name\": \"Server Port\", \"advanced\": True},\n \"chroma_server_grpc_port\": {\n \"display_name\": \"Server gRPC Port\",\n \"advanced\": True,\n },\n \"chroma_server_ssl_enabled\": {\n \"display_name\": \"Server SSL Enabled\",\n \"advanced\": True,\n },\n }\n\n def build(\n self,\n chroma_server_ssl_enabled: bool,\n collection_name: Optional[str] = \"genflow\",\n persist: Optional[bool] = True,\n persist_directory: Optional[str] = \"/mnt/models/chroma\",\n embedding: Optional[Embeddings] = None,\n documents: Optional[Document] = None,\n chroma_server_cors_allow_origins: Optional[str] = None,\n chroma_server_host: Optional[str] = None,\n chroma_server_port: Optional[int] = None,\n chroma_server_grpc_port: Optional[int] = None,\n ) -> Union[VectorStore, BaseRetriever]:\n \"\"\"\n Builds the Vector Store or BaseRetriever object.\n\n Args:\n - collection_name (str): The name of the collection.\n - persist_directory (Optional[str]): The directory to persist the Vector Store to.\n - chroma_server_ssl_enabled (bool): Whether to enable SSL for the Chroma server.\n - persist (bool): Whether to persist the Vector Store or not.\n - embedding (Optional[Embeddings]): The embeddings to use for the Vector Store.\n - documents (Optional[Document]): The documents to use for the Vector Store.\n - chroma_server_cors_allow_origins (Optional[str]): The CORS allow origins for the Chroma server.\n - chroma_server_host (Optional[str]): The host for the Chroma server.\n - chroma_server_port (Optional[int]): The port for the Chroma server.\n - chroma_server_grpc_port (Optional[int]): The gRPC port for the Chroma server.\n\n Returns:\n - Union[VectorStore, BaseRetriever]: The Vector Store or BaseRetriever object.\n \"\"\"\n\n # Chroma settings\n chroma_settings = None\n\n if chroma_server_host is not None:\n chroma_settings = chromadb.config.Settings(\n chroma_server_cors_allow_origins=chroma_server_cors_allow_origins\n or None,\n chroma_server_host=chroma_server_host,\n chroma_server_port=chroma_server_port or None,\n chroma_server_grpc_port=chroma_server_grpc_port or None,\n chroma_server_ssl_enabled=chroma_server_ssl_enabled,\n )\n\n # If documents, then we need to create a Chroma instance using .from_documents\n if documents is not None and embedding is not None:\n return Chroma.from_documents(\n documents=documents, # type: ignore\n persist_directory=persist_directory if persist else None,\n collection_name=collection_name,\n embedding=embedding,\n client_settings=chroma_settings,\n )\n\n if embedding is not None:\n return Chroma(\n persist_directory=persist_directory,\n client_settings=chroma_settings,\n embedding_function=embedding,\n collection_name=collection_name,\n )\n\n return Chroma(\n persist_directory=persist_directory, client_settings=chroma_settings\n )\n","password":false,"name":"code","advanced":false,"type":"code","list":false},"_type":"CustomComponent","chroma_server_cors_allow_origins":{"required":false,"placeholder":"","show":true,"multiline":false,"password":false,"name":"chroma_server_cors_allow_origins","display_name":"Server CORS Allow Origins","advanced":true,"dynamic":false,"info":"","type":"str","list":false},"chroma_server_grpc_port":{"required":false,"placeholder":"","show":true,"multiline":false,"password":false,"name":"chroma_server_grpc_port","display_name":"Server gRPC Port","advanced":true,"dynamic":false,"info":"","type":"int","list":false},"chroma_server_host":{"required":false,"placeholder":"","show":true,"multiline":false,"password":false,"name":"chroma_server_host","display_name":"Server Host","advanced":true,"dynamic":false,"info":"","type":"str","list":false},"chroma_server_port":{"required":false,"placeholder":"","show":true,"multiline":false,"password":false,"name":"chroma_server_port","display_name":"Server Port","advanced":true,"dynamic":false,"info":"","type":"int","list":false},"chroma_server_ssl_enabled":{"required":true,"placeholder":"","show":true,"multiline":false,"value":false,"password":false,"name":"chroma_server_ssl_enabled","display_name":"Server SSL Enabled","advanced":true,"dynamic":false,"info":"","type":"bool","list":false},"collection_name":{"required":false,"placeholder":"","show":true,"multiline":false,"value":"genflow","password":false,"name":"collection_name","display_name":"Collection Name","advanced":true,"dynamic":false,"info":"","type":"str","list":false},"documents":{"required":false,"placeholder":"","show":true,"multiline":false,"password":false,"name":"documents","display_name":"Documents","advanced":false,"dynamic":false,"info":"","type":"Document","list":true},"embedding":{"required":false,"placeholder":"","show":true,"multiline":false,"password":false,"name":"embedding","display_name":"Embedding","advanced":false,"dynamic":false,"info":"","type":"Embeddings","list":false},"persist":{"required":false,"placeholder":"","show":true,"multiline":false,"value":true,"password":false,"name":"persist","display_name":"Persist","advanced":true,"dynamic":false,"info":"","type":"bool","list":false},"persist_directory":{"required":false,"placeholder":"","show":true,"multiline":false,"value":"/mnt/models/chroma","password":false,"name":"persist_directory","display_name":"Persist Directory","advanced":true,"dynamic":false,"info":"","type":"str","list":false}},"description":"Implementation of Vector Store using Chroma","base_classes":["VectorStore","BaseRetriever"],"display_name":"Chroma","custom_fields":{"chroma_server_cors_allow_origins":null,"chroma_server_grpc_port":null,"chroma_server_host":null,"chroma_server_port":null,"chroma_server_ssl_enabled":null,"collection_name":null,"documents":null,"embedding":null,"persist":null,"persist_directory":null},"output_types":["Chroma"],"documentation":"https://docs.aiplanet.com/components/vector-store#chroma","beta":true,"error":null},"id":"Chroma-foGoJ"},"selected":false,"positionAbsolute":{"x":764.999426977248,"y":497.0035943024951},"dragging":false},{"width":384,"height":339,"id":"RetrievalQA-jef94","type":"genericNode","position":{"x":1511.382054280066,"y":153.69217893427987},"data":{"type":"RetrievalQA","node":{"template":{"callbacks":{"required":false,"placeholder":"","show":false,"multiline":false,"password":false,"name":"callbacks","advanced":false,"dynamic":false,"info":"","type":"langchain.callbacks.base.BaseCallbackHandler","list":true},"combine_documents_chain":{"required":true,"placeholder":"","show":true,"multiline":false,"password":false,"name":"combine_documents_chain","advanced":false,"dynamic":false,"info":"","type":"BaseCombineDocumentsChain","list":false},"memory":{"required":false,"placeholder":"","show":true,"multiline":false,"password":false,"name":"memory","advanced":false,"dynamic":false,"info":"","type":"BaseMemory","list":false},"retriever":{"required":true,"placeholder":"","show":true,"multiline":false,"password":false,"name":"retriever","advanced":false,"dynamic":false,"info":"","type":"BaseRetriever","list":false},"input_key":{"required":true,"placeholder":"","show":true,"multiline":false,"value":"query","password":false,"name":"input_key","advanced":true,"dynamic":false,"info":"","type":"str","list":false},"metadata":{"required":false,"placeholder":"","show":false,"multiline":false,"password":false,"name":"metadata","advanced":false,"dynamic":false,"info":"","type":"dict","list":false},"output_key":{"required":true,"placeholder":"","show":true,"multiline":false,"value":"result","password":false,"name":"output_key","advanced":true,"dynamic":false,"info":"","type":"str","list":false},"return_source_documents":{"required":false,"placeholder":"","show":true,"multiline":false,"value":true,"password":false,"name":"return_source_documents","advanced":true,"dynamic":false,"info":"","type":"bool","list":false},"tags":{"required":false,"placeholder":"","show":false,"multiline":false,"password":false,"name":"tags","advanced":false,"dynamic":false,"info":"","type":"str","list":true},"verbose":{"required":false,"placeholder":"","show":false,"multiline":false,"password":false,"name":"verbose","advanced":true,"dynamic":false,"info":"","type":"bool","list":false},"_type":"RetrievalQA"},"description":"Chain for question-answering against an index.","base_classes":["RetrievalQA","BaseRetrievalQA","Chain","Callable"],"display_name":"RetrievalQA","custom_fields":{},"output_types":[],"documentation":"https://docs.aiplanet.com/components/chains#retrievalqa-chain","beta":false,"error":null},"id":"RetrievalQA-jef94"},"selected":false,"positionAbsolute":{"x":1511.382054280066,"y":153.69217893427987},"dragging":false},{"width":384,"height":333,"id":"CombineDocsChain-6RsoJ","type":"genericNode","position":{"x":864.2108284092188,"y":-376.3483431586931},"data":{"type":"CombineDocsChain","node":{"template":{"llm":{"required":true,"placeholder":"","show":true,"multiline":false,"password":false,"name":"llm","display_name":"LLM","advanced":false,"dynamic":false,"info":"","type":"BaseLanguageModel","list":false},"chain_type":{"required":true,"placeholder":"","show":true,"multiline":false,"value":"stuff","password":false,"options":["stuff","map_reduce","map_rerank","refine"],"name":"chain_type","advanced":false,"dynamic":false,"info":"","type":"str","list":true},"_type":"load_qa_chain"},"description":"Load question answering chain.","base_classes":["BaseCombineDocumentsChain","Callable"],"display_name":"CombineDocsChain","custom_fields":{},"output_types":[],"documentation":"","beta":false,"error":null},"id":"CombineDocsChain-6RsoJ"},"selected":false,"positionAbsolute":{"x":864.2108284092188,"y":-376.3483431586931},"dragging":false},{"width":384,"height":367,"id":"HuggingFaceHub-Csul2","type":"genericNode","position":{"x":188.70103226466915,"y":-432.1864104914144},"data":{"type":"HuggingFaceHub","node":{"template":{"callbacks":{"required":false,"placeholder":"","show":false,"multiline":false,"password":false,"name":"callbacks","advanced":false,"dynamic":false,"info":"","type":"langchain.callbacks.base.BaseCallbackHandler","list":true},"cache":{"required":false,"placeholder":"","show":false,"multiline":false,"password":false,"name":"cache","advanced":false,"dynamic":false,"info":"","type":"bool","list":false},"client":{"required":false,"placeholder":"","show":false,"multiline":false,"password":false,"name":"client","advanced":false,"dynamic":false,"info":"","type":"Any","list":false},"huggingfacehub_api_token":{"required":false,"placeholder":"","show":true,"multiline":false,"password":true,"name":"huggingfacehub_api_token","display_name":"HuggingFace Hub API Token","advanced":false,"dynamic":false,"info":"","type":"str","list":false,"value":"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"},"metadata":{"required":false,"placeholder":"","show":false,"multiline":false,"password":false,"name":"metadata","advanced":false,"dynamic":false,"info":"","type":"dict","list":false},"model_kwargs":{"required":false,"placeholder":"","show":true,"multiline":false,"password":false,"name":"model_kwargs","advanced":true,"dynamic":false,"info":"","type":"dict","list":false},"repo_id":{"required":false,"placeholder":"","show":true,"multiline":false,"value":"HuggingFaceH4/zephyr-7b-alpha","password":false,"name":"repo_id","advanced":false,"dynamic":false,"info":"","type":"str","list":false},"tags":{"required":false,"placeholder":"","show":false,"multiline":false,"password":false,"name":"tags","advanced":false,"dynamic":false,"info":"","type":"str","list":true},"task":{"required":true,"placeholder":"","show":true,"multiline":false,"value":"text-generation","password":false,"options":["text-generation","text2text-generation","summarization"],"name":"task","advanced":true,"dynamic":false,"info":"","type":"str","list":true},"verbose":{"required":false,"placeholder":"","show":false,"multiline":false,"value":false,"password":false,"name":"verbose","advanced":false,"dynamic":false,"info":"","type":"bool","list":false},"_type":"HuggingFaceHub"},"description":"HuggingFaceHub models.","base_classes":["BaseLanguageModel","LLM","HuggingFaceHub","BaseLLM"],"display_name":"HuggingFaceHub","custom_fields":{},"output_types":[],"documentation":"https://docs.aiplanet.com/components/large-language-models#huggingfacehub","beta":false,"error":null},"id":"HuggingFaceHub-Csul2"},"selected":false,"positionAbsolute":{"x":188.70103226466915,"y":-432.1864104914144},"dragging":false}],"edges":[{"source":"PyPDFLoader-MwTV7","sourceHandle":"{œbaseClassesœ:[œDocumentœ],œdataTypeœ:œPyPDFLoaderœ,œidœ:œPyPDFLoader-MwTV7œ}","target":"RecursiveCharacterTextSplitter-D49Hf","targetHandle":"{œfieldNameœ:œdocumentsœ,œidœ:œRecursiveCharacterTextSplitter-D49Hfœ,œinputTypesœ:null,œtypeœ:œDocumentœ}","data":{"targetHandle":{"fieldName":"documents","id":"RecursiveCharacterTextSplitter-D49Hf","inputTypes":null,"type":"Document"},"sourceHandle":{"baseClasses":["Document"],"dataType":"PyPDFLoader","id":"PyPDFLoader-MwTV7"}},"style":{"stroke":"#555"},"className":"stroke-foreground stroke-connection","animated":false,"id":"reactflow__edge-PyPDFLoader-MwTV7{œbaseClassesœ:[œDocumentœ],œdataTypeœ:œPyPDFLoaderœ,œidœ:œPyPDFLoader-MwTV7œ}-RecursiveCharacterTextSplitter-D49Hf{œfieldNameœ:œdocumentsœ,œidœ:œRecursiveCharacterTextSplitter-D49Hfœ,œinputTypesœ:null,œtypeœ:œDocumentœ}"},{"source":"HuggingFaceEmbeddingInferenceAPI-tmFx1","sourceHandle":"{œbaseClassesœ:[œEmbeddingsœ],œdataTypeœ:œHuggingFaceEmbeddingInferenceAPIœ,œidœ:œHuggingFaceEmbeddingInferenceAPI-tmFx1œ}","target":"Chroma-foGoJ","targetHandle":"{œfieldNameœ:œembeddingœ,œidœ:œChroma-foGoJœ,œinputTypesœ:null,œtypeœ:œEmbeddingsœ}","data":{"targetHandle":{"fieldName":"embedding","id":"Chroma-foGoJ","inputTypes":null,"type":"Embeddings"},"sourceHandle":{"baseClasses":["Embeddings"],"dataType":"HuggingFaceEmbeddingInferenceAPI","id":"HuggingFaceEmbeddingInferenceAPI-tmFx1"}},"style":{"stroke":"#555"},"className":"stroke-foreground stroke-connection","animated":false,"id":"reactflow__edge-HuggingFaceEmbeddingInferenceAPI-tmFx1{œbaseClassesœ:[œEmbeddingsœ],œdataTypeœ:œHuggingFaceEmbeddingInferenceAPIœ,œidœ:œHuggingFaceEmbeddingInferenceAPI-tmFx1œ}-Chroma-foGoJ{œfieldNameœ:œembeddingœ,œidœ:œChroma-foGoJœ,œinputTypesœ:null,œtypeœ:œEmbeddingsœ}"},{"source":"RecursiveCharacterTextSplitter-D49Hf","sourceHandle":"{œbaseClassesœ:[œDocumentœ],œdataTypeœ:œRecursiveCharacterTextSplitterœ,œidœ:œRecursiveCharacterTextSplitter-D49Hfœ}","target":"Chroma-foGoJ","targetHandle":"{œfieldNameœ:œdocumentsœ,œidœ:œChroma-foGoJœ,œinputTypesœ:null,œtypeœ:œDocumentœ}","data":{"targetHandle":{"fieldName":"documents","id":"Chroma-foGoJ","inputTypes":null,"type":"Document"},"sourceHandle":{"baseClasses":["Document"],"dataType":"RecursiveCharacterTextSplitter","id":"RecursiveCharacterTextSplitter-D49Hf"}},"style":{"stroke":"#555"},"className":"stroke-foreground stroke-connection","animated":false,"id":"reactflow__edge-RecursiveCharacterTextSplitter-D49Hf{œbaseClassesœ:[œDocumentœ],œdataTypeœ:œRecursiveCharacterTextSplitterœ,œidœ:œRecursiveCharacterTextSplitter-D49Hfœ}-Chroma-foGoJ{œfieldNameœ:œdocumentsœ,œidœ:œChroma-foGoJœ,œinputTypesœ:null,œtypeœ:œDocumentœ}"},{"source":"Chroma-foGoJ","sourceHandle":"{œbaseClassesœ:[œVectorStoreœ,œBaseRetrieverœ],œdataTypeœ:œChromaœ,œidœ:œChroma-foGoJœ}","target":"RetrievalQA-jef94","targetHandle":"{œfieldNameœ:œretrieverœ,œidœ:œRetrievalQA-jef94œ,œinputTypesœ:null,œtypeœ:œBaseRetrieverœ}","data":{"targetHandle":{"fieldName":"retriever","id":"RetrievalQA-jef94","inputTypes":null,"type":"BaseRetriever"},"sourceHandle":{"baseClasses":["VectorStore","BaseRetriever"],"dataType":"Chroma","id":"Chroma-foGoJ"}},"style":{"stroke":"#555"},"className":"stroke-foreground stroke-connection","animated":false,"id":"reactflow__edge-Chroma-foGoJ{œbaseClassesœ:[œVectorStoreœ,œBaseRetrieverœ],œdataTypeœ:œChromaœ,œidœ:œChroma-foGoJœ}-RetrievalQA-jef94{œfieldNameœ:œretrieverœ,œidœ:œRetrievalQA-jef94œ,œinputTypesœ:null,œtypeœ:œBaseRetrieverœ}"},{"source":"CombineDocsChain-6RsoJ","sourceHandle":"{œbaseClassesœ:[œBaseCombineDocumentsChainœ,œCallableœ],œdataTypeœ:œCombineDocsChainœ,œidœ:œCombineDocsChain-6RsoJœ}","target":"RetrievalQA-jef94","targetHandle":"{œfieldNameœ:œcombine_documents_chainœ,œidœ:œRetrievalQA-jef94œ,œinputTypesœ:null,œtypeœ:œBaseCombineDocumentsChainœ}","data":{"targetHandle":{"fieldName":"combine_documents_chain","id":"RetrievalQA-jef94","inputTypes":null,"type":"BaseCombineDocumentsChain"},"sourceHandle":{"baseClasses":["BaseCombineDocumentsChain","Callable"],"dataType":"CombineDocsChain","id":"CombineDocsChain-6RsoJ"}},"style":{"stroke":"#555"},"className":"stroke-foreground stroke-connection","animated":false,"id":"reactflow__edge-CombineDocsChain-6RsoJ{œbaseClassesœ:[œBaseCombineDocumentsChainœ,œCallableœ],œdataTypeœ:œCombineDocsChainœ,œidœ:œCombineDocsChain-6RsoJœ}-RetrievalQA-jef94{œfieldNameœ:œcombine_documents_chainœ,œidœ:œRetrievalQA-jef94œ,œinputTypesœ:null,œtypeœ:œBaseCombineDocumentsChainœ}"},{"source":"HuggingFaceHub-Csul2","sourceHandle":"{œbaseClassesœ:[œBaseLanguageModelœ,œLLMœ,œHuggingFaceHubœ,œBaseLLMœ],œdataTypeœ:œHuggingFaceHubœ,œidœ:œHuggingFaceHub-Csul2œ}","target":"CombineDocsChain-6RsoJ","targetHandle":"{œfieldNameœ:œllmœ,œidœ:œCombineDocsChain-6RsoJœ,œinputTypesœ:null,œtypeœ:œBaseLanguageModelœ}","data":{"targetHandle":{"fieldName":"llm","id":"CombineDocsChain-6RsoJ","inputTypes":null,"type":"BaseLanguageModel"},"sourceHandle":{"baseClasses":["BaseLanguageModel","LLM","HuggingFaceHub","BaseLLM"],"dataType":"HuggingFaceHub","id":"HuggingFaceHub-Csul2"}},"style":{"stroke":"#555"},"className":"stroke-foreground stroke-connection","animated":false,"id":"reactflow__edge-HuggingFaceHub-Csul2{œbaseClassesœ:[œBaseLanguageModelœ,œLLMœ,œHuggingFaceHubœ,œBaseLLMœ],œdataTypeœ:œHuggingFaceHubœ,œidœ:œHuggingFaceHub-Csul2œ}-CombineDocsChain-6RsoJ{œfieldNameœ:œllmœ,œidœ:œCombineDocsChain-6RsoJœ,œinputTypesœ:null,œtypeœ:œBaseLanguageModelœ}"}],"viewport":{"x":343.28420105397964,"y":277.46553029079234,"zoom":0.6428983895258581}},"description":"Assignment 1: Building a stack example on RAG using AI Planet's GenAI Stack.","name":"Sonali Assignment GenAI Stack","flow_type":"chat"}