Gemini 
Authentication 
Gemini Chat 
接口功能: 官方所有 chat 接口
Method & Path 
-  
POST {domain}/bp/ai/gemini/chat -  
POST {domain}/bp/server/user/{user_id}/ai/gemini/chat 
Request 
content-type: "application/json"
content-type: "application/json"
| Parameters | Type | Required | Desc | 
|---|---|---|---|
| strategy | string | true | strategy | 
| parameters | object | false | 用于渲染服务端配置的 system prompt 中的变量 | 
| chat_id | string | false | server save history | 
| data | object | true | other Parameters | 
System Prompt 的优先级和处理规则如下:
data参数优先:如果 data 参数中包含 system prompt 相关配置,则以 data 中的配置为准
模板渲染:如果 data 中无 system prompt 相关配置,则使用控制台配置的 System Prompt,并通过 parameters 进行模板变量渲染
data 填写 gemini 官方参数,地址: https://ai.google.dev/api/rest/v1beta/models/generateContent?hl=zh-cn
官方参数中的 model 由 console 指定,用户端传入也会被 console 值覆盖(因为模型价格不一致)
json
{
  "strategy": "gemini",
  "chat_id": "CtEKQGZB35S6KEQXBU",
  "parameters": {
    "example_string": "example_value",
    "example_object": {
      "key": "value",
      "key2": "value2"
    }
  },
  "data": {
    "contents": [
      {
        "role": "user",
        "parts": [
          {
            "text": "hi"
          }
        ]
      }
    ]
  }
}- 说明 parameters 用于在 BytePower 定义了 System Prompt 的 strategy,例如:
 
现在你扮演 {{ .example_string }}, 告诉我如何使用 {{ .example_object.key }} 完成 {{ .example_object.key2 }}。Response 
- HTTP 状态码:200
 
json
{
  "asset": [],
  "chat_id": "CtEKQGZB35S6KEQXBU",
  "current_count": 41,
  "current_total_count": 41,
  "data": {
    "candidates": [
      {
        "content": {
          "role": "model",
          "parts": [
            {
              "text": "Hello there! How can I assist you today?"
            }
          ]
        },
        "finishReason": "STOP",
        "index": 0,
        "safetyRatings": [
          {
            "category": "HARM_CATEGORY_SEXUALLY_EXPLICIT",
            "probability": "NEGLIGIBLE"
          },
          {
            "category": "HARM_CATEGORY_HATE_SPEECH",
            "probability": "NEGLIGIBLE"
          },
          {
            "category": "HARM_CATEGORY_HARASSMENT",
            "probability": "NEGLIGIBLE"
          },
          {
            "category": "HARM_CATEGORY_DANGEROUS_CONTENT",
            "probability": "NEGLIGIBLE"
          }
        ]
      }
    ],
    "promptFeedback": {
      "safetyRatings": [
        {
          "category": "HARM_CATEGORY_SEXUALLY_EXPLICIT",
          "probability": "NEGLIGIBLE"
        },
        {
          "category": "HARM_CATEGORY_HATE_SPEECH",
          "probability": "NEGLIGIBLE"
        },
        {
          "category": "HARM_CATEGORY_HARASSMENT",
          "probability": "NEGLIGIBLE"
        },
        {
          "category": "HARM_CATEGORY_DANGEROUS_CONTENT",
          "probability": "NEGLIGIBLE"
        }
      ]
    },
    "chat_id": ""
  }
}Gemini Chat Stream 
接口功能: chat stream
Method & Path 
-  
POST {domain}/bp/ai/gemini/chat/stream -  
POST {domain}/bp/server/user/{user_id}/ai/gemini/chat/stream 
Request 
content-type: "application/json"
content-type: "application/json"
| Parameters | Type | Required | Desc | 
|---|---|---|---|
| strategy | string | true | strategy | 
| chat_id | string | false | server save history | 
| data | object | true | other Parameters | 
data 填写 gemini 官方参数,地址: https://ai.google.dev/api/rest/v1beta/models/streamGenerateContent?hl=zh-cn
官方参数中的 model 由 console 指定,用户端传入也会被 console 值覆盖(因为模型价格不一致)
json
{
  "strategy": "gemini",
  "chat_id": "CtEKQGZB35S6KEQXBU",
  "data": {
    "contents": [
      {
        "role": "user",
        "parts": [
          {
            "text": "hi"
          }
        ]
      }
    ]
  }
}Response 
- HTTP 状态码:200
 
json
event: ai_chat_msg
data: {"candidates":[{"content":{"role":"model","parts":[{"text":"Hello there! How can I assist you today?"}]},"finishReason":"STOP","index":0,"safetyRatings":[{"category":"HARM_CATEGORY_SEXUALLY_EXPLICIT","probability":"NEGLIGIBLE"},{"category":"HARM_CATEGORY_HATE_SPEECH","probability":"NEGLIGIBLE"},{"category":"HARM_CATEGORY_HARASSMENT","probability":"NEGLIGIBLE"},{"category":"HARM_CATEGORY_DANGEROUS_CONTENT","probability":"NEGLIGIBLE"}]}],"promptFeedback":{"safetyRatings":[{"category":"HARM_CATEGORY_SEXUALLY_EXPLICIT","probability":"NEGLIGIBLE"},{"category":"HARM_CATEGORY_HATE_SPEECH","probability":"NEGLIGIBLE"},{"category":"HARM_CATEGORY_HARASSMENT","probability":"NEGLIGIBLE"},{"category":"HARM_CATEGORY_DANGEROUS_CONTENT","probability":"NEGLIGIBLE"}]},"chat_id":"CtEK2PHHHA4BG3TE2M"}