Giter Club home page Giter Club logo

Comments (1)

dosubot avatar dosubot commented on June 20, 2024 4

To resolve the deprecated import warning related to RequestsWrapper in Langflow, you need to update your import statements. Replace the deprecated import with the new one from langchain_community.utilities. Here is how you can update your code:

Replace:

from langchain import RequestsWrapper

With:

from langchain_community.utilities.requests import TextRequestsWrapper

Here is an example of how you can update your code to use TextRequestsWrapper:

from typing import Optional
from langchain_community.utilities.requests import TextRequestsWrapper
from langchain_core.documents import Document
from langflow import CustomComponent
from langflow.services.database.models.base import orjson_dumps

class GetRequest(CustomComponent):
    display_name: str = "GET Request"
    description: str = "Make a GET request to the given URL."
    output_types: list[str] = ["Document"]
    documentation: str = "https://docs.langflow.org/components/utilities#get-request"
    beta: bool = True
    field_config = {
        "url": {
            "display_name": "URL",
            "info": "The URL to make the request to",
            "is_list": True,
        },
        "headers": {
            "display_name": "Headers",
            "info": "The headers to send with the request.",
        },
        "code": {"show": False},
        "timeout": {
            "display_name": "Timeout",
            "field_type": "int",
            "info": "The timeout to use for the request.",
            "value": 5,
        },
    }

    def get_document(self, wrapper: TextRequestsWrapper, url: str, headers: Optional[dict], timeout: int) -> Document:
        try:
            response = wrapper.get(url, headers=headers, timeout=int(timeout))
            try:
                response_json = response.json()
                result = orjson_dumps(response_json, indent_2=False)
            except Exception:
                result = response.text
            self.repr_value = result
            return Document(
                page_content=result,
                metadata={
                    "source": url,
                    "headers": headers,
                    "status_code": response.status_code,
                },
            )
        except requests.Timeout:
            return Document(
                page_content="Request Timed Out",
                metadata={"source": url, "headers": headers, "status_code": 408},
            )
        except Exception as exc:
            return Document(
                page_content=str(exc),
                metadata={"source": url, "headers": headers, "status_code": 500},
            )

    def build(
        self,
        url: str,
        headers: Optional[dict] = None,
        timeout: int = 5,
    ) -> list[Document]:
        if headers is None:
            headers = {}
        urls = url if isinstance(url, list) else [url]
        wrapper = TextRequestsWrapper()
        documents = [self.get_document(wrapper, u, headers, timeout) for u in urls]
        self.repr_value = documents
        return documents

This update should resolve the deprecated import warning related to RequestsWrapper [1].

To continue talking to Dosu, mention @dosu.

from langflow.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.