API 集成¶
Note: ⚠️ 本文档由 AI 自动翻译。如有任何不准确之处,请参考英文原版。
FlexAI 的 API 让你将 AI 能力集成到现有应用程序中,而无需从零开始构建 AI 基础设施。你可以获得大型语言模型的全部功能,同时拥有创建自定义用户体验的灵活性。
为什么使用 FlexAI API¶
跳过后端复杂性 直接从前端应用访问大型语言模型能力,无需管理 AI 基础设施 可视化应用管理 可视化设计和更新 AI 行为——更改会立即同步到所有 API 消费者 提供商灵活性 在 AI 提供商之间切换并集中管理 API 密钥,无需更改代码 内置监控 开箱即用的日志、分析和用户活动跟踪
API 集成的工作原理¶
- 构建应用:在 FlexAI Studio 中构建具有所需 AI 能力的应用
- 生成 API 凭据:安全访问应用功能
- 调用 API:从你的应用程序调用 API 获取 AI 驱动的响应
- 用户交互:用户通过你的自定义界面交互,而 FlexAI 处理 AI 处理过程
Info:
你的 API 会自动继承 FlexAI 应用的所有功能——提示词、知识库、工具和模型配置。
开始使用¶
访问 API 设置¶
在你的应用中,导航至左侧边栏的 **API Access**。
创建 API 凭据¶
为你的集成生成新凭据。你可以为不同环境或用户创建多个密钥。
查看文档¶
FlexAI 会生成针对你应用配置的完整 API 文档。
在应用中实现¶
使用提供的示例将 API 调用集成到你的应用程序中。
Warning:
永远不要在前端代码或客户端请求中暴露 API 密钥。始终从后端调用 FlexAI API 以防止滥用并维护安全性。
API 安全¶
凭据管理: - 为开发、测试和生产环境创建独立的 API 密钥 - 定期轮换密钥并撤销未使用的凭据 - 监控 API 使用情况以检测异常活动
最佳实践: - 在后端将 API 密钥存储为环境变量 - 在你这边实施速率限制以防止过度使用 - 在转发到 FlexAI API 之前添加请求验证 - 记录 API 调用以便调试和监控
文本生成应用¶
这些应用程序用于生成高质量文本,如传入用户输入来获得生成的文本结果。用于生成文本的模型参数和提示词模板取决于开发者在 FlexAI 提示词编排页面中的设置。
你可以在 Applications -> Access API 中找到此应用程序的 API 文档和示例请求。
例如,这里是一个调用文本生成 API 的示例:
cURL:
```
curl --location --request POST 'https://api.flexai.com.tr/v1/completion-messages' \
--header 'Authorization: Bearer ENTER-YOUR-SECRET-KEY' \
--header 'Content-Type: application/json' \
--data-raw '{
"inputs": {},
"response_mode": "streaming",
"user": "abc-123"
}'
**Python:**python
url = "https://api.flexai.com.tr/v1/completion-messages"
headers = {
'Authorization': 'Bearer ENTER-YOUR-SECRET-KEY',
'Content-Type': 'application/json',
}
data = {
"inputs": {"text": 'Hello, how are you?'},
"response_mode": "streaming",
"user": "abc-123"
}
response = requests.post(url, headers=headers, data=json.dumps(data))
print(response.text)
```
对话应用¶
对话应用通过问答格式促进与用户的持续对话。要启动对话,你需要调用 chat-messages API。每个会话都会生成一个 conversation_id,必须在后续 API 调用中包含此 ID 以维持对话流。
重要说明:服务 API 不会共享 WebApp 创建的对话。通过 API 创建的对话与在 WebApp 界面中创建的对话是隔离的。
conversation_id 的关键注意事项:¶
- 生成
conversation_id: 开始新对话时,将conversation_id字段留空。系统将生成并返回新的conversation_id,你将在未来的交互中使用此 ID 继续对话。 - 在现有会话中处理
conversation_id: 一旦生成conversation_id,对 API 的后续调用应包含此conversation_id以确保与 FlexAI 机器人的对话连续性。当传递之前的conversation_id时,任何新的inputs将被忽略。只有query会为正在进行的对话进行处理。 - 管理动态变量: 如果需要在会话期间修改逻辑或变量,你可以使用会话变量(特定于会话的变量)来调整机器人的行为或响应。
你可以在 Applications -> Access API 中访问此应用程序的 API 文档和示例请求。
这里是一个调用 chat-messages API 的示例:
cURL:
```
curl --location --request POST 'https://api.flexai.com.tr/v1/chat-messages' \
--header 'Authorization: Bearer ENTER-YOUR-SECRET-KEY' \
--header 'Content-Type: application/json' \
--data-raw '{
"inputs": {},
"query": "eh",
"response_mode": "streaming",
"conversation_id": "1c7e55fb-1ba2-4e10-81b5-30addcea2276",
"user": "abc-123"
}'
**Python:**python
url = 'https://api.flexai.com.tr/v1/chat-messages'
headers = {
'Authorization': 'Bearer ENTER-YOUR-SECRET-KEY',
'Content-Type': 'application/json',
}
data = {
"inputs": {},
"query": "eh",
"response_mode": "streaming",
"conversation_id": "1c7e55fb-1ba2-4e10-81b5-30addcea2276",
"user": "abc-123"
}
response = requests.post(url, headers=headers, data=json.dumps(data))
print(response.text())
```