Sử dụng miễn phí mô hình ngôn ngữ lớn (LLM) tương thích ChatGPT API

Sử dụng miễn phí mô hình ngôn ngữ lớn (LLM) tương thích ChatGPT API

Những mẩu tin ngắn hàng ngày dành cho bạn
  • Một phần mềm giúp chuyển đổi văn bản thành giọng nói do một lập trình viên người Việt làm ra - J2TEAM - Text to Speech (Free). Bạn có thể chuyển đổi hàng chục ngôn ngữ sang hàng chục giọng đọc tự nhiên khác nhau. Điều đặc biệt là nó miễn phí.

    Đánh giá sơ bộ thì chuyển đổi văn bản dài hoặc văn bản bằng tiếng Việt thuần thì rất tốt. Còn dính thêm các từ tiếng Anh thì nó đọc hơi buồn cười 😅

    » Xem thêm
  • Quá ghê ghớm, Codeium - vốn được biết đến như một đối thủ của Github Copilot, khi nó cho người dùng dùng miễn phí không giới hạn. Mới đây họ giới thiệu thêm Windsurf Editor - không chỉ còn là VSCode Extentions nữa mà là một trình Editor luôn - cạnh tranh trực tiếp với Cursor. Và điểm chính là nó... hoàn toàn miễn phí 🫣.

    » Xem thêm
  • Tin vui đầu này, Github Copilot đã chính thức có bản Free cho tất cả mọi người.

    Github Copilot là một trợ lý AI code cùng chúng ta, nó có thể tự động hoàn thành mã, trò chuyện hoặc sửa lỗi. Hiện đang hỗ trợ nhiều trình soạn thảo, IDE phổ biến như VSCode, JetBrains, XCode...

    Phiên bản miễn phí đang bị giới hạn 2000 Suggestions, và khoảng 50 requests đến tính năng Chat hàng tháng. Sau đó bạn có thể nâng cấp lên các phiên bản cao cấp hơn với giá từ 10$.

    Theo đánh giá của mình thì Copilot rất tốt và xứng đáng trong tầm giá, đang dùng hàng ngày 😄

    » Xem thêm

Vấn đề

Các mô hình ngôn ngữ lớn (LLM) là các mô hình học sâu rất lớn, được đào tạo trước dựa trên một lượng dữ liệu khổng lồ. Các mô hình ngôn ngữ lớn vô cùng linh hoạt. Một mô hình có thể thực hiện các tác vụ hoàn toàn khác nhau, ví dụ như trả lời câu hỏi, tóm tắt tài liệu, dịch ngôn ngữ và hoàn thành câu. Một trong những LLM rất phổ biến là của ChatGPT.

Nhờ có API của ChatGPT mà có thể tích hợp nó vào trong ứng dụng của mình, tạo ra nhiều tính năng thông minh và đột phá. Ví dụ như làm công cụ dịch văn bản, làm chatbot, hoặc tạo ra các nghiệp vụ xử lý logic bằng ngôn ngữ tự nhiên.

Tuy nhiên các cuộc gọi API đến ChatGPT là mất tiền. Cần phải trả một số tiền tương ứng với lượng ký tự đầu vào và đầu ra. Nếu nhập vào quá nhiều ký tự hoặc ChatGPT phản hồi quá nhiều chữ, chúng ta phải trả số tiền luỹ tiến.

Trước đây tôi đã có một bài viết nói về cách sử dụng miễn phí gpt4 thông qua Github Copilot, đồng thời cảnh báo bạn đọc rằng đây là một thủ thuật cho nên có thể gây ảnh hưởng đến tài khoản Copilot. Tôi đã sử dụng cách này trong một thời gian dài cho đến khi bị Github gửi email nhắc nhở thì buộc phải ngưng sử dụng.

Sau đó, tôi đi tìm một giải pháp khác nhằm thay thế được API của ChatGPT nhưng đều thất bại, vì đa số các dịch vụ LLM miễn phí chỉ cho tương tác qua giao diện web. Cũng có một số thư viện nguồn mở trên Github giới thiệu là cho phép sử dụng miễn phí gpt API nhưng có vẻ nó vẫn chưa hoạt động ổn định.

Thực tế, có nhiều gã công nghệ đã "nguồn mở" các mô hình ngôn ngữ lớn của họ. Tiêu biểu như Gemma của Google, Llama của Facebook hay mô hình Mistral cũng rất nổi tiếng. Có nhiều bài viết của các bên cho ra nhiều nghiên cứu và so sánh hiệu năng giữa các mô hình này, chúng đều có kết quả tương đối tốt ở một khía cạnh nào đó (gọi là tốt vì nó không bằng với nhiều mô hình yêu cầu chúng ta cần trả tiền như gpt4). Bạn đọc có thể tham khảo thêm tại Comparison of Models: Quality, Performance & Price Analysis.

Một điểm bất lợi nữa là mỗi một mô hình có cách cài đặt và sử dụng khác nhau. Hầu hết các mô hình đều ở dạng cung cấp hay triển khai các API rất thô. Tưởng tưởng như nếu khởi chạy, chỉ có thể tương tác với nó qua dòng lệnh. Nếu may mắn hơn, bạn sẽ tìm được các thư viện viết bằng ngôn ngữ lập trình quen thuộc hơn như Python, Go, JavaScript...

Như vậy, các mô hình ngôn ngữ có vẻ đang bị phân mảnh và buộc chúng ta phải triển khai lại API nếu muốn tương tác với chúng thuận lợi hơn.

Tưởng mọi chuyện không có tiến triển gì thêm thì thật tình cờ, tôi biết đến một công cụ có tên là Ollama. Ollama giúp cài đặt và sử dụng các mô hình ngôn ngữ mở miễn phí chỉ với 1 dòng lệnh. Ollama hiện đang hỗ trợ cả MacOS, Window và Linux.

Để cài đặt Ollama, sử dụng lệnh:

curl -fsSL https://ollama.com/install.sh | sh

Chờ một lúc để quá trình cài đặt hoàn tất. Bây giờ bạn muốn sử dụng mô hình Gemma của Google đúng không? Hãy gõ tiếp một lệnh:

ollama run gemma:7b

Gemma có 2 mô hình 2 tỉ tham số (2B Parameters) và 7 tỉ tham số (7B Parameters). Lệnh trên cài đặt mô hình 7B. Để xem đầy đủ danh sách Ollama hỗ trợ, bạn đọc tham khảo Ollama library. Lưu ý rằng mô hình càng lớn thì đòi hỏi khả năng xử lý cũng như dung lượng RAM lớn.

Sau khi tải xong mô hình, bạn sẽ thấy dấu nhắc lệnh nhập văn bản, hãy thử gõ vào bất kỳ điều gì.

Ollama dấu nhắc lệnh

Đó chính là Gemma phản hồi. Giờ đây bạn đã có thể sử dụng được mô hình này ngay trong máy tính của mình.

Bạn có thể thoát ra bằng cách dùng lệnh /bye. Ollama vẫn chạy ngầm trong máy. Để xem mô hình ngôn ngữ nào đang được chạy, dùng lệnh ollama ps. Để xem tất cả mô hình đã tải về, dùng lệnh ollama ls. Để chạy một mô hình ngôn ngữ, dùng lệnh ollama run <tên_mô_hình>.

Chưa hết, bạn còn có thể gọi Rest API để tương tác với các mô hình ngôn ngữ một cách đơn giản.

Ví dụ tạo cuộc trò chuyện với các role tương tự như ChatGPT.

curl http://localhost:11434/api/chat -d '{
  "model": "llama3",  
  "messages": [
    { "role": "user", "content": "why is the sky blue?" }
  ]
}'

Điều thú vị là Ollama có một lớp để tương thích với API của ChatGPT. Mặc dù chưa tương thích hết nhưng tính năng cơ bản nhất là Chat Completions đã được hỗ trợ. Hãy nhìn vào cuộc gọi API này, bạn có thấy nó quen thuộc?

curl http://localhost:11434/v1/chat/completions \
    -H "Content-Type: application/json" \
    -d '{
        "model": "gemma:7b",  
        "messages": [
            {
                "role": "system",  
                "content": "You are a helpful assistant."
            },  
            {
                "role": "user",  
                "content": "Hello!"
            }
        ]
    }'

http://localhost:11434 là địa chỉ cục bộ mà Ollama tạo ra để tương tác với API.

Bạn còn nhớ NextChat chứ? Hãy tích hợp API mới này vào NextChat để quản lý các cuộc hội thoại.

Ollama tích hợp nextchat

Tại ô "OpenAI Endpoint" nhập http://localhost:11434, OpenAI API Key là ollama, Custom Models nhập tên mô hình ngôn ngữ hiện tại đang chạy, ví dụ gemma:7b nếu đang sử dụng Gemma 7B của Google. Model thì chọn tên tương ứng với Custom Models đã chọn ở trên.

Hãy thử API mới ngay nào.

Ollama thử sử dụng

Tổng kết

Ollama là một công cụ giúp chúng ta dễ dàng cài đặt và sử dụng các mô hình ngôn ngữ lớn. Ollama hỗ trợ rất nhiều mô hình mở miễn phí phổ biến và điều tuyệt vời là nó cung cấp API tương thích với ChatGPT, từ đó trở thành công cụ tuyệt vời để thay thế ChatGPT làm những công việc đơn giản thường ngày.

Cao cấp
Hello

Bí mật ngăn xếp của Blog

Là một lập trình viên, bạn có tò mò về bí mật công nghệ hay những khoản nợ kỹ thuật về trang blog này? Tất cả bí mật sẽ được bật mí ngay bài viết dưới đây. Còn chờ đợi gì nữa, hãy bấm vào ngay!

Là một lập trình viên, bạn có tò mò về bí mật công nghệ hay những khoản nợ kỹ thuật về trang blog này? Tất cả bí mật sẽ được bật mí ngay bài viết dưới đây. Còn chờ đợi gì nữa, hãy bấm vào ngay!

Xem tất cả

Đăng ký nhận thông báo bài viết mới

hoặc
* Bản tin tổng hợp được gửi mỗi 1-2 tuần, huỷ bất cứ lúc nào.
Author

Xin chào, tôi tên là Hoài - một anh Dev kể chuyện bằng cách viết ✍️ và làm sản phẩm 🚀. Với nhiều năm kinh nghiệm lập trình, tôi đã đóng góp một phần công sức cho nhiều sản phẩm mang lại giá trị cho người dùng tại nơi đang làm việc, cũng như cho chính bản thân. Sở thích của tôi là đọc, viết, nghiên cứu... Tôi tạo ra trang Blog này với sứ mệnh mang đến những bài viết chất lượng cho độc giả của 2coffee.dev.Hãy theo dõi tôi qua các kênh LinkedIn, Facebook, Instagram, Telegram.

Bạn thấy bài viết này có ích?
Không

Bình luận (1)

Nội dung bình luận...
Avatar
Le Tho6 tháng trước
Bác cho em hỏi xíu về con này với: em có tải ollama.exe bản windowns trên trang chủ của nó do không dùng được curl thì khi host api vào Nextchat như cách bác nói thì bị lỗi "Failed to fetch", không biết có cách nào sửa không ạ.
Trả lời
Avatar
Xuân Hoài Tống6 tháng trước
E trả lời bác bên fb rồi đúng ko 😅