VI ▾
Lấy khóa API

Open WebUI và n8n: Kết nối Chat với API không kiểm duyệt

Open WebUI cung cấp cho bạn một cửa sổ trò chuyện, n8n cung cấp khả năng tự động hóa, và cả hai đều có thể sử dụng cùng một endpoint tương thích OpenAI. Dưới đây là cách cấu hình từng công cụ và cách trò chuyện từ một quy trình làm việc n8n.

Cập nhật

Cửa sổ trò chuyện và bảng quy trình được liên kết bằng cáp với một máy chủ API, hiển thị Open WebUI và n8n chia sẻ một endpoint

Điểm chính

  1. Trong Open WebUI, thêm URL cơ sở và khóa dưới Cài đặt Quản trị, Kết nối, hoặc đặt hai biến môi trường trong Docker.
  2. Trong n8n, ghi đè URL cơ sở trong thông tin xác thực OpenAI hoặc sử dụng nút Yêu cầu HTTP.
  3. Sử dụng ID mô hình uncensored trong cả hai công cụ.
  4. Giữ các vòng lặp n8n dưới 8 yêu cầu đồng thời và bật thử lại cho các phản hồi 429.

Những gì bạn đang thiết lập

Nếu bạn đến đây bằng cách gõ openwebui cách trò chuyện n8n, bạn có lẽ đang cố gắng thực hiện hai việc liên quan: nói chuyện với mô hình trong Open WebUI và gọi cùng mô hình đó từ các quy trình n8n. Cả hai công cụ đều có thể trỏ đến bất kỳ máy chủ nào tuân theo định dạng hoàn thành trò chuyện OpenAI, vì vậy một tài khoản bao gồm cả hai.

Open WebUI là giao diện trò chuyện tự lưu trữ. n8n là công cụ tự động hóa quy trình nơi bạn kết nối các nút với nhau. API phía sau chúng giống nhau trong mỗi trường hợp:

  • URL cơ sở: https://api.nofilteraichat.com/v1
  • ID mô hình: uncensored
  • Auth: tiêu đề Authorization: Bearer mang theo khóa của bạn

Bạn cần một khóa trước. Trang khóa API hướng dẫn đăng ký và tín dụng dùng thử $0.50 một cú nhấp chuột, đủ để kiểm tra mọi thứ bên dưới.

Phần một: Open WebUI

Tùy chọn A: bảng quản trị

Nếu Open WebUI đang chạy, hãy đăng nhập với tư cách quản trị và mở Cài đặt Quản trị, sau đó Kết nối. Thêm kết nối API OpenAI mới với các giá trị này:

  1. URL: https://api.nofilteraichat.com/v1
  2. Khóa: khóa API của bạn
  3. Lưu, sau đó sử dụng nút xác minh nếu phiên bản của bạn có.

Tên menu thay đổi một chút giữa các bản phát hành, vì vậy hãy tìm phần liệt kê các kết nối kiểu OpenAI. Sau khi lưu, hãy bắt đầu một cuộc trò chuyện mới và mở bộ chọn mô hình. Mô hình uncensored sẽ xuất hiện, vì Open WebUI tải danh sách từ GET /v1/models.

Tùy chọn B: biến môi trường trong Docker

Nếu bạn bắt đầu từ đầu, hãy truyền các cài đặt khi bạn khởi chạy container:

docker run -d --name open-webui -p 3000:8080 \
  -e OPENAI_API_BASE_URL="https://api.nofilteraichat.com/v1" \
  -e OPENAI_API_KEY="$NOFILTER_API_KEY" \
  -v open-webui:/app/backend/data \
  ghcr.io/open-webui/open-webui:main

Mở http://localhost:3000, tạo tài khoản cục bộ đầu tiên và mô hình sẽ hiển thị trong trình chọn. Lưu ý rằng Open WebUI lưu trữ các cài đặt kết nối trong cơ sở dữ liệu của nó sau lần khởi chạy đầu tiên. Nếu bạn thay đổi các biến sau đó mà không có gì xảy ra, hãy chỉnh sửa kết nối trong bảng điều khiển quản trị.

Điều chỉnh trò chuyện

Trong các điều khiển trò chuyện, bạn có thể đặt temperature, top_p, một chuỗi dừng và một system prompt. Những giá trị này được chuyển tiếp đến mô hình. Đối với văn học và nhập vai, nhiệt độ từ 0.7 đến 1.0 mang lại văn phong sống động hơn. Đối với các câu hỏi mang tính thực tế, hãy đặt giá trị thấp hơn. Nếu mô hình bắt đầu lặp lại các cụm từ, hãy tăng frequency penalty lên một chút.

Phần hai: n8n với nút OpenAI

n8n có thông tin xác thực OpenAI gốc. Cấu hình của nó bao gồm trường URL cơ sở, mặc định là máy chủ chính thức. Thay đổi nó và nút sẽ nói chuyện với endpoint của bạn:

  1. Trong n8n, tạo thông tin xác thực mới loại OpenAI.
  2. Dán khóa API của bạn.
  3. Đặt URL cơ sở thành https://api.nofilteraichat.com/v1.
  4. Lưu và đính kèm thông tin xác thực vào nút Mô hình Trò chuyện OpenAI hoặc quy trình Đại lý AI.

Điểm mấu chốt nằm ở trường mô hình. Một số node hiển thị một danh sách thả xuống được điền từ danh sách mô hình, trong khi một số khác giới hạn các lựa chọn chỉ ở các tên đã biết. Nếu bạn không thể chọn uncensored, hãy chuyển trường sang chế độ biểu thức và nhập thủ công ID. Nếu phiên bản n8n của bạn vẫn từ chối, hãy sử dụng phương thức HTTP Request trong phần tiếp theo, phương thức này không có hạn chế đó.

Khi thông tin xác thực hoạt động, bạn có thể gắn mô hình trò chuyện vào một nút AI Agent và cung cấp công cụ cho nó. API hỗ trợ gọi công cụ (tools, tool_choice, và kết quả dưới dạng role: "tool"). Tương tự như bất kỳ mô hình trọng số mở nào, hãy kiểm tra agent với các đầu vào thực tế và giữ mô tả công cụ ngắn gọn và trực tiếp.

Phần ba: trò chuyện từ nút Yêu cầu HTTP

Tùy chọn dễ dự đoán nhất là nút Yêu cầu HTTP đơn giản. Nó hiển thị chính xác những gì được gửi và hoạt động trong mọi phiên bản n8n. Cấu hình nút như sau:

  • Phương thức: POST
  • URL: https://api.nofilteraichat.com/v1/chat/completions
  • Xác thực: Header Auth, với tên Authorization và giá trị Bearer YOUR_KEY (lưu trữ dưới dạng thông tin xác thực, không phải trong nút)
  • Gửi Thân: bật, loại nội dung JSON

Đặt thân thành nội dung sau, sử dụng biểu thức cho văn bản người dùng:

{
  "model": "uncensored",
  "messages": [
    { "role": "system", "content": "You are a concise story assistant for adult fiction writers." },
    { "role": "user", "content": "{{ $json.prompt }}" }
  ],
  "temperature": 0.8,
  "max_tokens": 600
}

Văn bản phản hồi nằm ở choices[0].message.content. Trong node tiếp theo, hãy đọc nó bằng biểu thức {{ $json.choices[0].message.content }}. Phản hồi đó cũng chứa một khối usage, vì vậy bạn có thể ghi lại số lượng token vào một bảng tính hoặc cơ sở dữ liệu.

Một quy trình điển hình là kích hoạt webhook, nút HTTP này và nút phản hồi trả về văn bản. Một quy trình phổ biến khác đọc các hàng từ bảng tính, tạo bản nháp cho từng hàng và ghi kết quả trở lại. Bạn cũng có thể kiểm tra yêu cầu bên ngoài n8n trước bằng curl:

curl https://api.nofilteraichat.com/v1/chat/completions \
  -H "Authorization: Bearer $NOFILTER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"uncensored","messages":[{"role":"user","content":"Say hello in five words."}]}'

Giới hạn, thử lại và phân lô trong n8n

Một khóa đầy đủ cho phép 8 yêu cầu đồng thời và 300 yêu cầu mỗi phút; một khóa dùng thử cho phép 2 và 60. n8n dễ dàng phá vỡ những con số đó, vì một nút xử lý mọi mục đến và có thể kích hoạt chúng nhanh chóng.

Trong node HTTP Request, hãy mở Options và sử dụng Batching: đặt kích thước batch là 4 hoặc 6 và khoảng thời gian là một hoặc hai giây. Trong phần Settings của node, hãy bật Retry On Fail với 3 lần thử và thời gian chờ là 5000 ms. Điều này phù hợp với hành vi của API: khi API bị quá tải tạm thời, nó sẽ trả về HTTP 429 kèm tiêu đề Retry-After: 5. Các mã 429 khác cho bạn biết giới hạn nào bạn đã chạm tới: rate_limited nghĩa là quá nhiều yêu cầu mỗi phút, concurrency nghĩa là quá nhiều yêu cầu cùng lúc.

Streaming cần một lưu ý. Một yêu cầu streaming giữ nguyên slot concurrency của nó cho đến khi stream kết thúc. Trong n8n, hãy tắt streaming trong node HTTP, vì quy trình làm việc sẽ chờ toàn bộ câu trả lời. Open WebUI mặc định sử dụng streaming, điều này phù hợp cho một cửa sổ trò chuyện.

Chi phí của một quy trình

Giả sử một quy trình làm việc xử lý 500 hàng, gửi 800 token đầu vào và nhận được 250 token đầu ra cho mỗi hàng. Đầu vào: 500 × 800 = 400.000 token, chi phí 400.000 × $0,15 / 1.000.000 = $0,06. Đầu ra: 500 × 250 = 125.000 token, chi phí 125.000 × $0,50 / 1.000.000 = $0,0625. Tổng chi phí của lần chạy là $0,1225, tương đương khoảng 12 cent. Xem trang giá cả để biết cách nạp tiền.

Khắc phục sự cố

Triệu chứngNguyên nhân có thểCách khắc phục
Open WebUI không hiển thị mô hình nàoURL hoặc khóa saiSử dụng URL cơ sở kết thúc bằng /v1; kiểm tra GET /v1/models bằng curl
Các thay đổi env Docker bị bỏ quaCài đặt đã được lưu trữChỉnh sửa kết nối trong Cài đặt Quản trị
401 từ n8nGiá trị tiêu đề thiếu từ BearerGiá trị phải đọc Bearer, một khoảng trắng, sau đó là khóa
Open WebUI trong Docker không thể kết nối với proxy cục bộlocalhost trỏ tới containerSử dụng địa chỉ máy chủ, không phải localhost
Lỗi 429 giữa vòng lặpQuá nhiều yêu cầu đồng thờiNhóm các nút HTTP và bật tính năng thử lại
Không tìm thấy mô hìnhTên được nhập saiID duy nhất là uncensored

Hãy nhớ các giới hạn sản phẩm khi bạn thiết kế quy trình: chỉ trò chuyện văn bản, cửa sổ ngữ cảnh 100.000 token dùng chung cho prompt và phản hồi, và kích thước yêu cầu tối đa 8 MB. Không có endpoint embeddings, vì vậy hãy giữ mọi tìm kiếm vector trên một dịch vụ khác. Trang bắt đầu nhanh có tài liệu tham khảo đầy đủ về yêu cầu, và hướng dẫn tích hợp bao gồm nhiều giao diện người dùng hơn. Các prompt được gửi qua API không được sử dụng để huấn luyện.

Quy tắc cứng này áp dụng cho mọi công cụ: không có nội dung tình dục liên quan đến người chưa thành niên. Trong phạm vi sử dụng người trưởng thành hợp pháp, mô hình được tinh chỉnh để trả lời mà không từ chối nội dung, phù hợp cho ứng dụng tiểu thuyết, nhập vai và bạn đồng hành cho người lớn.

Hỏi đáp

Làm thế nào để thêm endpoint OpenAI tùy chỉnh vào Open WebUI?

Bạn hãy vào Cài đặt Quản trị, Kết nối, thêm kết nối API OpenAI với URL cơ sở và khóa của bạn. Hoặc đặt OPENAI_API_BASE_URL và OPENAI_API_KEY khi bạn khởi động container Docker.

n8n có thể sử dụng URL cơ sở khác cho các nút OpenAI không?

Có. Thông tin xác thực OpenAI có trường Base URL. Nếu danh sách thả xuống mô hình từ chối uncensored, bạn hãy nhập ở chế độ biểu thức hoặc sử dụng nút HTTP Request.

Tại sao vòng lặp n8n của tôi trả về lỗi 429?

Bạn đang gửi nhiều hơn 8 yêu cầu đồng thời hoặc hơn 300 yêu cầu mỗi phút trên một khóa đầy đủ tính năng. Hãy thêm batching vào node HTTP và bật Retry On Fail.

Tôi có thể sử dụng cùng một khóa trong Open WebUI và n8n cùng lúc không?

Có, nhưng cả hai công cụ chia sẻ một giới hạn 8 yêu cầu đồng thời, nên bạn hãy giữ các nhóm luồng nhỏ trong khi trò chuyện.

Khóa của bạn chỉ cách một bước

Tạo tài khoản, sao chép khóa, thay đổi base URL. Đó là toàn bộ thiết lập.

Lấy khóa API