还在手动配置每个AI模型?你可能OUT了
做AI应用开发的程序员朋友们,是不是经常遇到这样的烦恼:
今天要用OpenAI的GPT模型,去官网申请API Key,看文档,写代码配置。
明天老板说要换DeepSeek,因为性价比高,又要重新申请、重新配置。
后天客户说要用通义千问或者百度文心,因为数据要在国内…
每个模型的API地址不一样,请求格式不一样,响应解析也不一样。换一次模型,代码就要改一遍。
如果有一个框架,能让你一行代码就切换不同的AI大模型,会不会很爽?
今天给大家介绍的这个开源项目,就解决了这个问题。
ThinkAi是什么?
ThinkAi是一个Python开源框架,专门用来简化AI大模型的调用。
它的特点很简单:不管你用哪个AI模型,代码写法都一样。
比如你要用OpenAI:
from thinkai import ThinkAI ai = ThinkAI(provider="openai", api_key="你的密钥") 回复 = await ai.chat("你好") print(回复.content)如果第二天想换成DeepSeek,只需要改一行代码:
ai = ThinkAI(provider="deepseek", api_key="你的密钥")就这一行,其他代码完全不用动。
支持哪些AI模型?
目前支持13个主流AI大模型,基本覆盖了市面上所有常用的:
- OpenAI GPT- 国际最主流的AI模型
- DeepSeek- 国产黑马,免费额度多,性价比极高
- 通义千问- 阿里云出品,中文能力强
- 智谱GLM- 国产优秀模型
- 百度文心- 中文理解能力强
- 腾讯混元- 多模态支持好
- 豆包- 字节跳动旗下
- Kimi- 长文本处理能力强
- MiniMax- 多场景适用
- Claude- Anthropic出品,代码能力强
- Gemini- Google出品
- Ollama- 本地部署,完全免费
- 任意OpenAI兼容的API- 自定义接入
这个框架解决了什么问题?
1. 配置太麻烦
以前每个模型都要自己找API地址、看文档、配置请求格式。现在ThinkAi内置了所有常用模型的配置,你只需要填API Key就行。
2. 切换模型要改很多代码
以前换模型要改API地址、请求参数、响应解析…现在只需要改一个参数:provider=“模型名”
3. 代码重复太多
每个模型写一套调用代码,维护成本高。现在一套代码通吃所有模型。
4. 没有统一的标准
不同模型返回的数据格式不一样,处理起来麻烦。ThinkAi统一了所有模型的返回格式,你拿到的数据结构永远是一样的。
实际使用场景举例
场景一:对比不同模型的回答效果
from thinkai import ThinkAI ai = ThinkAI(provider="openai", api_key="密钥1") ai.register_model("deepseek", provider="deepseek", api_key="密钥2") ai.register_model("qwen", provider="qwen", api_key="密钥3") 问题 = "帮我解释一下什么是递归" 回答1 = await ai.chat(问题, model="openai") 回答2 = await ai.chat(问题, model="deepseek") 回答3 = await ai.chat(问题, model="qwen")三行代码,三个模型的回答都拿到了,方便对比。
场景二:根据成本自动选择模型
# 简单问题用便宜的模型 if 问题.长度 < 20: ai = ThinkAI(provider="deepseek", api_key="密钥") # 复杂问题用好模型 else: ai = ThinkAI(provider="openai", api_key="密钥")场景三:本地免费模型先用
# 本地先跑Ollama,不用花钱 ai = ThinkAI(provider="ollama", model="llama3") 回复 = await ai.chat("你好")怎么安装和使用?
安装非常简单,就一行命令:
pip install thinkai-framework然后就可以用了:
from thinkai import ThinkAI # 3行代码开始 ai = ThinkAI(provider="ollama", model="llama3") 回复 = await ai.chat("你好,世界") print(回复.content)除了基础对话,还有什么功能?
流式输出
就是那种一个字一个字蹦出来的效果,用户体验更好。
ai = ThinkAI(provider="openai", api_key="密钥") async for 片段 in ai.chat_stream("讲个故事"): if 片段.choices and 片段.choices[0].delta.content: print(片段.choices[0].delta.content, end="", flush=True)多轮对话
就是让AI记住之前说过的话,进行连续对话。
ai = ThinkAI() async with ai.session() as 会话: await 会话.chat("你好,我想学习Python") await 会话.chat("有什么好的学习路径?") await 会话.chat("推荐一些资源吧")RAG(基于你的文档回答问题)
把你的文档喂给AI,让它基于你的资料回答问题。
from thinkai.rag import RAGPipeline rag = RAGPipeline(文档路径=["./资料"], ai客户端=ai) 答案 = await rag.query("你的问题")关于这个项目
- 完全开源:MIT协议,免费使用,可以商用
- 代码仓库:https://gitee.com/hongxinge/think-ai
- 安装包:https://pypi.org/project/thinkai-framework/
- 当前版本:v0.2.1
如果你觉得这个框架有用,可以去代码仓库点个Star支持一下。
总结一下
ThinkAi解决了一个很实际的问题:让开发者不用为了用不同的AI大模型而反复改代码。
一行代码切换模型,开箱即用,MIT开源免费。
对于做AI应用开发的程序员来说,能省下不少时间和精力。
如果你正在做AI相关的项目,不妨试试这个框架。