Gần đây tôi nhận được một email từ một học giả tài năng hỏi làm thế nào Botpress giao diện với LLMs .
Anh ấy đang viết một bài báo về cách tránh bị phụ thuộc vào nhà cung cấp và muốn biết liệu chúng tôi có sử dụng một khuôn khổ như LangChain hoặc Haystack không.
Tôi rất vui khi chia sẻ với anh ấy rằng chúng tôi đã tạo ra những khái niệm trừu tượng của riêng mình cho phép Botpress người xây dựng để giao tiếp với LLMs .
Với sự quan tâm rộng rãi hơn về chủ đề này, tôi muốn công khai thông tin này. Nó có thể hữu ích cho các nhà phát triển khác hoặc người dùng nền tảng của chúng tôi. Tôi hy vọng bạn thấy nó thú vị như tôi thấy khi tạo ra nó.
Hai cách Botpress giao diện với LLMs
Botpress đã tạo ra những khái niệm trừu tượng của riêng mình hoạt động theo hai cách:
1. Tích hợp
Tích hợp có khái niệm về các hành động có kiểu đầu vào và đầu ra cụ thể.
Chúng tôi có các thành phần nguồn mở trên nền tảng này, vì vậy cộng đồng có thể tạo ra các tích hợp riêng của họ, có thể là riêng tư hoặc có sẵn để sử dụng công khai.
Vì thế LLM nhà cung cấp – OpenAI , Anthropic, Groq, v.v. – mỗi cái đều có tích hợp. Đó là một cách người dùng của chúng tôi có thể giao tiếp với chúng.
2. LLM giao diện tích hợp
Ngoài khái niệm tích hợp, chúng tôi đã bổ sung thêm “giao diện”.
Đây chỉ là các định nghĩa lược đồ chuẩn mà tích hợp có thể mở rộng. Chúng tôi đã tạo ra một lược đồ chuẩn cho LLMs .
Miễn là tích hợp mở rộng lược đồ này, tích hợp được coi là LLM nhà cung cấp. Vì vậy, nó hoạt động ngay lập tức Botpress .
Dưới đây là một số ví dụ về Botpress tích hợp cho các LLM nhà cung cấp:
Chúng tôi có các giao diện tương tự cho text2image, image2text, voice2text, text2voice, v.v.
Cấu hình mô hình
Bên trong Botpress Studio, chúng tôi có hai cấu hình chung: "Best Model" và "Fast Model". Chúng tôi thấy rằng nhìn chung, hầu hết các tác vụ đều dễ dàng phù hợp với một trong hai chế độ này.
Nhưng ngoài việc lựa chọn mô hình thuần túy, chúng tôi thấy rằng các nhà cung cấp khác nhau có quá nhiều điểm khác biệt về cách gọi công cụ và định dạng tin nhắn để có thể dễ dàng hoán đổi mô hình này sang mô hình khác và mong đợi hiệu suất tốt.
Các Botpress công cụ suy luận
Vì lý do đó, chúng tôi đã tạo ra công cụ suy luận của riêng mình có tên là LLMz, hoạt động với bất kỳ mô hình nào mà không cần (hoặc rất ít) thay đổi nhắc nhở. Và nó cung cấp khả năng gọi công cụ tốt hơn nhiều và thường có hiệu suất tốt hơn nhiều về mặt chi phí mã thông báo và LLM khứ hồi.
Công cụ này hoạt động với các kiểu TypeScript ẩn sau các định nghĩa công cụ, đánh dấu cho định dạng đầu ra của thông báo và mã, và một LLM -hộp cát thực thi gốc để suy luận.
LLMz cung cấp nhiều tính năng tối ưu hóa và gỡ lỗi cần thiết cho các trường hợp sử dụng nâng cao như:
- Nén mã thông báo đầu vào
- Cắt bớt mã thông báo thông minh
- Bộ nhớ theo ngữ cảnh được tối ưu hóa bằng mã thông báo
- Gọi công cụ song song và tổng hợp
- Kết hợp nhiều tin nhắn + cuộc gọi công cụ trong một LLM gọi
- Công cụ an toàn loại đầy đủ (đầu vào và đầu ra)
- Các phiên tồn tại lâu dài thông qua tuần tự hóa hộp cát
- Công cụ chế nhạo, bao bọc và theo dõi
- Cô lập thực thi đầy đủ trong các bản cô lập V8 nhẹ (cho phép chạy hàng nghìn lệnh thực thi đồng thời nhanh chóng và với chi phí rất rẻ)
- Lặp lại tự động và phục hồi lỗi
Tất cả những điều này đều cần thiết cho các trường hợp sử dụng của chúng tôi. Nhưng chúng không thể hoặc rất khó thực hiện bằng cách gọi công cụ thông thường.
Trường hợp chống lại các mô hình bộ định tuyến nhẹ
Chúng tôi đã suy nghĩ rất lâu về việc xây dựng một mô hình bộ định tuyến nhẹ có thể hoạt động trên các mô hình hiện có và tự động chọn mô hình phù hợp cho nhiệm vụ cần thực hiện.
Nhưng chúng tôi quyết định không làm như vậy vì nhiều lý do:
1. Khả năng dự đoán
Điều dễ hiểu là hầu hết khách hàng của chúng tôi đều muốn có kết quả đáng tin cậy và có thể dự đoán được.
Vì vậy, ý tưởng về một bộ định tuyến mô hình động có phần đáng sợ đối với các tác nhân cấp cao. Nó mang đến một lớp không thể đoán trước khác cho LLMs .
2. Tốc độ
Độ trễ rất quan trọng đối với các trường hợp sử dụng của chúng tôi. Để bộ định tuyến nhanh, mô hình phải rất nhỏ (và có thể là ngu ngốc hơn) so với các mô hình mà nó sẽ định tuyến đến - có thể là một bộ phân loại truyền thống.
Mặc dù những thuật toán này thường hoạt động tốt khi được đào tạo cho các tác vụ cụ thể, nhưng a) kích thước ngữ cảnh ngắn của chúng là vấn đề đối với các lời nhắc dài và b) chúng không thể khái quát hóa sang các lời nhắc khác nằm ngoài phạm vi chúng đã được đào tạo.
3. Mô hình tối cao hoặc mô hình bình đẳng
Mặc dù các điểm chuẩn có thể nói ngược lại, nhưng trong thực tế, chúng ta hiếm khi thấy các mô hình vượt trội hơn GPT -4o (cho đến nay).
Vẫn chưa rõ liệu LLMs sẽ thực sự thực hiện tốt hơn nhiệm vụ X so với nhiệm vụ Y theo thời gian, hoặc nếu tất cả LLMs sẽ trở nên cực kỳ giỏi ở hầu hết mọi thứ. Trong trường hợp sau, việc chọn mô hình sẽ không đáng công sức.
Bảo vệ tương lai LLMs với phản hồi
LLMs sẽ trở thành một mặt hàng phổ biến trong vài năm tới và việc lựa chọn mẫu mã sẽ không còn là vấn đề nữa.
Vì những lý do đó, chúng tôi quyết định đầu tư nỗ lực của mình vào việc cung cấp một cơ chế tốt để cung cấp LLMs với ví dụ.
Vì vậy, chúng tôi đã xây dựng một hệ thống để thu thập phản hồi. Nó lưu trữ "những bài học" cho các lần thực hiện trong tương lai. Và nó cung cấp động những bài học có liên quan nhất tại thời điểm kịp thời cho các lần thực hiện trong tương lai, để đảm bảo cải tiến đáng tin cậy và liên tục theo thời gian.
BẰNG LLMs mỗi cải tiến đều hướng tới hiệu suất ngày càng cao hơn, chúng tôi sẵn sàng và hào hứng tận dụng tối đa chúng cho người dùng nền tảng của mình.
Mục lục
Cập nhật thông tin mới nhất về các tác nhân AI
Chia sẻ điều này trên: