Poe-API-Wrapper: 强大的 AI 模型访问工具
Poe-API-Wrapper 是一个功能强大且易于使用的 Python API 封装库,专为访问 Poe.com 上的各种先进 AI 模型而设计。通过这个库,开发者可以轻松地与 GPT-4、Claude、Llama、Gemini 等多种顶尖 AI 模型进行交互,无需支付高昂的 API 使用费用。
主要特性
Poe-API-Wrapper 提供了丰富的功能:
- 支持多种 AI 模型:包括 GPT-4、Claude、Llama、Gemini、Mistral 等。
- 简单的身份验证:只需提供 Poe 账户的 token 即可。
- 灵活的消息发送:支持创建新对话或在现有对话中发送消息。
- 流式响应:可以实时获取 AI 模型的响应。
- 对话管理:提供获取对话历史、清除上下文、删除消息等功能。
- 文件上传:支持向 AI 模型发送文件附件。
- 自定义机器人:允许创建、编辑和删除自定义 AI 机器人。
- 知识库管理:支持上传和编辑知识库。
- OpenAI 兼容接口:提供与 OpenAI API 兼容的接口,方便迁移现有项目。
安装与设置
要开始使用 Poe-API-Wrapper,首先需要安装该库:
pip install -U 'poe-api-wrapper[llm]'
安装完成后,你需要获取 Poe 账户的认证 token。这些 token 可以在浏览器的 cookie 中找到:
tokens = {
'p-b': 'p-b cookie here',
'p-lat': 'p-lat cookie here'
}
接下来,创建 PoeApi 客户端实例:
from poe_api_wrapper import PoeApi
client = PoeApi(tokens=tokens)
基本用法
- 发送消息并获取响应:
bot = "a2" # Claude
message = "What is reverse engineering?"
for chunk in client.send_message(bot, message):
print(chunk["response"], end="", flush=True)
- 获取对话历史:
history = client.get_chat_history()
print(history['data'])
- 上传文件:
file_urls = ["https://example.com/document.pdf"]
client.send_message(bot, "Analyze this document", file_path=file_urls)
- 创建自定义机器人:
client.create_bot(handle="MyBot", prompt="You are a helpful assistant", base_model="a2")
OpenAI 兼容接口
Poe-API-Wrapper 还提供了与 OpenAI API 兼容的接口,方便开发者快速迁移现有项目:
import openai
client = openai.OpenAI(
api_key="anything",
base_url="http://127.0.0.1:8000/v1/",
default_headers={"Authorization": "Bearer anything"}
)
response = client.chat.completions.create(
model="gpt-3.5-turbo",
messages = [
{"role": "user", "content": "Hello!"}
]
)
print(response.choices[0].message.content)
高级功能
- 并发消息处理:
import threading
def message_thread(prompt):
for chunk in client.send_message("gpt3_5", prompt):
pass
print(chunk["text"])
prompts = ["Task 1", "Task 2", "Task 3"]
threads = []
for prompt in prompts:
t = threading.Thread(target=message_thread, args=(prompt,))
t.start()
threads.append(t)
for t in threads:
t.join()
- 知识库管理:
# 上传知识库
knowledge = [
{
"title": "Company Info",
"content": "Our company was founded in 2020..."
}
]
source_ids = client.upload_knowledge(text_knowledge=knowledge)
# 创建使用知识库的机器人
client.create_bot(
handle="CompanyBot",
prompt="You are an assistant for our company",
base_model="a2",
knowledgeSourceIds=source_ids,
shouldCiteSources=True
)
- 图像生成:
import openai
client = openai.OpenAI(api_key="anything", base_url="http://127.0.0.1:8000/v1/")
images_url = client.images.generate(
model="playground-v2.5",
prompt="A cute baby sea otter",
n=2,
size="1792x1024"
)
print(images_url)
结语
Poe-API-Wrapper 为开发者提供了一个强大而灵活的工具,使得与各种先进 AI 模型的交互变得简单和高效。无论是构建聊天机器人、知识问答系统,还是进行自然语言处理任务,这个库都能为你的项目带来巨大价值。
通过本文的介绍,你应该已经对 Poe-API-Wrapper 的主要功能和使用方法有了全面的了解。我们鼓励你进一步探索这个库的更多高级特性,并将其应用到你的实际项目中。
记住,在使用这个库时要遵守 Poe.com 的使用条款和 API 使用限制。同时,也要注意保护用户隐私和数据安全。
Happy coding! 🚀