From f887b423fae2ab96438fe858c217b80c8e3303d8 Mon Sep 17 00:00:00 2001 From: BraisedPork <46232992+braisedpork1964@users.noreply.github.com> Date: Wed, 31 Jan 2024 20:36:57 +0800 Subject: [PATCH] Update README files (#117) * update README * introduce features * add demo --------- Co-authored-by: wangzy --- README.md | 126 ++++++++-------------------------------------- README_KR_Kr.md | 83 ++++-------------------------- README_in_HIN.md | 82 +++--------------------------- README_in_beng.md | 77 +++------------------------- README_ja_JP.md | 79 ++++------------------------- README_zh-CN.md | 89 +++++++------------------------- 6 files changed, 72 insertions(+), 464 deletions(-) diff --git a/README.md b/README.md index b38ba072..7a756389 100644 --- a/README.md +++ b/README.md @@ -20,30 +20,10 @@ English | [简体中文](README_zh-CN.md) | [日本語](README_ja_JP.md) | [ह 👋 join us on 𝕏 (Twitter), Discord and WeChat

-## What's Lagent? - -Lagent is a lightweight open-source framework that allows users to efficiently build large language model(LLM)-based agents. It also provides some typical tools to augment LLM. The overview of our framework is shown below: - -![image](https://github.com/InternLM/lagent/assets/24351120/cefc4145-2ad8-4f80-b88b-97c05d1b9d3e) - -## 💻Tech Stack - -

- - python - - -### Major Features - -**0.1.2** was released in 24/10/2023: - -- **Support an efficient inference engine.** Lagent now supports efficient inference engine [lmdeploy turbomind](https://github.com/InternLM/lmdeploy/tree/main). - -- **Support multiple kinds of agents out of the box.** Lagent now supports [ReAct](https://arxiv.org/abs/2210.03629), [AutoGPT](https://github.com/Significant-Gravitas/Auto-GPT) and [ReWOO](https://arxiv.org/abs/2305.18323), which can drive the large language models(LLMs) for multiple trials of reasoning and function calling. - -- **Extremely simple and easy to extend.** The framework is quite simple with a clear structure. With only 20 lines of code, you are able to construct your own agent. It also supports three typical tools: Python interpreter, API call, and google search. +

-- **Support various large language models.** We support different LLMs, including API-based (GPT-3.5/4) and open-source (LLaMA 2, InternLM) models. + [![Alt text](https://img.youtube.com/vi/YAelRLi0Zak/0.jpg)](https://www.youtube.com/watch?v=YAelRLi0Zak) +
## Getting Started @@ -57,100 +37,36 @@ Install with pip (Recommended). pip install lagent ``` -Optionally, you could also build Lagent from source in case you want to modify the code: +### Run a Web Demo -```bash -git clone https://github.com/InternLM/lagent.git -cd lagent -pip install -e . -``` - -### Run ReAct Web Demo +You need to install Streamlit first. ```bash -# You need to install streamlit first # pip install streamlit -streamlit run examples/react_web_demo.py +streamlit run examples/internlm2_agent_web_demo.py ``` -Then you can chat through the UI shown as below -![image](https://github.com/InternLM/lagent/assets/24622904/3aebb8b4-07d1-42a2-9da3-46080c556f68) - -### Run a ReWOO agent with GPT-3.5 - -Below is an example of running ReWOO with GPT-3.5 - -```python -# Import necessary modules and classes from the "lagent" library. -from lagent.agents import ReWOO -from lagent.actions import ActionExecutor, GoogleSearch -from lagent.llms import GPTAPI +## What's Lagent? -# Initialize the Language Model (llm) and provide your API key. -llm = GPTAPI(model_type='gpt-3.5-turbo', key=['Your OPENAI_API_KEY']) +Lagent is a lightweight open-source framework that allows users to efficiently build large language model(LLM)-based agents. It also provides some typical tools to augment LLM. The overview of our framework is shown below: -# Initialize the Google Search tool and provide your API key. -search_tool = GoogleSearch(api_key='Your SERPER_API_KEY') +![image](https://github.com/InternLM/lagent/assets/24351120/cefc4145-2ad8-4f80-b88b-97c05d1b9d3e) -# Create a chatbot by configuring the ReWOO agent. -chatbot = ReWOO( - llm=llm, # Provide the Language Model instance. - action_executor=ActionExecutor( - actions=[search_tool] # Specify the actions the chatbot can perform. - ), -) +## Major Features -# Ask the chatbot a question and store the response. -response = chatbot.chat('What profession does Nicholas Ray and Elia Kazan have in common') +- Stream Output: Provides the `stream_chat` interface for streaming output, allowing cool streaming demos right at your local setup. +- Interfacing is unified, with a comprehensive design upgrade for enhanced extensibility, including: + - Model: Whether it's the OpenAI API, Transformers, or LMDeploy inference acceleration framework, you can seamlessly switch between models. + - Action: Simple inheritance and decoration allow you to create your own personal toolkit, adaptable to both InternLM and GPT. + - Agent: Consistent with the Model's input interface, the transformation from model to intelligent agent only takes one step, facilitating the exploration and implementation of various agents. +- Documentation has been thoroughly upgraded with full API documentation coverage. -# Print the chatbot's response. -print(response.response) # Output the response generated by the chatbot. ->>> Film director. -``` +## 💻Tech Stack -### Run a ReAct agent with InternLM - -NOTE: If you want to run a HuggingFace model, please run `pip install -e .[all]` first. - -```python -# Import necessary modules and classes from the "lagent" library. -from lagent.agents import ReAct -from lagent.actions import ActionExecutor, GoogleSearch, PythonInterpreter -from lagent.llms import HFTransformer - -from lagent.llms.meta_template import INTERNLM2_META as META - -# Initialize the HFTransformer-based Language Model (llm) and -# provide the model name. -llm = HFTransformer( - path='internlm/internlm2-chat-7b', - meta_template=META -) - -# Initialize the Google Search tool and provide your API key. -search_tool = GoogleSearch( - api_key='Your SERPER_API_KEY') - -# Initialize the Python Interpreter tool. -python_interpreter = PythonInterpreter() - -# Create a chatbot by configuring the ReAct agent. -# Specify the actions the chatbot can perform. -chatbot = ReAct( - llm=llm, # Provide the Language Model instance. - action_executor=ActionExecutor( - actions=[python_interpreter] - ), -) -# Ask the chatbot a mathematical question in LaTeX format. -response = chatbot.chat( - '若$z=-1+\sqrt{3}i$,则$\frac{z}{{z\overline{z}-1}}=\left(\ \ \right)$' -) - -# Print the chatbot's response. -print(response.response) # Output the response generated by the chatbot. ->>> $-\\frac{1}{3}+\\frac{{\\sqrt{3}}}{3}i$ -``` +

+ + python + ### All Thanks To Our Contributors: diff --git a/README_KR_Kr.md b/README_KR_Kr.md index 3453f963..354e70b8 100644 --- a/README_KR_Kr.md +++ b/README_KR_Kr.md @@ -16,23 +16,10 @@ English | [简体中文](README_zh-CN.md) | [日本語](README_ja_JP.md) | [ह 👋 join us on Twitter, Discord and WeChat

-## 소개 - -Lagent는 사용자가 효율적으로 대규모 언어 모델(LLM) 기반 에이전트를 구축할 수 있게 해주는 경량의 오픈 소스 프레임워크입니다. 또한 LLM을 보강하기 위한 몇 가지 일반적인 도구도 제공합니다. 우리 프레임워크의 개요는 아래와 같이 나와 있습니다: - -![image](https://github.com/InternLM/lagent/assets/24351120/cefc4145-2ad8-4f80-b88b-97c05d1b9d3e) - -### 주요 기능 - -**0.1.2** 은 2023년 10월 24일에 릴리스되었습니다: - -- **효율적인 추론 엔진 지원.** Lagent는 이제 효율적인 추론 엔진 [lmdeploy turbomind](https://github.com/InternLM/lmdeploy/tree/main) 을 지원합니다. - -- **다양한 종류의 에이전트를 기본으로 지원.** Lagent는 이제 [ReAct](https://arxiv.org/abs/2210.03629), [AutoGPT](https://github.com/Significant-Gravitas/Auto-GPT) and [ReWOO](https://arxiv.org/abs/2305.18323), 을 지원합니다. 이는 대규모 언어 모델(LLMs)을 이용하여 추론과 기능 호출의 여러 시행을 가능하게 합니다. - -- **매우 간단하고 확장하기 쉽습니다.** 이 프레임워크는 구조가 명확한 간단한 구조를 가지고 있습니다. 20줄의 코드로 자체 에이전트를 구축할 수 있습니다. 또한 Python 인터프리터, API 호출, 구글 검색과 같은 세 가지 일반적인 도구를 지원합니다. +
-- **다양한 대규모 언어 모델 지원.** 우리는 다른 LLMs를 지원하며, API 기반(GPT-3.5/4) 및 오픈 소스 (LLaMA 2, InternLM) 모델을 포함합니다. + [![Alt text](https://img.youtube.com/vi/YAelRLi0Zak/0.jpg)](https://www.youtube.com/watch?v=YAelRLi0Zak) +
## 시작하기 @@ -46,72 +33,20 @@ pip를 사용하여 설치하십시오 (권장). pip install lagent ``` -원하는 경우 코드를 수정하려면 Lagent를 원본에서 빌드할 수도 있습니다: - -```bash -git clone https://github.com/InternLM/lagent.git -cd lagent -pip install -e . -``` +### 웹 데모 실행 -### ReAct 웹 데모 실행 +먼저 streamlit을 설치해야 합니다 ```bash -# 먼저 streamlit을 설치해야 합니다 # pip install streamlit -streamlit run examples/react_web_demo.py +streamlit run examples/internlm2_agent_web_demo.py ``` -그런 다음 아래와 같이 표시된 UI를 통해 채팅할 수 있습니다. -![image](https://github.com/InternLM/lagent/assets/24622904/3aebb8b4-07d1-42a2-9da3-46080c556f68) - -### GPT-3.5로 ReWOO 에이전트 실행 - -아래는 GPT-3.5로 ReWOO를 실행하는 예입니다. - -```python -from lagent.agents import ReWOO -from lagent.actions import ActionExecutor, GoogleSearch, LLMQA -from lagent.llms import GPTAPI - -llm = GPTAPI(model_type='gpt-3.5-turbo', key=['Your OPENAI_API_KEY']) -search_tool = GoogleSearch(api_key='Your SERPER_API_KEY') -llmqa_tool = LLMQA(llm) - -chatbot = ReWOO( - llm=llm, - action_executor=ActionExecutor( - actions=[search_tool, llmqa_tool]), -) - -response = chatbot.chat('What profession does Nicholas Ray and Elia Kazan have in common') -print(response.response) ->>> Film director. -``` - -### InternLM과 함께 ReAct 에이전트 실행 - -참고: HuggingFace 모델을 실행하려면 먼저 pip install -e .[all]을 실행하십시오. - -```python -from lagent.agents import ReAct -from lagent.actions import ActionExecutor, GoogleSearch, PythonInterpreter -from lagent.llms import HFTransformer - -llm = HFTransformer('internlm/internlm-chat-7b-v1_1') -search_tool = GoogleSearch(api_key='Your SERPER_API_KEY') -python_interpreter = PythonInterpreter() +## 소개 -chatbot = ReAct( - llm=llm, - action_executor=ActionExecutor( - actions=[search_tool, python_interpreter]), -) +Lagent는 사용자가 효율적으로 대규모 언어 모델(LLM) 기반 에이전트를 구축할 수 있게 해주는 경량의 오픈 소스 프레임워크입니다. 또한 LLM을 보강하기 위한 몇 가지 일반적인 도구도 제공합니다. 우리 프레임워크의 개요는 아래와 같이 나와 있습니다: -response = chatbot.chat('若$z=-1+\sqrt{3}i$,则$\frac{z}{{z\overline{z}-1}}=\left(\ \ \right)$') -print(response.response) ->>> $-\\frac{1}{3}+\\frac{{\\sqrt{3}}}{3}i$ -``` +![image](https://github.com/InternLM/lagent/assets/24351120/cefc4145-2ad8-4f80-b88b-97c05d1b9d3e) ## 인용 diff --git a/README_in_HIN.md b/README_in_HIN.md index f669f194..5315c235 100644 --- a/README_in_HIN.md +++ b/README_in_HIN.md @@ -12,23 +12,10 @@ English | [简体中文](README_zh-CN.md) | [日本語](README_ja_JP.md) | [ह -

- 👋 Twitter, Discord और WeChat पर हमसे जुड़ें -

- -## परिचय - -Lagent एक हल्का ओपन-सोर्स फ्रेमवर्क है जो उपयोगकर्ताओं को बड़े भाषा मॉडल (एलएलएम)-आधारित एजेंटों को कुशलतापूर्वक बनाने की अनुमति देता है। यह एलएलएम को बढ़ाने के लिए कुछ विशिष्ट उपकरण भी प्रदान करता है। हमारे ढांचे का अवलोकन नीचे दिखाया गया है: - -![image](https://github.com/InternLM/lagent/assets/24351120/cefc4145-2ad8-4f80-b88b-97c05d1b9d3e) - -### प्रमुख विशेषताएं - -- **बॉक्स से बाहर कई प्रकार के एजेंटों का समर्थन करें।** लैजेंट अब समर्थन करता है [ReAct](https://arxiv.org/abs/2210.03629), [AutoGPT](https://github.com/Significant-Gravitas/Auto-GPT) और [ReWOO](https://arxiv.org/abs/2305.18323), जो तर्क और फ़ंक्शन कॉलिंग के कई परीक्षणों के लिए बड़े भाषा मॉडल (एलएलएम) को संचालित कर सकता है। - -- **बेहद सरल और विस्तार करने में आसान।** स्पष्ट संरचना के साथ ढांचा काफी सरल है। कोड की केवल 20 पंक्तियों के साथ, आप अपना स्वयं का एजेंट बनाने में सक्षम हैं। यह तीन विशिष्ट टूल का भी समर्थन करता है: पायथन इंटरप्रेटर, एपीआई कॉल और गूगल सर्च। +
-- **विभिन्न बड़े भाषा मॉडल का समर्थन करें।** हम एपीआई-आधारित (जीपीटी-3.5/4) और ओपन-सोर्स (एलएलएएमए 2, इंटर्नएलएम) मॉडल सहित विभिन्न एलएलएम का समर्थन करते हैं। + [![Alt text](https://img.youtube.com/vi/YAelRLi0Zak/0.jpg)](https://www.youtube.com/watch?v=YAelRLi0Zak) +
## शुरू करना @@ -42,72 +29,19 @@ pip के साथ स्थापित करें (अनुशंसि pip install lagent ``` -वैकल्पिक रूप से, यदि आप कोड को संशोधित करना चाहते हैं तो आप स्रोत से लैजेंट भी बना सकते हैं: - -```bash -git clone https://github.com/InternLM/lagent.git -cd lagent -pip install -e . -``` - -### रिएक्ट वेब डेमो चलाएँ +### वेब डेमो चलाएँ ```bash # You need to install streamlit first # pip install streamlit -streamlit run examples/react_web_demo.py +streamlit run examples/internlm2_agent_web_demo.py ``` -फिर आप नीचे दिखाए गए यूआई के माध्यम से चैट कर सकते हैं -![image](https://github.com/InternLM/lagent/assets/24622904/3aebb8b4-07d1-42a2-9da3-46080c556f68) - -### GPT-3.5 के साथ ReWOO एजेंट चलाएँ - -GPT-3.5 के साथ ReWOO चलाने का एक उदाहरण नीचे दिया गया है - -```python -from lagent.agents import ReWOO -from lagent.actions import ActionExecutor, GoogleSearch, LLMQA -from lagent.llms import GPTAPI - -llm = GPTAPI(model_type='gpt-3.5-turbo', key=['Your OPENAI_API_KEY']) -search_tool = GoogleSearch(api_key='Your SERPER_API_KEY') -llmqa_tool = LLMQA(llm) - -chatbot = ReWOO( - llm=llm, - action_executor=ActionExecutor( - actions=[search_tool, llmqa_tool]), -) - -response = chatbot.chat('What profession does Nicholas Ray and Elia Kazan have in common') -print(response.response) ->>> Film director. -``` - -### InternLM के साथ एक ReAct एजेंट चलाएँ - -नोट: यदि आप हगिंगफेस मॉडल चलाना चाहते हैं, तो कृपया पहले `pip install -e .[all]` चलाएं। - -```python -from lagent.agents import ReAct -from lagent.actions import ActionExecutor, GoogleSearch, PythonInterpreter -from lagent.llms import HFTransformer - -llm = HFTransformer('internlm/internlm-chat-7b-v1_1') -search_tool = GoogleSearch(api_key='Your SERPER_API_KEY') -python_interpreter = PythonInterpreter() +## परिचय -chatbot = ReAct( - llm=llm, - action_executor=ActionExecutor( - actions=[search_tool, python_interpreter]), -) +Lagent एक हल्का ओपन-सोर्स फ्रेमवर्क है जो उपयोगकर्ताओं को बड़े भाषा मॉडल (एलएलएम)-आधारित एजेंटों को कुशलतापूर्वक बनाने की अनुमति देता है। यह एलएलएम को बढ़ाने के लिए कुछ विशिष्ट उपकरण भी प्रदान करता है। हमारे ढांचे का अवलोकन नीचे दिखाया गया है: -response = chatbot.chat('若$z=-1+\sqrt{3}i$,则$\frac{z}{{z\overline{z}-1}}=\left(\ \ \right)$') -print(response.response) ->>> $-\\frac{1}{3}+\\frac{{\\sqrt{3}}}{3}i$ -``` +![image](https://github.com/InternLM/lagent/assets/24351120/cefc4145-2ad8-4f80-b88b-97c05d1b9d3e) ## लाइसेंस diff --git a/README_in_beng.md b/README_in_beng.md index ab0e0343..1a2f52a3 100644 --- a/README_in_beng.md +++ b/README_in_beng.md @@ -16,19 +16,11 @@ English | [简体中文](README_zh-CN.md) | [日本語](README_ja_JP.md) | [ह 👋 Twitter, Discord এবং WeChat সাথে আমাদের সাথে যোগদান করুন

-## পরিচিতি - -লেজেন্ট হল একটি হালকা ওপেন-সোর্স ফ্রেমওয়ার্ক, যা ব্যবহারকারীদের দ্বারা প্রশাসক ভাষা মডেল (LLM) ভিত্তিক এজেন্ট সৃজনশীলভাবে তৈরি করতে দেয়। এটি লেজেন্ট যেসব প্রধান সরঞ্জাম সরবরাহ করে, সেটি নীচে দেখানো হয়: - -![image](https://github.com/InternLM/lagent/assets/24351120/cefc4145-2ad8-4f80-b88b-97c05d1b9d3e) - -### মৌলিক বৈশিষ্ট্য - -- **বাক্যের কিছু প্রকারের এজেন্টের সাথে সমর্থন।** লেজেন্ট এখন [ReAct](https://arxiv.org/abs/2210.03629), [AutoGPT](https://github.com/Significant-Gravitas/Auto-GPT) এবং [ReWOO](https://arxiv.org/abs/2305.18323) সহ বড় ভাষা মডেল (LLM)-কে যুক্ত করতে পারে, যা বড় ভাষা মডেল (LLM) ব্যবহার করে বিভিন্ন কারণের এবং কার্য করার জন্য অনেক পরীক্ষা করতে পারে। +
-- **অত্যন্ত সহজ এবং বড় করা সম্ভব।** এই ফ্রেমওয়ার্কটি খুব সাধারণ, একটি স্পষ্ট স্ট্রাকচার সহ। শুধুমাত্র 20 লাইনের কোডের সাথে, আপনি নিজের এজেন্ট তৈরি করতে পারেন। এটি সাথে একই সময়ে তিনটি সাধারণ টুলও সমর্থন করে: পাইথন ইন্টারপ্রিটার, API কল, এবং গুগল সার্চ। + [![Alt text](https://img.youtube.com/vi/YAelRLi0Zak/0.jpg)](https://www.youtube.com/watch?v=YAelRLi0Zak) +
-- **বিভিন্ন বড় ভাষা মডেলের সমর্থন।** আমরা API-ভিত্তিক (GPT-3.5/4) এবং ওপেন-সোর্স (LLaMA 2, InternLM) মডেলগুলির মধ্যে বিভিন্ন LLM-এসকে সমর্থন করি। ## শুরু করা @@ -42,72 +34,19 @@ English | [简体中文](README_zh-CN.md) | [日本語](README_ja_JP.md) | [ह pip install lagent ``` -আপনি চাইলে সোর্স থেকে লেজেন্ট তৈরি করতে পারেন, কোড পরিবর্তন করতে চাইলে: - -```bash -git clone https://github.com/InternLM/lagent.git -cd lagent -pip install -e . -``` - -### ReAct ওয়েব ডেমো চালান +### ওয়েব ডেমো চালান ```bash # You need to install streamlit first # pip install streamlit -streamlit run examples/react_web_demo.py -``` - -তারপর আপনি নীচে দেওয়া ছবির মাধ্যমে ইউআই দিয়ে চ্যাট করতে পারেন -![image](https://github.com/InternLM/lagent/assets/24622904/3aebb8b4-07d1-42a2-9da3-46080c556f68) - -### GPT-3.5 সহ একটি ReWOO এজেন্ট চালান - -নীচে একটি উদাহরণ দেওয়া হল ReWOO সহ GPT-3.5 চালানোর জন্য - -```python -from lagent.agents import ReWOO -from lagent.actions import ActionExecutor, GoogleSearch, LLMQA -from lagent.llms import GPTAPI - -llm = GPTAPI(model_type='gpt-3.5-turbo', key=['Your OPENAI_API_KEY']) -search_tool = GoogleSearch(api_key='Your SERPER_API_KEY') -llmqa_tool = LLMQA(llm) - -chatbot = ReWOO( - llm=llm, - action_executor=ActionExecutor( - actions=[search_tool, llmqa_tool]), -) - -response = chatbot.chat('What profession does Nicholas Ray and Elia Kazan have in common') -print(response.response) ->>> Film director. +streamlit run examples/internlm2_agent_web_demo.py ``` -### InternLM দিয়ে একটি ReAct এজেন্ট চালান - -নোট: আপনি যদি একটি HuggingFace মডেল চালাতে চান, তবে প্রথমে pip install -e .[all] চালানো দরকার। - -```python -from lagent.agents import ReAct -from lagent.actions import ActionExecutor, GoogleSearch, PythonInterpreter -from lagent.llms import HFTransformer - -llm = HFTransformer('internlm/internlm-chat-7b-v1_1') -search_tool = GoogleSearch(api_key='Your SERPER_API_KEY') -python_interpreter = PythonInterpreter() +## পরিচিতি -chatbot = ReAct( - llm=llm, - action_executor=ActionExecutor( - actions=[search_tool, python_interpreter]), -) +লেজেন্ট হল একটি হালকা ওপেন-সোর্স ফ্রেমওয়ার্ক, যা ব্যবহারকারীদের দ্বারা প্রশাসক ভাষা মডেল (LLM) ভিত্তিক এজেন্ট সৃজনশীলভাবে তৈরি করতে দেয়। এটি লেজেন্ট যেসব প্রধান সরঞ্জাম সরবরাহ করে, সেটি নীচে দেখানো হয়: -response = chatbot.chat('若$z=-1+\sqrt{3}i$,则$\frac{z}{{z\overline{z}-1}}=\left(\ \ \right)$') -print(response.response) ->>> $-\\frac{1}{3}+\\frac{{\\sqrt{3}}}{3}i$ -``` +![image](https://github.com/InternLM/lagent/assets/24351120/cefc4145-2ad8-4f80-b88b-97c05d1b9d3e) ## লাইসেন্স diff --git a/README_ja_JP.md b/README_ja_JP.md index 898a99fd..1341fd3a 100644 --- a/README_ja_JP.md +++ b/README_ja_JP.md @@ -16,19 +16,10 @@ English | [简体中文](README_zh-CN.md) | [日本語](README_ja_JP.md) | [ह 👋 Twitter, Discord そして WeChat に参加する

-## はじめに - -Lagent は、大規模言語モデル(LLM)ベースのエージェントを効率的に構築できる軽量なオープンソースフレームワークです。また、LLM を拡張するための典型的なツールも提供します。我々のフレームワークの概要を以下に示します: - -![image](https://github.com/InternLM/lagent/assets/24351120/cefc4145-2ad8-4f80-b88b-97c05d1b9d3e) - -### 主な特徴 - -- **複数のエージェントをすぐにサポート** Lagent は現在、[ReAct](https://arxiv.org/abs/2210.03629)、[AutoGPT](https://github.com/Significant-Gravitas/Auto-GPT)、[ReWOO](https://arxiv.org/abs/2305.18323) をサポートしており、推論や関数呼び出しの複数の試行に対して大規模言語モデル(LLM)を駆動することができる。 - -- **非常にシンプルで、拡張も簡単。** フレームワークは非常にシンプルで、明確な構造を持っています。わずか 20 行のコードで、独自のエージェントを構築することができます。また、3 つの代表的なツールをサポートしています: Python インタプリタ、API コール、google 検索です。 +
-- **様々な大規模言語モデルをサポート。** API ベース(GPT-3.5/4)やオープンソース(LLaMA 2, InternLM)を含む様々な LLM をサポートしています。 + [![Alt text](https://img.youtube.com/vi/YAelRLi0Zak/0.jpg)](https://www.youtube.com/watch?v=YAelRLi0Zak) +
## はじめに @@ -42,72 +33,20 @@ pip でインストールする(推奨)。 pip install lagent ``` -オプションとして、コードを修正したい場合に備えて、Lagent をソースからビルドすることもできる: +### ウェブデモの実行 -```bash -git clone https://github.com/InternLM/lagent.git -cd lagent -pip install -e . -``` - -### ReAct ウェブデモの実行 +最初に streamlit をインストールする必要があります ```bash -# 最初に streamlit をインストールする必要があります # pip install streamlit -streamlit run examples/react_web_demo.py -``` - -その後、以下のような UI からチャットができます -![image](https://github.com/InternLM/lagent/assets/24622904/3aebb8b4-07d1-42a2-9da3-46080c556f68) - -### GPT-3.5 で ReWOO エージェントを動かす - -以下は、GPT-3.5 で ReWOO を実行する例です - -```python -from lagent.agents import ReWOO -from lagent.actions import ActionExecutor, GoogleSearch, LLMQA -from lagent.llms import GPTAPI - -llm = GPTAPI(model_type='gpt-3.5-turbo', key=['Your OPENAI_API_KEY']) -search_tool = GoogleSearch(api_key='Your SERPER_API_KEY') -llmqa_tool = LLMQA(llm) - -chatbot = ReWOO( - llm=llm, - action_executor=ActionExecutor( - actions=[search_tool, llmqa_tool]), -) - -response = chatbot.chat('What profession does Nicholas Ray and Elia Kazan have in common') -print(response.response) ->>> Film director. +streamlit run examples/internlm2_agent_web_demo.py ``` -### InternLM で ReAct エージェントを動かす - -注: Hugging Face モデルを実行したい場合は、まず `pip install -e .[all]` を実行してください。 - -```python -from lagent.agents import ReAct -from lagent.actions import ActionExecutor, GoogleSearch, PythonInterpreter -from lagent.llms import HFTransformer - -llm = HFTransformer('internlm/internlm-chat-7b-v1_1') -search_tool = GoogleSearch(api_key='Your SERPER_API_KEY') -python_interpreter = PythonInterpreter() +## はじめに -chatbot = ReAct( - llm=llm, - action_executor=ActionExecutor( - actions=[search_tool, python_interpreter]), -) +Lagent は、大規模言語モデル(LLM)ベースのエージェントを効率的に構築できる軽量なオープンソースフレームワークです。また、LLM を拡張するための典型的なツールも提供します。我々のフレームワークの概要を以下に示します: -response = chatbot.chat('若$z=-1+\sqrt{3}i$,则$\frac{z}{{z\overline{z}-1}}=\left(\ \ \right)$') -print(response.response) ->>> $-\\frac{1}{3}+\\frac{{\\sqrt{3}}}{3}i$ -``` +![image](https://github.com/InternLM/lagent/assets/24351120/cefc4145-2ad8-4f80-b88b-97c05d1b9d3e) ## ライセンス diff --git a/README_zh-CN.md b/README_zh-CN.md index 363a9d4a..b13adf61 100644 --- a/README_zh-CN.md +++ b/README_zh-CN.md @@ -16,25 +16,12 @@ English | [简体中文](README_zh-CN.md) | [日本語](README_ja_JP.md) | [ह 👋 join us on Twitter, Discord and WeChat

-[English](README.md) | 简体中文 - -## 简介 - -Lagent 是一个轻量级、开源的基于大语言模型的智能体(agent)框架,支持用户快速地将一个大语言模型转变为多种类型的智能体,并提供了一些典型工具为大语言模型赋能。它的整个框架图如下: - -![image](https://github.com/InternLM/lagent/assets/24351120/cefc4145-2ad8-4f80-b88b-97c05d1b9d3e) - -### 主要特点 - -**0.1.2** 版本已经在 2023.10.24 发布 - -- **支持高性能推理.** 我们现在支持了高性能推理 [lmdeploy turbomind](https://github.com/InternLM/lmdeploy/tree/main). - -- **实现了多种类型的智能体,** 我们支持了经典的 [ReAct](https://arxiv.org/abs/2210.03629),[AutoGPT](https://github.com/Significant-Gravitas/Auto-GPT) 和 [ReWoo](https://arxiv.org/abs/2305.18323) 等智能体,这些智能体能够调用大语言模型进行多轮的推理和工具调用。 +
-- **框架简单易拓展.** 框架的代码结构清晰且简单,只需要不到20行代码你就能够创造出一个你自己的智能体(agent)。同时我们支持了 Python 解释器、API 调用和搜索三类常用典型工具。 + [![Alt text](https://img.youtube.com/vi/YAelRLi0Zak/0.jpg)](https://www.youtube.com/watch?v=YAelRLi0Zak) +
-- **灵活支持多个大语言模型.** 我们提供了多种大语言模型支持,包括 InternLM、Llama-2 等开源模型和 GPT-4/3.5 等基于 API 的闭源模型。 +[English](README.md) | 简体中文 ## 教程 @@ -48,71 +35,29 @@ Lagent 是一个轻量级、开源的基于大语言模型的智能体(agent pip install lagent ``` -同时,如果你想修改这部分的代码,也可以通过以下命令从源码编译 Lagent: - -```bash -git clone https://github.com/InternLM/lagent.git -cd lagent -pip install -e . -``` +### 运行一个智能体的网页样例 -### 运行一个 ReAct 智能体的网页样例 +你可能需要先安装 Streamlit 包 ```bash -# 可能先需要安装 streamlit 包 # pip install streamlit -streamlit run examples/react_web_demo.py +streamlit run examples/internlm2_agent_web_demo.py ``` -然后你就可以在网页端和智能体进行对话了,效果如下图所示 - -![image](https://github.com/InternLM/lagent/assets/24622904/3aebb8b4-07d1-42a2-9da3-46080c556f68) - -### 用 GPT-3.5 构建一个 ReWOO 智能体 - -```python -from lagent.agents import ReWOO -from lagent.actions import ActionExecutor, GoogleSearch, LLMQA -from lagent.llms import GPTAPI - -llm = GPTAPI(model_type='gpt-3.5-turbo', key='OPENAI_API_KEY') -search_tool = GoogleSearch(api_key='SERPER_API_KEY') -llmqa_tool = LLMQA(llm) - -chatbot = ReWOO( - llm=llm, - action_executor=ActionExecutor( - actions=[search_tool, llmqa_tool]), -) - -response = chatbot.chat('What profession does Nicholas Ray and Elia Kazan have in common') -print(response.response) ->>> Film director. -``` - -### 用 InternLM 构建一个 ReAct 智能体 - -注意:如果你想要启动一个HuggingFace的模型,请先运行 `pip install -e .[all]`。 +## 简介 -```python -from lagent.agents import ReAct -from lagent.actions import ActionExecutor, GoogleSearch, PythonInterpreter -from lagent.llms import HFTransformer +Lagent 是一个轻量级、开源的基于大语言模型的智能体(agent)框架,支持用户快速地将一个大语言模型转变为多种类型的智能体,并提供了一些典型工具为大语言模型赋能。它的整个框架图如下: -llm = HFTransformer('internlm/internlm-chat-7b-v1_1') -search_tool = GoogleSearch(api_key='SERPER_API_KEY') -python_interpreter = PythonInterpreter() +![image](https://github.com/InternLM/lagent/assets/24351120/cefc4145-2ad8-4f80-b88b-97c05d1b9d3e) -chatbot = ReAct( - llm=llm, - action_executor=ActionExecutor( - actions=[search_tool, python_interpreter]), -) +## 特性 -response = chatbot.chat('若$z=-1+\sqrt{3}i$,则$\frac{z}{{z\overline{z}-1}}=\left(\ \ \right)$') -print(response.response) ->>> $-\\frac{1}{3}+\\frac{{\\sqrt{3}}}{3}i -``` +- 流式输出:提供 `stream_chat` 接口作流式输出,本地就能演示酷炫的流式 Demo。 +- 接口统一,设计全面升级,提升拓展性,包括 + - Model : 不论是 OpenAI API, Transformers 还是推理加速框架 LMDeploy 一网打尽,模型切换可以游刃有余; + - Action: 简单的继承和装饰,即可打造自己个人的工具集,不论 InternLM 还是 GPT 均可适配; + - Agent:与 Model 的输入接口保持一致,模型到智能体的蜕变只需一步,便捷各种 agent 的探索实现; +- 文档全面升级,API 文档全覆盖。 ## 引用