langchain-ai / langchain

🦜🔗 Build context-aware reasoning applications
https://python.langchain.com
MIT License
94.55k stars 15.29k forks source link

Proposal for an ecosystem of tools to extend langchain #2818

Closed Javakky closed 1 year ago

Javakky commented 1 year ago

Please discuss with me the best practices for creating and sharing tools on langchain. I am developing a library, langchain-tools-nicovideo, to combine with LangChain for obtaining information from nicovideo (Japanese video sharing site for otaku)

langchain already has several built-in tools, but by allowing developers experienced with data sources and API usage to freely create and share tools, we can expand the possibilities even further.

Could you please review and discuss the following proposed best practices for people who want to create and share their own tools?

1. A bulletin board for promoting homemade tools.

<!-- GitHub or PyPI link -->
- [Javakky/langchain-tools-nicovideo](https://github.com/Javakky/langchain-tools-nicovideo) 

2. Prefix to declare that it is a tool.

3. By setting the configuration, you can easily add any tools to load_tools.

tools = load_tools(["requests_all"], llm=llm)
tools.append(NicovideoQueryRun(api_wrapper=NicovideoSnapshotApiWrapper()))
SwiftAdviser commented 1 year ago

I think regarding the first point, we as a community can create an "awesome-langchain" repo with many libraries, like many other ecosystems do:

Ah, here is an example of that: https://github.com/kyrolabs/awesome-langchain

lambrou commented 1 year ago

What about adding a tools section to https://github.com/hwchase17/langchain-hub - maybe this issue could be raised there.

dosubot[bot] commented 1 year ago

Hi, @Javakky! I'm Dosu, and I'm here to help the LangChain team manage their backlog. I wanted to let you know that we are marking this issue as stale.

From what I understand, you proposed the creation of an ecosystem of tools to extend LangChain, with suggestions such as implementing a bulletin board for promoting homemade tools and allowing users to easily add tools through configuration. SwiftAdviser suggested creating an "awesome-langchain" repository for libraries, and lambrou suggested adding a tools section to langchain-hub. You showed agreement with SwiftAdviser's suggestion and interest in lambrou's suggestion.

Before we close this issue, we wanted to check if it is still relevant to the latest version of the LangChain repository. If it is, please let us know by commenting on the issue. Otherwise, feel free to close the issue yourself or it will be automatically closed in 7 days.

Thank you for your contribution and understanding!