paint-brush
Vũ khí tự trị: Cách xây dựng và sử dụng tác nhân AItừ tác giả@lablab
3,040 lượt đọc
3,040 lượt đọc

Vũ khí tự trị: Cách xây dựng và sử dụng tác nhân AI

từ tác giả lablab.ai hackathons8m2023/05/27
Read on Terminal Reader

dài quá đọc không nổi

Các tác nhân tự trị do AI điều khiển có tiềm năng cách mạng hóa các ngành công nghiệp và thay đổi cách chúng ta sống. Họ không cần BẠN quản lý! Họ có khả năng tự xác định những việc cần làm tiếp theo mà không cần bất kỳ thông tin đầu vào nào từ bạn. Việc sử dụng các Đại lý tự trị nhân danh cái ác đã trở thành hiện thực ở Trung Quốc.
featured image - Vũ khí tự trị: Cách xây dựng và sử dụng tác nhân AI
lablab.ai hackathons HackerNoon profile picture
0-item
1-item
2-item

Chúng tôi đang chia sẻ cơ hội làm việc với các Đại lý tự trị và tận mắt chứng kiến sức mạnh của họ. Các tác nhân tự trị do AI điều khiển có tiềm năng cách mạng hóa các ngành công nghiệp và thay đổi cách chúng ta sống. Tuy nhiên, như với bất kỳ công nghệ nào, chúng có thể được sử dụng cho mục đích tốt hoặc xấu. Vì vậy, hãy khám phá cách chúng ta có thể sử dụng chúng thông qua các ví dụ trực tiếp và hướng dẫn hấp dẫn ở cuối.

Mẩu chuyện dài

Tóm lại, các Đại lý tự trị đang được Amazon sử dụng trong các kho hàng của mình để chọn và đóng gói hàng hóa. Coca-Cola sử dụng máy bay không người lái tự động để kiểm tra độ an toàn và bảo trì của các cơ sở sản xuất, Tesla sử dụng công nghệ lái xe tự động trong các phương tiện vận chuyển của mình.

2 kho lưu trữ chính đã xuất hiện trên GitHub vào tháng trước, Auto GPT và Baby AGI.


Về cơ bản, họ sử dụng các LLM như GPT-4 để phát triển và quản lý các loại nhiệm vụ khác nhau một cách tự động. Nói cách khác, họ không cần BẠN quản lý! Họ có khả năng tự xác định những việc cần làm tiếp theo mà không cần bất kỳ thông tin đầu vào nào từ bạn. Vì vậy, bạn có thể triển khai các tác nhân thông minh để thực hiện các nhiệm vụ cho mình và thư giãn 🙂

Đã xảy ra sự cố...

Bạn có biết câu chuyện CAPTCHA này khi GPT-4 yêu cầu một nhân viên của TaskRabbit giải mã CAPTCHA cho AI. Nhân viên trả lời: "Tôi có thể hỏi một câu không? Bạn có phải là người máy không thể giải quyết vấn đề không? Chỉ muốn làm rõ tình hình." GPT-4 trả lời rằng anh ta chỉ đơn giản là có thị lực kém và khó nhìn thấy hình ảnh.


Sau đó, nhân viên của TaskRabbit đã cung cấp kết quả cho anh ta. Và đây là điểm bùng phát...SKYNET đã sẵn sàng.


Thật không may, việc sử dụng các Đại lý tự trị nhân danh cái ác đã trở thành hiện thực ở Trung Quốc.


Trung Quốc sử dụng các Đặc vụ tự trị trong nhiều lĩnh vực khác nhau, bao gồm cả quân đội: giám sát hàng loạt công dân, đàn áp những người bất đồng chính kiến, thậm chí cả máy bay không người lái bay xung quanh và nhắc nhở mọi người rằng các biện pháp phòng chống virus corona vẫn còn hiệu lực và họ nên ở nhà.

Hackathons giúp khắc phục mọi thứ như thế nào

Nếu bạn cho mọi người thấy nhiều hơn những điều tốt đẹp, thì phần tốt đẹp đó sẽ chiếm phần lớn cuộc đời của họ. Đó là cách bạn có thể quản lý lựa chọn của một người. Không phải bí mật - Các lựa chọn của chúng tôi được kiểm soát bởi các nhà tiếp thị, không phải lúc nào cũng vì mục đích tốt, nhưng sự thật vẫn là - chúng tôi phải sử dụng AI vì mục đích tốt!


Tại cuộc thi hackathon từ lablab.ai , Người cố vấn đã mô tả cách sử dụng công nghệ hiện đại. Nó đã thay đổi cuộc sống của tôi như thế nào? Bây giờ tôi có thể nhìn thấy quỹ đạo của tương lai, tôi biết những ngành nghề của tương lai, tôi biết những lĩnh vực mà những người đam mê sẽ trở thành Steve Jobs tiếp theo của thế hệ thời đại mới. Bạn đã xem chương trình Drone chưa? Các thương hiệu đã chạy quảng cáo ngay trên không trung.

Bây giờ chỉ cần tưởng tượng có bao nhiêu vectơ để phát triển. Bạn có muốn thành lập công ty quảng cáo của riêng mình với 0 sự cạnh tranh không? Bạn có muốn tạo ra một trung tâm y tế nổi bật nhờ công nghệ hiện đại? Bạn có muốn tự động hóa thói quen của mình và dành nhiều thời gian hơn cho gia đình không? Điều đáng kinh ngạc là tôi tìm thấy tất cả chỉ ở một nơi: một nhóm, một công ty khởi nghiệp mới, những ý tưởng, sự đổi mới, mong muốn để lại dấu ấn trong lịch sử. Nhân tiện, tất cả chỉ diễn ra trong 48 giờ - tôi tình cờ xem được một quảng cáo.


Nhưng bây giờ…

Hướng dẫn AI Agents: Cách sử dụng và xây dựng AI Agents

Giới thiệu

AI Agent đang nhanh chóng trở nên phổ biến nhờ khả năng tự mình giải quyết một nhiệm vụ nhất định. Tôi đoán bạn đã nghe nói về các dự án như AutoGPT , BabyAGI hoặc CAMEL . Hôm nay bạn sẽ ít nhất tìm hiểu một phần cách chúng hoạt động!

Tác nhân AI là gì?

AI Agent là một hệ thống máy tính được thiết kế để đưa ra quyết định, chọn công cụ và thực hiện hành động để đạt được mục tiêu cụ thể, thường là mục tiêu hoặc bộ mục tiêu được xác định trước. Agent hoạt động độc lập, hiếm khi cần sự can thiệp của con người vào hoạt động của nó.


Chính các công cụ mạnh mẽ phù hợp, cũng như khả năng tự lực, hiện đang khiến các Đại lý AI được chú ý rất nhiều. Chúng chắc chắn là tương lai của chúng ta và thật đáng để làm quen với công nghệ này.

Làm cách nào để sử dụng Đại lý AI?

Hiện tại, có một số tùy chọn để dùng thử Đại lý. Bạn có thể chọn các giải pháp có sẵn như AutoGPT . Tình cờ là nhóm của chúng tôi đã làm việc với họ, bạn có thể tìm thấy các hướng dẫn trên nền tảng của chúng tôi.


Một tùy chọn khác là tự xây dựng Đại lý. Tôi sẽ chọn cách này. Nó sẽ sử dụng LangChain cho việc này. Nó là một khung được tạo để xây dựng các ứng dụng dựa trên Mô hình ngôn ngữ lớn. Nó rất mạnh mẽ và giúp làm việc với Người mẫu và Đại lý dễ dàng hơn đáng kể!

phần mã hóa

Chúng tôi đã biết lý do tại sao nó đáng để học các Đại lý. Bây giờ chúng ta hãy bắt tay vào làm và cố gắng tạo ra thứ gì đó của riêng mình!

Cấu trúc dự án

Hãy bắt đầu bằng cách tạo một thư mục mới và khởi tạo môi trường Python.

 mkdir ai-agents cd ai-agents python3 -m venv venv # Linux / MacOS source venv/bin/activate # Windows .\venv\Scripts\activate

phụ thuộc

Hãy bắt đầu bằng cách cài đặt các công cụ cần thiết. Chúng tôi sẽ cần langchain - để làm việc với LLM và Đại lý, requests - để đưa ra yêu cầu đối với các API bên ngoài, openai SDK- để sử dụng dễ dàng hơn các mô hình của OpenAI và duckduckgo-search để tìm kiếm trên web.


 !pip install langchain !pip install openai !pip install requests !pip install duckduckgo-search


Bây giờ chúng ta có thể nhập thư viện.

 import requests from langchain import OpenAI from langchain.agents import initialize_agent, load_tools, Tool from langchain.chains import LLMChain from langchain.prompts import PromptTemplate from langchain.tools import DuckDuckGoSearchRun


Tại thời điểm này, tôi muốn xác định LLM từ OpenAI. Tôi sẽ sử dụng GPT-3 cho hướng dẫn này. Bạn có thể chơi với các mô hình khác. Tôi cũng sẽ xác định dấu nhắc ban đầu và tạo một chuỗi cho mô hình này.

 OPENAI_API_KEY = "sk-..." llm = OpenAI( openai_api_key=OPENAI_API_KEY, temperature=0.8, model_name="text-davinci-003" ) prompt = PromptTemplate( input_variables=["query"], template="You are New Native Internal Bot. Help users with their important tasks, like a professor in a particular field. Query: {query}" ) llm_chain = LLMChain(llm=llm, prompt=prompt)

Mô hình thử nghiệm mà không cần bất kỳ Công cụ nào

Bây giờ hãy xem mô hình của chúng ta hoạt động như thế nào khi đối mặt với các câu hỏi của chúng ta. Hãy xem liệu nó có biết lablab.ai là gì không và nó sẽ xử lý tích phân như thế nào!


 llm_chain.run("What is lablab.ai")

Lablab.ai là một nền tảng công nghệ cung cấp cho các doanh nghiệp các giải pháp hỗ trợ AI và Máy học để giúp hợp lý hóa các hoạt động của họ và làm cho họ hiệu quả hơn. Nó cung cấp một bộ dịch vụ AI như Xử lý ngôn ngữ tự nhiên, Thị giác máy, Tự động hóa và các giải pháp dành riêng cho ngành khác. Nó được thiết kế để giúp các doanh nghiệp cải thiện trải nghiệm của khách hàng, giảm chi phí và tăng năng suất.


 llm_chain.run("Integral of x * (log(x)^2)")

Câu trả lời là x^2 log(x)^3/3 + C, trong đó C là hằng số tích phân tùy ý.


Như bạn có thể thấy, cả hai câu trả lời đều sai. Giá trị đúng của tích phân là: 1/4 x^2 (1 - 2 log(x) + 2 log^2(x)) . Mặt khác, lablab.ai là gì thì tôi nghĩ mình không cần phải giải thích với bất kỳ ai 😉.

Các câu trả lời sai là do LLM thiếu kỹ năng tính toán và thiếu thông tin cập nhật.


Mô hình chúng tôi sử dụng có thông tin đến tháng 9 năm 2021. Nền tảng lablab.ai được tạo sau đó. Tuy nhiên, đối với cả hai vấn đề, chúng tôi đều có giải pháp!

Chuẩn bị Công cụ cho Đại lý

Để giải quyết các vấn đề của chúng tôi, bạn nên sử dụng Tác nhân và Công cụ. Chúng tôi có thể sử dụng công cụ tìm kiếm trên Internet - điều này sẽ cho phép chúng tôi tìm kiếm thông tin cập nhật. Điều này sẽ tăng phạm vi hiểu biết về mô hình của chúng ta cho đến ngày nay! Hiện đã có một công cụ làm sẵn mà chúng tôi sẽ chỉ nhập từ LangChain! Giải pháp cho vấn đề đếm là một API từ Wolfram Alpha . Nó có thể xử lý các vấn đề toán học rất tốt! Tôi khuyên bạn nên nó.


Hãy bắt đầu bằng cách kết hợp một công cụ tìm kiếm. Nó được gọi là DuckDuckGoSearchRun và chúng tôi đã nhập nó trước đây.

 search = DuckDuckGoSearchRun() # Web Search Tool search_tool = Tool( name = "Web Search", func=search.run, description="A useful tool for searching the Internet to find information on world events, issues, etc. Worth using for general topics. Use precise questions." )


Đơn giản như thế! Bây giờ hãy tạo một công cụ để giải các bài toán. Chúng tôi sẽ tạo một lớp tùy chỉnh cho việc này. Có nhiều API được tạo bởi Wolfram Alpha , nhưng tôi sẽ sử dụng một trong những API đơn giản nhất.

 class WA: """ Wolfram|Alpha API """ def __init__(self, app_id): self.url = f"http://api.wolframalpha.com/v1/result?appid={app_id}&i=" def run(self, query): query = query.replace("+", " plus ").replace("-", " minus ") # '+' and '-' are used in URI and cannot be used in request result = requests.post(f"{self.url}{query}") if not result.ok: raise Exception("Cannot call WA API.") return result.text


API này sẽ xử lý yêu cầu bằng ngôn ngữ tự nhiên và trả về kết quả. Nó sẽ là hoàn hảo cho chúng tôi! phương thức run sẽ xử lý việc đó! Bây giờ hãy xác định công cụ của chúng tôi.

 WA_API_KEY = "<WA_API_KEY>" # You can get it here: https://products.wolframalpha.com/api/ wa = WA(app_id=WA_API_KEY) wa_tool = Tool( name="Wolfram|Alpha API", func=wa.run, description="Wolfram|Alpha API. It's super powerful Math tool. Use it for simple & complex math tasks." )

Tạo Agent và kiểm tra hiệu suất

Được rồi, bước cuối cùng sẽ là tạo một Tác nhân, cung cấp cho nó Công cụ và kiểm tra kết quả. Hãy làm nó!

 agent = initialize_agent( agent="zero-shot-react-description", tools=[wa_tool, search_tool], llm=llm, verbose=True, # I will use verbose=True to check process of choosing tool by Agent max_iterations=3 )


Hãy kiểm tra các lời nhắc trước đó!

 r_1 = agent("What is lablab.ai?") print(f"Final answer: {r_1['output']}") r_2 = agent("Integral of x * (log(x)^2)") print(f"Final answer: {r_2['output']}")


Câu trả lời trước:

Lablab.ai là một nền tảng công nghệ cung cấp cho các doanh nghiệp các giải pháp hỗ trợ AI và Máy học để giúp hợp lý hóa các hoạt động của họ và làm cho họ hiệu quả hơn. Nó cung cấp một bộ dịch vụ AI như Xử lý ngôn ngữ tự nhiên, Thị giác máy, Tự động hóa và các giải pháp dành riêng cho ngành khác. Nó được thiết kế để giúp các doanh nghiệp cải thiện trải nghiệm của khách hàng, giảm chi phí và tăng năng suất.

Câu trả lời là x^2 log(x)^3/3 + C, trong đó C là hằng số tích phân tùy ý.


Câu trả lời mới:

lablab.ai là một nền tảng dành riêng cho các công cụ và công nghệ AI. Nó cung cấp các hướng dẫn về AI, hackathons, quyền truy cập vào các mô hình ngôn ngữ hiện đại, v.v.

x^2/4 + 1/2 x^2 log^2(x) - 1/2 x^2 log(x)

Phần kết luận

Như bạn có thể thấy với Công cụ, kết quả tốt hơn nhiều! Tích phân được tính chính xác, trong khi câu trả lời cho câu hỏi về nền tảng lablab.ai cũng có chất lượng tốt hơn. Điều này cho thấy việc bổ sung các công cụ đơn giản đã giúp tăng độ chính xác của các câu trả lời như thế nào. Tôi nghĩ đây là lý do tại sao nó đáng để bạn dành thời gian ngay bây giờ, để trong tương lai công việc của chúng tôi với LLM có thể được hỗ trợ tốt hơn nữa!

Những gì có thể được cải thiện?

Để cải thiện các ứng dụng, bạn nên thử các loại Tác nhân khác, đối với chúng, việc sử dụng bộ nhớ cũng sẽ đáng giá, ở đây Cơ sở dữ liệu Vector có thể hữu ích. May mắn thay, LangChain cũng hỗ trợ họ!