import requests
from openai import OpenAI

api_key = os.getenv("OPENAI_API_KEY", "your_api_key")
base_urls = ["https://api.chatanywhere.tech/v1", "https://api.chatanywhere.com.cn/v1"]
client = OpenAI(api_key=api_key, base_url=base_urls[0])

def get_model_list():
url = base_urls[0] + "/models"
headers = {
'Authorization': f'Bearer {api_key}',
'User-Agent': 'Apifox/1.0.0 (https://apifox.com)'
}
response = requests.request("GET", url, headers=headers)
data = response.json()['data']
models = [model['id'] for model in data]
print(models)

def chat(model="gpt-3.5-turbo", messages=[], temperature=0.7):
completion = client.chat.completions.create(
model=model,
messages=messages,
temperature=temperature,
)
return completion.choices[0].message.content

if __name__ == '__main__':
messages = [
{'role': 'system', 'content': '你是百科全書'},
{'role': 'user', 'content': '魯迅和周樹人的關系'},
]
res = chat(model="gpt-3.5-turbo", messages=messages)
print(res)

GPT4free:Python 一鍵調用

GPT4free 提供了更為便捷的 Python 調用方式,開發者可以直接通過 pip 安裝相關庫,并快速集成到自己的項目中。不過需要注意的是,該接口容易封 IP,因此在使用時需要謹慎。

代碼示例:

from g4f.client import Client

client = Client()

def text_generation(model="gpt-3.5-turbo", messages=[], temperature=0.7):
completion = client.chat.completions.create(
model=model,
messages=messages,
temperature=temperature,
)
return completion.choices[0].message.content

if __name__ == '__main__':
messages = [{'role': 'user', 'content': '你是誰'}]
print(text_generation(messages=messages))

Coze:海外版的免費 GPT 調用

Coze 是一個海外版的免費 GPT 調用平臺,它封裝了對 GPT 的調用接口,每個注冊用戶有 100 次免費調用額度。雖然額度有限,但對于一些簡單的國際項目來說,Coze 是一個不錯的選擇。

代碼示例:

import requests
import json

url = "https://api.coze.com/open_api/v2/chat"
headers = {
'Authorization': 'Bearer your_token',
'Content-Type': 'application/json',
'Accept': '*/*',
'Host': 'api.coze.com',
'Connection': 'keep-alive'
}

query = """
你了解遙遠的救世主這本書么,結合搜索結果來回答
"""

data = {
"bot_id": "7370949251666477072",
"user": "0",
"conversation_id": "123",
"query": query,
"stream": False,
}

response = requests.post(url, headers=headers, data=json.dumps(data))
print(response.text)

LLaMA3-70B:強大的免費模型

LLaMA3-70B 是由 NVIDIA 提供的一個強大的免費 AI 模型。它支持每天 1000 次的免費調用,這對于需要處理大量文本的開發者來說是一個巨大的福利。該模型的接口與 OpenAI API 類似,開發者可以輕松上手,快速實現復雜的文本生成任務。

代碼示例:

from openai import OpenAI

client = OpenAI(
base_url="https://integrate.api.nvidia.com/v1",
api_key="your_api_key"
)

completion = client.chat.completions.create(
model="meta/llama3-70b-instruct",
messages=[{"role": "user", "content": "xxx"}],
temperature=0.5,
top_p=1,
max_tokens=1024,
stream=True
)
for chunk in completion:
if chunk.choices[0].delta.content is not None:
print(chunk.choices[0].delta.content, end="")

DeepSeek:新注冊用戶的免費試用

DeepSeek 為新注冊用戶提供了免費的 API 試用額度,有效期為一個月。它的接口設計與 OpenAI API 類似,開發者可以快速遷移和集成。DeepSeek 的模型在處理復雜問題時表現出色,適合需要高精度文本生成的項目。

Kimi:多場景支持的免費 AI API

Kimi 是由 Moonshot AI 提供的人工智能助手 API,新注冊用戶可以領取 15 元的 token 試用量。它支持多種速率限制方式,開發者可以根據自己的需求靈活選擇。Kimi 提供了多種模型,包括適用于短文本、長文本和超長文本的模型,能夠滿足不同場景的需求。此外,Kimi 還支持文件內容抽取和存儲功能,開發者可以將文件內容直接用于對話生成,大大提高了開發效率。

代碼示例:

from openai import OpenAI

client = OpenAI(
api_key="your_api_key",
base_url="https://api.moonshot.cn/v1",
)

completion = client.chat.completions.create(
model="moonshot-v1-8k",
messages=[
{"role": "system", "content": "你是 Kimi,由 Moonshot AI 提供的人工智能助手。"},
{"role": "user", "content": "你好,我叫李雷,1+1等于多少?"}
],
temperature=0.3,
)
print(completion.choices[0].message.content)

ChatGLM:豐富的模型選擇

ChatGLM 提供了多種模型選擇,包括通用大模型、圖像大模型和向量模型。新注冊用戶可以領取 18 元的 token 試用量。ChatGLM 的接口設計靈活,支持同步、異步和流式調用,開發者可以根據自己的需求選擇合適的調用方式。此外,ChatGLM 還提供了豐富的功能,如系統提示、函數調用、檢索和網頁搜索等,能夠滿足復雜的應用場景。

代碼示例:

from zhipuai import ZhipuAI

client = ZhipuAI(api_key="your_api_key")

response = client.chat.completions.create(
model="glm-4",
messages=[
{"role": "system", "content": "你是一個樂于解答各種問題的助手。"},
{"role": "user", "content": "你好!你叫什么名字"}
],
stream=False,
)
print(response.choices[0].message)

Spark:多樣化的免費選擇

Spark 提供了多種免費的 AI 模型選擇,包括 Spark3.5 Max、Spark Pro 和 Spark Lite。其中,Spark3.5 Max 和 Spark Pro 分別提供 200 萬 token 的免費額度,有效期為一年;Spark Lite 則完全免費。雖然 Spark 的接口與 OpenAI API 不完全相同,但開發者可以通過簡單的封裝實現兼容。

代碼示例:

from sparkai.llm.llm import ChatSparkLLM, ChunkPrintHandler
from sparkai.core.messages import ChatMessage

SPARKAI_APP_ID = 'your_app_id'
SPARKAI_API_SECRET = 'your_api_secret'
SPARKAI_API_KEY = 'your_api_key'

model = 'spark lite'
if model == 'spark lite':
SPARKAI_URL = 'wss://spark-api.xf-yun.com/v1.1/chat'
SPARKAI_DOMAIN = 'general'
elif model == 'spark pro':
SPARKAI_URL = 'wss://spark-api.xf-yun.com/v3.1/chat'
SPARKAI_DOMAIN = 'generalv3'
elif model == 'spark max':
SPARKAI_URL = 'wss://spark-api.xf-yun.com/v3.5/chat'
SPARKAI_DOMAIN = 'generalv3.5'

spark = ChatSparkLLM(
spark_api_url=SPARKAI_URL,
spark_app_id=SPARKAI_APP_ID,
spark_api_key=SPARKAI_API_KEY,
spark_api_secret=SPARKAI_API_SECRET,
spark_llm_domain=SPARKAI_DOMAIN,
streaming=False,
)

if __name__ == '__main__':
messages = [ChatMessage(role="user", content='你好呀')]
handler = ChunkPrintHandler()
a = spark.generate([messages], callbacks=[handler])
print(a.generations[0][0].text)

統一封裝:一鍵切換不同模型

考慮到大部分免費 AI API 都提供了與 OpenAI API 兼容的接口,開發者可以將所有服務封裝成一個統一的類。這樣,通過一套代碼就可以調用任意想用的模型,大大提高了開發效率。開發者可以根據自己的需求,靈活選擇不同的模型和接口,實現快速開發和驗證。

代碼示例:

from openai import OpenAI

# 枚舉所有可用的模型服務
model_dict = {
'gpt-3.5-turbo': {
'api_key': 'your_api_key',
'base_url': 'https://api.chatanywhere.tech',
},
'gpt-4': {
'api_key': 'your_api_key',
'base_url': 'https://api.chatanywhere.tech',
},
}

# 設置人設提示詞,根據需要進行修改
prompt_dict = {
'gpt-3.5-turbo': [
{"role": "system", "content": "你是 gpt-3.5"},
],
'gpt-4': [
{"role": "system", "content": "你是 gpt-4"},
],
}

class LLM_API:
def __init__(self, api_key, base_url, model):
self.client = OpenAI(
api_key=api_key,
base_url=base_url,
)
self.model = model

def __call__(self, messages, temperature=0.7):
completion = self.client.chat.completions.create(
model=self.model,
messages=messages,
temperature=temperature,
)
return completion.choices[-1].message.content

if __name__ == '__main__':
model = 'gpt-3.5-turbo'
llm = LLM_API(model_dict[model]['api_key'], model_dict[model]['base_url'], model)
user_question = "你是誰"
messages = prompt_dict[model] + [{"role": "user", "content": user_question}]
print(llm(messages))

結語

免費 AI API 的出現,為開發者帶來了前所未有的便利。它們不僅降低了開發成本,還為創意的快速驗證和原型開發提供了強大的支持。無論是簡單的對話生成,還是復雜的文本處理,這些免費的 API 都能夠滿足開發者的需求。希望本文的盤點能夠幫助你在 AI 開發的道路上更進一步,開發出更多有趣的應用。如果你還有其他發現的免費 AI API,歡迎在評論區分享,讓我們一起探索更多可能。

上一篇:

Claude 3.5 API:獲取與使用指南

下一篇:

如何獲取 Grok3 API 密鑰(分步指南)
#你可能也喜歡這些API文章!

我們有何不同?

API服務商零注冊

多API并行試用

數據驅動選型,提升決策效率

查看全部API→
??

熱門場景實測,選對API

#AI文本生成大模型API

對比大模型API的內容創意新穎性、情感共鳴力、商業轉化潛力

25個渠道
一鍵對比試用API 限時免費

#AI深度推理大模型API

對比大模型API的邏輯推理準確性、分析深度、可視化建議合理性

10個渠道
一鍵對比試用API 限時免費