Mô hình và nền tảng AI

OpenAgents: Một Nền Tảng Mở Cho Các Trợ Lý Ngôn Ngữ Trong Thế Giới Thật

mm
Thêm Unite.AI vào các nguồn ưu tiên của bạn trên Google

Những phát triển gần đây đã chứng minh rằng các trợ lý ngôn ngữ, đặc biệt là những trợ lý được xây dựng trên các mô hình ngôn ngữ lớn (LLM), có khả năng thực hiện nhiều nhiệm vụ phức tạp trong các môi trường khác nhau bằng ngôn ngữ tự nhiên. Tuy nhiên, trọng tâm chính của hầu hết các khuôn khổ trợ lý ngôn ngữ hiện nay là tạo điều kiện cho việc xây dựng các trợ lý ngôn ngữ chứng minh khái niệm. Trọng tâm này thường đi kèm với rất ít hoặc không có sự quan tâm đến thiết kế cấp ứng dụng và thường bỏ qua sự tiếp cận của các trợ lý này đối với người dùng không phải là chuyên gia.

Để vượt qua các hạn chế hiện tại của các trợ lý ngôn ngữ, các nhà phát triển đã tạo ra khuôn khổ OpenAgents, một nền tảng mở để tổ chức và triển khai các trợ lý ngôn ngữ trong thế giới thực và trên nhiều nhiệm vụ hàng ngày. Khuôn khổ OpenAgents được xây dựng xung quanh ba trợ lý

  • Trợ Lý Dữ Liệu: Giúp phân tích dữ liệu bằng cách sử dụng các công cụ dữ liệu và ngôn ngữ truy vấn như SQL hoặc ngôn ngữ lập trình như Python.
  • Trợ Lý Plugin: Giúp cung cấp quyền truy cập vào hơn 200 công cụ API hữu ích cho các nhiệm vụ hàng ngày.
  • Trợ Lý Web: Giúp duyệt web trong khi duy trì sự ẩn danh của bạn.

Khuôn khổ OpenAgents sử dụng giao diện người dùng web được tối ưu hóa cho các lỗi phổ biến và phản hồi nhanh chóng trong nỗ lực cho phép người dùng chung tương tác với các chức năng của trợ lý, đồng thời cung cấp cho các nhà nghiên cứu và nhà phát triển một trải nghiệm triển khai liền mạch trên các thiết lập cục bộ của họ. Nó sẽ an toàn khi nói rằng khuôn khổ OpenAgents là một nỗ lực để cung cấp một nền tảng vững chắc cho việc tạo điều kiện cho các đánh giá thế giới thực và tạo ra các trợ lý ngôn ngữ sáng tạo, hiệu quả và tiên tiến.

Trong bài viết ngày hôm nay, chúng tôi sẽ đi sâu vào khuôn khổ OpenAgents, và thảo luận về khuôn khổ này một cách chi tiết hơn. Chúng tôi sẽ nói về cách thức hoạt động và kiến trúc của khuôn khổ, cũng như các thách thức chung mà người dùng gặp phải và kết quả.

OpenAgents và Trợ Lý Ngôn Ngữ: Giới Thiệu

Trợ lý ngôn ngữ, ở cốt lõi, được bắt nguồn từ các trợ lý thông minh. Những trợ lý thông minh này được khái niệm hóa để có khả năng giải quyết vấn đề tự động, cùng với khả năng cảm nhận môi trường, đưa ra quyết định và hành động tương ứng. Với sự tiến bộ của các mô hình ngôn ngữ lớn, cộng đồng phát triển toàn cầu đã tận dụng khái niệm về các trợ lý thông minh và LLM để tạo ra các trợ lý ngôn ngữ. Những trợ lý này sử dụng lập trình ngôn ngữ tự nhiên (NLP) để thực hiện nhiều nhiệm vụ phức tạp trong các môi trường khác nhau và gần đây đã thể hiện tiềm năng đáng kể.

Hiện tại, các khuôn khổ trợ lý ngôn ngữ như Gravitas và Chase chủ yếu cung cấp giao diện điều khiển được thiết kế cho các nhà phát triển, cùng với các triển khai chứng minh khái niệm. Tuy nhiên, chúng thường hạn chế sự tiếp cận của một đối tượng rộng lớn hơn, đặc biệt là những người không thành thạo trong việc lập trình. Ngoài ra, các chuẩn mực trợ lý hiện tại được xây dựng bởi các nhà phát triển với các yêu cầu cụ thể cho đánh giá quyết định, đặc biệt là trong các tình huống yêu cầu duyệt web, lập trình, sử dụng công cụ hoặc kết hợp những điều này.

Trong nỗ lực phát triển các trợ lý ngôn ngữ thông minh và được hỗ trợ bởi LLM cho một đối tượng người dùng rộng lớn hơn, các công ty hàng đầu như OpenAI và Microsoft (MSFT ) đã triển khai một loạt các sản phẩm được thiết kế tốt, bao gồm Phân Tích Dữ Liệu Nâng Cao, cũng được gọi là Trình Dịch Mã, và các tiện ích mở rộng trình duyệt. Mặc dù những trợ lý này hiệu quả trong các chức năng của chúng, nhưng chúng chỉ cung cấp sự giúp đỡ hạn chế cho cộng đồng phát triển. Sự hạn chế này xuất phát từ việc mã logic kinh doanh và triển khai mô hình không được mã nguồn mở, cản trở cơ hội của các nhà phát triển và nhà nghiên cứu để khám phá thêm, cũng như hạn chế quyền truy cập miễn phí cho người dùng.

Để giải quyết vấn đề này, các nhà phát triển đã tạo ra OpenAgents, một nền tảng mã nguồn mở để tổ chức và sử dụng các trợ lý, và hiện tại được xây dựng trên nền tảng của ba trợ lý nội bộ

  • Trợ Lý Dữ Liệu: Giúp phân tích dữ liệu bằng cách sử dụng các công cụ dữ liệu và ngôn ngữ truy vấn như SQL hoặc ngôn ngữ lập trình như Python.
  • Trợ Lý Plugin: Giúp cung cấp quyền truy cập vào hơn 200 công cụ API hữu ích cho các nhiệm vụ hàng ngày.
  • Trợ Lý Web: Giúp duyệt web trong khi duy trì sự ẩn danh của bạn.

Hình ảnh sau minh họa nền tảng OpenAgents cho người dùng chung, nhà phát triển và nhà nghiên cứu.

  1. Thay vì sử dụng gói hoặc console dành cho lập trình viên, người dùng chung có thể tương tác với ba trợ lý trong khuôn khổ OpenAgents bằng giao diện web trực tuyến.
  2. Các nhà phát triển có thể sử dụng mã logic kinh doanh và nghiên cứu được cung cấp bởi khuôn khổ OpenAgents để triển khai backend và frontend một cách liền mạch cho các phát triển thêm.
  3. Các nhà nghiên cứu có thể xây dựng các trợ lý ngôn ngữ mới từ đầu hoặc thực hiện các phương pháp liên quan đến trợ lý bằng cách sử dụng các thành phần và ví dụ được chia sẻ, và đánh giá hiệu suất của chúng bằng giao diện người dùng web.

Tóm lại, khuôn khổ OpenAgents ban đầu được thiết kế để trở thành một nền tảng toàn diện và thực tế cho việc đánh giá trợ lý ngôn ngữ có sự tham gia của con người, cho phép người dùng tương tác với các trợ lý này để hoàn thành nhiều nhiệm vụ khác nhau, và các tương tác giữa người dùng và trợ lý cùng với phản hồi của người dùng được lưu trữ và phân tích cho việc phát triển và đánh giá thêm.

Đối với những người không biết, kỹ thuật nhắc là một quá trình cho phép các nhà phát triển tạo ra các hướng dẫn bảo vệ chống lại các đầu vào đối lập hoặc sai, tăng cường vẻ đẹp của đầu ra và đáp ứng logic backend. Trong quá trình phát triển, các nhà phát triển làm việc trên khuôn khổ OpenAgents sử dụng kỹ thuật nhắc LLM để nhấn mạnh tầm quan trọng của việc chỉ định yêu cầu ứng dụng một cách hiệu quả. Tuy nhiên, các nhà phát triển sớm nhận thấy rằng việc xây dựng các hướng dẫn hoặc nhắc LLM này có thể là đáng kể đôi khi và có thể ảnh hưởng đến khả năng xử lý ngữ cảnh của các khuôn khổ LLM cùng với các hạn chế về token. Các nhà phát triển cũng nhận thấy rằng để triển khai các trợ lý này một cách hiệu quả trong thế giới thực, các mô hình trợ lý không chỉ phải thể hiện hiệu suất vượt trội mà còn phải có khả năng xử lý nhiều kịch bản tương tác trong thời gian thực. Mặc dù các khuôn khổ trợ lý hiện tại đã bao gồm hiệu suất, nhưng chúng thường bỏ qua các yếu tố thực tế, đặc biệt là trong thời gian thực, điều này thường che giấu tiềm năng thực sự của các khuôn khổ LLM bằng cách đánh đổi sự phản hồi hoặc độ chính xác.

Trong hình ảnh sau, chúng tôi đang so sánh khuôn khổ OpenAgents trực tiếp với các công việc hiện có về chuẩn mực trợ lý và xây dựng nguyên mẫu.

OpenAgents: Thiết Kế và Triển Khai Nền Tảng

Thiết kế hệ thống hoặc kiến trúc của nền tảng OpenAgents có thể được chia thành hai thành phần chính: Giao Diện Người Dùng, bao gồm cả backend và frontend, Trợ Lý Ngôn Ngữ, bao gồm các công cụ, mô hình ngôn ngữ và môi trường. Khuôn khổ OpenAgents cung cấp một giao diện cho việc giao tiếp giữa người dùng và các trợ lý. Lưu lượng tương tác trong khuôn khổ là như sau.

Các trợ lý sử dụng các công cụ có sẵn để lập kế hoạch và thực hiện các hành động cần thiết trong môi trường một khi chúng đã nhận được đầu vào từ người dùng. Kiến trúc hoặc thiết kế hệ thống của khuôn khổ được minh họa trong hình ảnh sau.

Giao Diện Người Dùng

Các nhà phát triển của khuôn khổ OpenAgents đã dành nhiều thời gian và công sức để phát triển không chỉ một giao diện người dùng rất chức năng mà còn thân thiện với người dùng sau khi giải quyết một loạt các trợ lý chủ nhà và logic kinh doanh có thể tái sử dụng. Kết quả là, khuôn khổ OpenAgents tự hào về việc cung cấp hỗ trợ cho một loạt các nhiệm vụ kỹ thuật bao gồm xử lý lỗi, hoạt động của máy chủ backend, truyền dữ liệu và nhiều hơn nữa, với mục tiêu chính là làm cho khuôn khổ OpenAgents trở nên thân thiện với người dùng nhưng cũng rất hiệu quả và có thể sử dụng.

Trợ Lý Ngôn Ngữ

Trong khuôn khổ OpenAgents, trợ lý ngôn ngữ có ba thành phần thiết yếu: giao diện công cụ, mô hình ngôn ngữ và môi trường itself. Phương pháp nhắc được thực hiện trong khuôn khổ OpenAgents tạo ra một quá trình tuần tự cho các trợ lý để theo dõi bắt đầu từ Quan Sát -> Tư Duy -> Hành Động. Khuôn khổ cũng nhắc LLM để tạo ra văn bản có thể phân tích với hiệu suất cao hơn, và giao diện công cụ bao gồm các trình phân tích có thể dịch văn bản có thể phân tích được tạo ra bởi LLM thành các hành động có thể thực thi như gọi API hoặc tạo mã. Những hành động này sau đó được thực hiện bởi khuôn khổ trong phạm vi của môi trường tương ứng.

Trợ Lý Của OpenAgents

Ở cốt lõi của OpenAgents, có ba trợ lý khác nhau: Trợ Lý Dữ Liệu giúp phân tích dữ liệu bằng cách sử dụng các công cụ dữ liệu và ngôn ngữ truy vấn như SQL hoặc ngôn ngữ lập trình như Python, Trợ Lý Plugin giúp cung cấp quyền truy cập vào hơn 200 công cụ API hữu ích cho các nhiệm vụ hàng ngày, và Trợ Lý Web giúp duyệt web trong khi duy trì sự ẩn danh của bạn. Những trợ lý này có chuyên môn về lĩnh vực riêng tương tự như các plugin của ChatGPT, tuy nhiên, không giống như ChatGPT, việc triển khai trên OpenAgents dựa hoàn toàn trên các API ngôn ngữ ứng dụng mở.

Trợ Lý Dữ Liệu

Trợ lý dữ liệu trong khuôn khổ OpenAgents đã được thiết kế và triển khai để xử lý nhiều nhiệm vụ liên quan đến dữ liệu mà người dùng cuối gặp phải hàng ngày. Trợ lý dữ liệu hỗ trợ tạo và thực hiện mã trong hai ngôn ngữ lập trình là SQL và Python, và trợ lý cũng có một số công cụ dữ liệu tại disposal của nó, bao gồm Quản Lý Dữ Liệu để cung cấp thông tin dữ liệu cơ bản, Tìm Kiếm Dữ Liệu Kaggle để tìm kiếm tập dữ liệu, và Công Cụ ECharts để tạo biểu đồ ECharts tương tác. Hơn nữa, khuôn khổ OpenAgents nhắc trợ lý dữ liệu để sử dụng các công cụ này một cách chủ động để phản hồi hiệu quả các yêu cầu của người dùng cuối. Ngoài ra, do yêu cầu mã hóa đầy đủ, khuôn khổ OpenAgents chọn mô hình ngôn ngữ nhúng cho trợ lý dữ liệu, và thay vì trợ lý tạo mã, chính các công cụ như Python, ECharts và SQL tạo mã. Với cách tiếp cận này, khuôn khổ có thể tận dụng hoàn toàn khả năng lập trình của mô hình ngôn ngữ và do đó giảm gánh nặng cho trợ lý dữ liệu.

Với sự hỗ trợ của các công cụ dữ liệu này, trợ lý dữ liệu có khả năng quản lý nhiều yêu cầu liên quan đến dữ liệu, và thực hiện trực quan hóa dữ liệu, xử lý và truy vấn một cách thành thạo, vượt qua ranh giới của tạo mã và văn bản. Hình ảnh sau minh họa trợ lý dữ liệu hoạt động và các công cụ có sẵn cho người dùng chung.

Trợ Lý Plugin

Trợ lý plugin trong khuôn khổ OpenAgents đã được thiết kế bởi các nhà phát triển một cách cẩn thận để đáp ứng nhu cầu đa dạng của người dùng cho các nhiệm vụ hàng ngày, bao gồm tìm kiếm internet, mua sắm trực tuyến, đọc tin tức hoặc tạo trang web và ứng dụng bằng cách cung cấp quyền truy cập vào hơn 200 plugin, với sự chú ý đặc biệt đến giao diện gọi hàm, ping API và độ dài phản hồi API. Một số plugin nổi bật bao gồm

  1. Tìm Kiếm Google
  2. Wolfram Alpha
  3. Zapier
  4. Klarna
  5. Coursera
  6. Show Me
  7. Speak
  8. AskYourPDF
  9. BizTok
  10. Klook

Dựa trên nhu cầu và yêu cầu của họ, người dùng có thể chọn số lượng plugin họ muốn trợ lý plugin sử dụng, và cách thức hoạt động được minh họa trong hình dưới đây.

Hơn nữa, để giúp người dùng trong những tình huống họ không chắc chắn plugin nào sẽ phù hợp nhất với yêu cầu của họ, khuôn khổ OpenAgents cung cấp một tính năng giúp người dùng tự động chọn các plugin phù hợp nhất với hướng dẫn của họ.

Trợ Lý Web

Khuôn khổ OpenAgents trình bày trợ lý web như một công cụ chuyên dụng được giao nhiệm vụ tăng cường hiệu quả và khả năng của trợ lý trò chuyện. Mặc dù trợ lý trò chuyện vẫn giữ giao diện tương tác chính, nhưng nó kết hợp trợ lý web một cách liền mạch khi cần thiết. Phản hồi cuối cùng sau đó được giao cho người dùng cuối bởi trợ lý web, và quá trình được minh họa trong hình dưới đây.

Chiến lược thiết kế được thực hiện trong các trợ lý web này chứng minh là có lợi vì trợ lý trò chuyện xử lý các tham số quan trọng hoặc khởi tạo URL một cách hệ thống trước khi chúng được chuyển đến trợ lý web, do đó đảm bảo sự phù hợp tốt hơn giữa yêu cầu của người dùng và đầu ra được tạo ra, dẫn đến giao tiếp rõ ràng. Hơn nữa, chiến lược này cũng cho phép các trợ lý web thích ứng với các truy vấn người dùng phân lớp và thích ứng bằng cách sử dụng điều hướng web đa lượt động kết hợp với hội thoại trò chuyện. Do đó, bằng cách phân định rõ ràng vai trò và trách nhiệm của trợ lý trò chuyện và trợ lý duyệt web, khuôn khổ OpenAgents tạo điều kiện cho sự tinh chỉnh và tiến hóa của từng mô-đun riêng biệt.

OpenAgents: Ứng Dụng Thực Tiễn và Triển Khai Trong Thế Giới Thực

Trong phần này, chúng tôi sẽ thảo luận về hành trình của khuôn khổ OpenAgents từ lý thuyết đến triển khai trong thế giới thực cùng với các thách thức gặp phải và bài học kinh nghiệm, cũng như sự phức tạp của việc đánh giá mà các nhà phát triển đã giải quyết.

Sử Dụng Nhắc Để Chuyển Đổi Mô Hình Ngôn Ngữ Lớn Thành Ứng Dụng Thế Giới Thực

Khi sử dụng nhắc LLM để xây dựng ứng dụng thế giới thực cho người dùng cuối, khuôn khổ OpenAgents sử dụng hướng dẫn nhắc để chỉ định các yêu cầu cụ thể. Mục tiêu của một số hướng dẫn là đảm bảo đầu ra được căn chỉnh với một định dạng cụ thể, cho phép logic backend xử lý, trong khi mục tiêu của các hướng dẫn khác là tăng cường vẻ đẹp của đầu ra, trong khi phần còn lại bảo vệ khuôn khổ chống lại các cuộc tấn công độc hại tiềm năng.

Các Yếu Tố Thực Tiễn Không Kiểm Soát Được

Khi các nhà phát triển triển khai khuôn khổ OpenAgents trong thế giới thực, họ đã gặp phải một loạt các yếu tố thực tiễn không kiểm soát được được kích hoạt bởi cơ sở hạ tầng internet, người dùng, logic kinh doanh và nhiều hơn nữa. Những yếu tố không kiểm soát được này buộc các nhà phát triển phải đánh giá lại và tinh chỉnh một số giả định dựa trên nghiên cứu trước đây, và chúng có thể cuối cùng dẫn đến những tình huống mà người dùng cuối có thể không hài lòng với phản hồi mà khuôn khổ tạo ra.

Phức Tạp Đánh Giá

Mặc dù các trợ lý được xây dựng trực tiếp cho các ứng dụng có thể có ứng dụng rộng rãi hơn và tạo điều kiện cho việc đánh giá tốt hơn, nhưng chúng cũng thêm vào sự phức tạp của việc xây dựng các ứng dụng được hỗ trợ bởi LLM, điều này làm cho việc phân tích hiệu suất của các ứng dụng trở nên khó khăn. Hơn nữa, cách tiếp cận này cũng thêm vào sự không ổn định và kéo dài chuỗi hệ thống của các mô hình LLM, điều này làm cho khuôn khổ khó thích ứng với các thành phần khác nhau. Do đó, việc tinh chỉnh thiết kế hệ thống và logic hoạt động của các trợ lý này là cần thiết để đơn giản hóa các thủ tục và đảm bảo đầu ra hiệu quả.

Lời Kết

Trong bài viết này, chúng tôi đã thảo luận về khuôn khổ OpenAgents, một nền tảng mở để tổ chức và triển khai các trợ lý ngôn ngữ trong thế giới thực và trên nhiều nhiệm vụ hàng ngày. Khuôn khổ OpenAgents được xây dựng xung quanh ba trợ lý: Trợ Lý Dữ Liệu, giúp phân tích dữ liệu bằng cách sử dụng các công cụ dữ liệu và ngôn ngữ truy vấn như SQL hoặc ngôn ngữ lập trình như Python, Trợ Lý Plugin, giúp cung cấp quyền truy cập vào hơn 200 công cụ API hữu ích cho các nhiệm vụ hàng ngày, và Trợ Lý Web, giúp duyệt web trong khi duy trì sự ẩn danh của bạn. Khuôn khổ OpenAgents sử dụng giao diện người dùng web được tối ưu hóa cho các lỗi phổ biến và phản hồi nhanh chóng trong nỗ lực cho phép người dùng chung tương tác với các chức năng của trợ lý, đồng thời cung cấp cho các nhà nghiên cứu và nhà phát triển một trải nghiệm triển khai liền mạch trên các thiết lập cục bộ của họ. Bằng cách cung cấp một nền tảng minh bạch, toàn diện và có thể triển khai, OpenAgents nhằm mục đích làm cho tiềm năng của các mô hình LLM trở nên dễ tiếp cận hơn cho một loạt người dùng rộng lớn hơn, không chỉ giới hạn ở các nhà nghiên cứu và nhà phát triển, mà còn bao gồm người dùng cuối có kỹ năng kỹ thuật hạn chế.

Kunal Kejriwal là một kỹ sư backend chuyên về Python, PostgreSQL, Redis và hạ tầng đám mây trên GCP và AWS. Với ba năm kinh nghiệm trong việc xây dựng và mở rộng các hệ thống sản xuất, anh viết về cơ sở hạ tầng AI, các hệ thống phân tán và kiến trúc triển khai các khối tải học máy.