Apidog

Nền tảng phát triển API hợp tác tất cả trong một

Thiết kế API

Tài liệu API

Gỡ lỗi API

Giả lập API

Kiểm thử API tự động

Cách Sử Dụng Thư Viện Python GPT4Free

中村 拓也

中村 拓也

Updated on tháng 4 5, 2025

Giới thiệu

GPT4Free là một thư viện Python mã nguồn mở cung cấp quyền truy cập vào một bộ sưu tập các mô hình ngôn ngữ mạnh mẽ thông qua nhiều nhà cung cấp khác nhau. Nó hoạt động như một gói API thử nghiệm cho thấy yêu cầu AI đa nhà cung cấp với các tính năng như thời gian chờ, cân bằng tải và kiểm soát luồng. Thư viện này cho phép các nhà phát triển sử dụng các mô hình ngôn ngữ khác nhau để tạo văn bản, bao gồm các biến thể GPT-3.5 và GPT-4, mà không cần đến các khóa API chính thức trong nhiều trường hợp.

Hướng dẫn này sẽ hướng dẫn bạn qua quá trình cài đặt, thiết lập và sử dụng thư viện gpt4free, cho thấy cách tận dụng các khả năng của nó cho nhiều tác vụ tạo văn bản bằng AI khác nhau.

Cân nhắc hợp pháp

💡
CẢNH BÁO: Trước khi tiến hành với hướng dẫn này, điều quan trọng là phải hiểu các hệ quả pháp lý khi sử dụng thư viện gpt4free.

Bằng cách sử dụng kho lưu trữ này hoặc bất kỳ mã nào liên quan đến nó, bạn đồng ý với thông báo pháp lý được cung cấp bởi các nhà phát triển. Tác giả gốc không chịu trách nhiệm về việc sử dụng kho lưu trữ này và cũng không phê duyệt nó. Tác giả cũng không chịu trách nhiệm về bất kỳ bản sao, nhánh, tải lại nào do người dùng khác thực hiện, hoặc bất cứ điều gì khác liên quan đến GPT4Free.

GPT4Free chủ yếu hoạt động như một bằng chứng khái niệm cho sự phát triển của một gói API với yêu cầu đa nhà cung cấp. Sử dụng thư viện này để vượt qua các API chính thức có thể vi phạm điều khoản dịch vụ của các nhà cung cấp AI khác nhau. Trước khi triển khai bất kỳ giải pháp nào dựa trên thư viện này trong môi trường sản xuất, hãy đảm bảo bạn có sự ủy quyền thích hợp và tuân thủ các điều khoản dịch vụ của từng nhà cung cấp mà bạn dự kiến sử dụng.

Trước khi đi sâu vào chi tiết thực hiện, đáng lưu ý rằng bạn có thể sử dụng Apidog như một lựa chọn tuyệt vời thay thế cho Postman để thử nghiệm API với gpt4free. Apidog là một nền tảng phát triển API toàn diện cung cấp các tính năng như thiết kế API, gỡ lỗi, thử nghiệm tự động và tài liệu.

Khi làm việc với API can thiệp gpt4free, Apidog có thể giúp bạn:

  1. Gửi các yêu cầu đến các điểm cuối API
  2. Kiểm tra các cấu hình tham số khác nhau
  3. Hiển thị dữ liệu phản hồi
  4. Tạo và lưu trữ các bộ sưu tập yêu cầu API để sử dụng trong tương lai
button

Cách cài đặt GPT4Free

Cần có

  • Python 3.10 hoặc cao hơn (được khuyên dùng)
  • Google Chrome (cần thiết cho các nhà cung cấp có webdriver)

Các phương pháp cài đặt GPT4Free

Phương pháp 1: Sử dụng PyPI

Để cài đặt đầy đủ với tất cả các tính năng:

pip install -U g4f[all]

Để cài đặt một phần:

# Đối với nhà cung cấp OpenAI Chat
pip install -U g4f[openai]

# Đối với API can thiệp
pip install -U g4f[api]

# Đối với giao diện web
pip install -U g4f[gui]

# Đối với tạo hình ảnh
pip install -U g4f[image]

# Đối với các nhà cung cấp có webdriver
pip install -U g4f[webdriver]

# Đối với hỗ trợ proxy
pip install -U aiohttp_socks

Phương pháp 2: Từ kho chứa GitHub

# Sao chép kho lưu trữ
git clone https://github.com/xtekky/gpt4free.git

# Di chuyển đến thư mục dự án
cd gpt4free

# Tạo môi trường ảo (được khuyên dùng)
python3 -m venv venv

# Kích hoạt môi trường ảo
# Trên Windows:
.\venv\Scripts\activate
# Trên macOS và Linux:
source venv/bin/activate

# Cài đặt yêu cầu tối thiểu
pip install -r requirements-min.txt

# Hoặc cài đặt tất cả yêu cầu
pip install -r requirements.txt

Phương pháp 3: Sử dụng Docker

# Kéo ảnh Docker
docker pull hlohaus789/g4f

# Chạy container
docker run -p 8080:8080 -p 1337:1337 -p 7900:7900 --shm-size="2g" hlohaus789/g4f:latest

Đối với phiên bản nhỏ gọn (tương thích cả x64 và arm64):

# Tạo các thư mục cần thiết
mkdir -p ${PWD}/har_and_cookies ${PWD}/generated_images
chown -R 1000:1000 ${PWD}/har_and_cookies ${PWD}/generated_images

# Chạy ảnh Docker nhỏ gọn
docker run \
  -p 1337:1337 \
  -v ${PWD}/har_and_cookies:/app/har_and_cookies \
  -v ${PWD}/generated_images:/app/generated_images \
  hlohaus789/g4f:latest-slim \
  /bin/sh -c 'rm -rf /app/g4f && pip install -U g4f[slim] && python -m g4f --debug'

Cách sử dụng GPT4Free với Python cơ bản

Tạo văn bản với ChatCompletion

Ví dụ đơn giản

import g4f

# Bật ghi log gỡ lỗi (tùy chọn)
g4f.debug.logging = True

# Tắt kiểm tra phiên bản tự động (tùy chọn)
g4f.debug.version_check = False

# Phản hồi bình thường (không luồng)
response = g4f.ChatCompletion.create(
    model="gpt-3.5-turbo",
    messages=[{"role": "user", "content": "Xin chào, hôm nay bạn thế nào?"}]
)
print(response)

Phản hồi luồng

import g4f

# Luồng phản hồi
response = g4f.ChatCompletion.create(
    model="gpt-3.5-turbo",
    messages=[{"role": "user", "content": "Viết một câu chuyện ngắn về một con robot."}],
    stream=True
)

for message in response:
    print(message, end='', flush=True)

Sử dụng một nhà cung cấp cụ thể

import g4f

# Liệt kê tất cả các nhà cung cấp hoạt động
providers = [provider.__name__ for provider in g4f.Provider.__providers__ if provider.working]
print("Các nhà cung cấp có sẵn:", providers)

# Sử dụng một nhà cung cấp cụ thể
response = g4f.ChatCompletion.create(
    model="gpt-3.5-turbo",
    provider=g4f.Provider.Aichat,
    messages=[{"role": "user", "content": "Giải thích tính toán lượng tử bằng những thuật ngữ đơn giản."}]
)
print(response)

Sử dụng API khách hàng

Một cách tiếp cận hiện đại hơn sử dụng API khách hàng:

from g4f.client import Client

# Tạo một phiên bản khách hàng
client = Client()

# Tạo văn bản bằng cách sử dụng hoàn thành trò chuyện
response = client.chat.completions.create(
    model="gpt-4o-mini",
    messages=[{"role": "user", "content": "Xin chào"}],
    web_search=False
)
print(response.choices[0].message.content)

Tạo hình ảnh

from g4f.client import Client

# Tạo một phiên bản khách hàng
client = Client()

# Tạo một hình ảnh
response = client.images.generate(
    model="flux",
    prompt="một con mèo siamese trắng",
    response_format="url"
)
print(f"URL hình ảnh được tạo: {response.data[0].url}")

Xác thực nhà cung cấp

Một số nhà cung cấp yêu cầu cookie hoặc mã thông báo truy cập để xác thực:

from g4f import set_cookies

# Đặt cookie cho Bing
set_cookies(".bing", {"_U": "giá trị cookie"})

# Đặt mã thông báo truy cập cho OpenAI Chat
set_cookies("chat.openai.com", {"access_token": "giá trị mã thông báo"})

Sử dụng tự động hóa trình duyệt

Đối với các nhà cung cấp yêu cầu tương tác với trình duyệt:

import g4f
from undetected_chromedriver import Chrome, ChromeOptions

# Cấu hình tùy chọn Chrome
options = ChromeOptions()
options.add_argument("--incognito")

# Khởi tạo WebDriver Chrome
webdriver = Chrome(options=options, headless=True)

try:
    # Sử dụng trình duyệt cho nhiều yêu cầu
    for idx in range(5):
        response = g4f.ChatCompletion.create(
            model=g4f.models.default,
            provider=g4f.Provider.MyShell,
            messages=[{"role": "user", "content": f"Cho tôi ý tưởng #{idx+1} cho một ứng dụng di động."}],
            webdriver=webdriver
        )
        print(f"Ý tưởng {idx+1}:", response)
finally:
    # Luôn đóng webdriver khi xong
    webdriver.quit()

Hỗ trợ bất đồng bộ

Để cải thiện hiệu suất với nhiều yêu cầu:

import g4f
import asyncio

# Định nghĩa các nhà cung cấp để sử dụng
providers = [
    g4f.Provider.Aichat,
    g4f.Provider.ChatBase,
    g4f.Provider.Bing,
    g4f.Provider.GptGo
]

async def run_provider(provider):
    try:
        response = await g4f.ChatCompletion.create_async(
            model=g4f.models.default,
            messages=[{"role": "user", "content": "Tên bạn là gì?"}],
            provider=provider,
        )
        print(f"{provider.__name__}:", response)
    except Exception as e:
        print(f"{provider.__name__}:", e)

async def run_all():
    calls = [run_provider(provider) for provider in providers]
    await asyncio.gather(*calls)

# Chạy tất cả các nhà cung cấp một cách bất đồng bộ
asyncio.run(run_all())

Hỗ trợ proxy và thời gian chờ

Để xử lý các hạn chế mạng:

import g4f

# Sử dụng với proxy cụ thể và thời gian chờ mở rộng
response = g4f.ChatCompletion.create(
    model=g4f.models.default,
    messages=[{"role": "user", "content": "Làm thế nào để tôi cải thiện mã Python của mình?"}],
    proxy="http://host:port",  # hoặc socks5://user:pass@host:port
    timeout=120  # tính bằng giây
)
print("Kết quả:", response)

Bạn cũng có thể thiết lập một proxy toàn cầu thông qua biến môi trường:

export G4F_PROXY="http://host:port"

Chạy giao diện web với GPT4Free

GPT4Free bao gồm một giao diện web để tương tác dễ dàng hơn:

from g4f.gui import run_gui
run_gui()

Hoặc, sử dụng dòng lệnh:

# Bắt đầu máy chủ Flask
python -m g4f.cli gui --port 8080 --debug

# Hoặc khởi động máy chủ FastAPI
python -m g4f --port 8080 --debug

Giao diện web sẽ có sẵn tại http://localhost:8080/chat/

Sử dụng API can thiệp với GPT4Free

GPT4Free cung cấp API tương thích với OpenAI để tích hợp với các công cụ khác:

# Chạy máy chủ API
from g4f.api import run_api
run_api()

Hoặc thông qua dòng lệnh:

g4f-api
# hoặc
python -m g4f.api.run

Sau đó kết nối với nó bằng cách sử dụng khách hàng Python OpenAI:

from openai import OpenAI

client = OpenAI(
    # Tùy chọn: Đặt mã thông báo Hugging Face của bạn cho e mbeddings
    api_key="YOUR_HUGGING_FACE_TOKEN",
    base_url="http://localhost:1337/v1"
)

# Sử dụng nó giống như khách hàng chính thức của OpenAI
chat_completion = client.chat.completions.create(
    model="gpt-3.5-turbo",
    messages=[{"role": "user", "content": "Viết một bài thơ về một cái cây"}],
    stream=True,
)

for token in chat_completion:
    content = token.choices[0].delta.content
    if content is not None:
        print(content, end="", flush=True)

Các mô hình & nhà cung cấp được hỗ trợ bởi GPT4Free

GPT4Free hỗ trợ nhiều nhà cung cấp với các khả năng khác nhau. Một số nhà cung cấp hỗ trợ GPT-4, một số hỗ trợ GPT-3.5 và một số hỗ trợ các mô hình thay thế.

Nhà cung cấp GPT-4

  • Bing (g4f.Provider.Bing)
  • GeekGpt (g4f.Provider.GeekGpt)
  • GptChatly (g4f.Provider.GptChatly)
  • Liaobots (g4f.Provider.Liaobots)
  • Raycast (g4f.Provider.Raycast)

Nhà cung cấp GPT-3.5

  • AItianhu (g4f.Provider.AItianhu)
  • AItianhuSpace (g4f.Provider.AItianhuSpace)
  • AiAsk (g4f.Provider.AiAsk)
  • Aichat (g4f.Provider.Aichat)
  • ChatBase (g4f.Provider.ChatBase)
  • ChatForAi (g4f.Provider.ChatForAi)
  • ChatgptAi (g4f.Provider.ChatgptAi)
  • Còn nhiều hơn nữa...

Các mô hình khác

  • Bard (Palm của Google)
  • DeepInfra
  • HuggingChat
  • Llama2
  • OpenAssistant

Kết luận

Thư viện Python gpt4free cung cấp một loạt khả năng ấn tượng để truy cập vào các mô hình ngôn ngữ khác nhau mà không yêu cầu các khóa API chính thức trong nhiều trường hợp. Bằng cách cung cấp một giao diện thống nhất cho nhiều nhà cung cấp, nó cho phép các nhà phát triển thử nghiệm với các mô hình ngôn ngữ khác nhau và so sánh hiệu suất của chúng.

Mặc dù thư viện này chủ yếu là một bằng chứng khái niệm và có thể có các hệ quả pháp lý cho việc sử dụng sản xuất, nó là một công cụ có giá trị để tìm hiểu về các khả năng của AI, thử nghiệm các dự án nhỏ và hiểu cách mà các mô hình ngôn ngữ khác nhau hoạt động.

Hãy nhớ sử dụng thư viện này một cách có trách nhiệm, tôn trọng các điều khoản dịch vụ của các nhà cung cấp và cân nhắc về đạo đức xung quanh việc sử dụng AI. Đối với các ứng dụng sản xuất, được khuyến nghị mạnh mẽ sử dụng các API chính thức với xác thực và cấp phép thích hợp.

Thư viện đang trong quá trình phát triển tích cực, vì vậy hãy kiểm tra kho lưu trữ GitHub và tài liệu để biết các tính năng mới nhất, các nhà cung cấp và các thực tiễn tốt nhất. Khi lĩnh vực AI tiếp tục phát triển nhanh chóng, các công cụ như gpt4free giúp phổ biến quyền truy cập vào công nghệ tiên tiến, cho phép nhiều nhà phát triển hơn thử nghiệm và học hỏi từ các mô hình mạnh mẽ này.