GraphQL-AI-Mashup 是一个集成各种类型 AI 接口的应用程序,通过 GraphQL 的方式统一访问,支持数据流(stream)等功能。
新增支持联网模式,采用 DuckDuckGo 搜索引擎联网查询
- 支持多种 AI 服务,如 OpenAI、Anthropic Claude、GeminiPro 等
- 使用 GraphQL 统一访问 API,提供统一的调用参数
- 支持数据流(stream)功能
- 支持联网(searchWeb)查询
- 使用 DataLoader 优化 API 请求,提高性能
- 可一键部署到 Vercel
AI | 默认模型 | Model 文档 | 是暂未支持联网 |
---|---|---|---|
OpenAI | gpt-3.5-turbo | Openai Models | 暂未支持 |
Cloudflare Workers AI | @cf/meta/llama-3-8b-instruct | Workers AI Models | 暂未支持 |
Azure OpenAI | gpt-3.5-turbo | Azure Openai Models | 是 |
GeminiPro | gemini-1.0-pro-latest | GeminiPro Models | 暂未 |
Claude | claude-3-haiku-20240307 | Claude Models | 普通模式: 是 Stream: 暂未 |
Moonshot | moonshot-v1-8k | Moonshot Models | 普通模式: 是 Stream: 暂未 |
Groq | mixtral-8x7b-32768 | Groq Models | 普通模式: 是 Stream: 暂未 |
零一万物 | yi-34b-chat-0205 | 零一万物 Models | 暂未支持 |
百度 Ernie | ernie-3.5-4k-0205 | 获取API KEY & SECRET KEY Ernie Models |
暂未支持 |
阿里千问 | qwen-turbo | 获取API KEY 开通服务 千问 Models |
是 |
智谱 AI | glm-3-turbo | API & Token 智谱 Models |
暂未支持 |
npm install
cp .env.example .env
修改 .env
中的各个API KEY
npm run start
本项目也可通过 docker 部署,项目已经自带 Dockerfile 。
cp .env.example .env
修改 .env
中的各个API KEY
docker build -t graphql-ai-mashup .
docker run -dp 4000:4000 graphql-ai-mashup
由于 Vercel 对于 edge runtime 的限制,请参考项目 AI-Mashup-Web 进行部署
本项目也可部署至 Cloudflare worker。请根据以下步骤实施。
安装并登录 wrangler
npm install -g wrangler
wrangler login
克隆当前仓库
git clone git@github.com:VeryInt/GraphQL-AI-Mashup.git
Build 并部署至您的 Cloudflare Worker
cd GraphQL-AI-Mashup
wrangler build
wrangler deploy
以下是一个使用 GraphQL 访问 GeminiPro 接口的示例:
query MyQuery($params: ChatArgs) {
chat(params: $params) {
GeminiPro{text}
}
}
{
"params": {
"messages": [{
"role": "user",
"content": "请讲一个800字左右的童话故事"
}]
}
}
query MyQuery($params: ChatArgs) {
chat(params: $params) {
GeminiProStream @stream
}
}