功能说明

AI提示词插件,支持在LLM的请求前后插入prompt。

运行属性

插件执行阶段:默认阶段 插件执行优先级:450

配置说明

名称数据类型填写要求默认值描述
prependarray of message objectoptional-在初始输入之前插入的语句
appendarray of message objectoptional-在初始输入之后插入的语句

message object 配置说明:

名称数据类型填写要求默认值描述
rolestring必填-角色
contentstring必填-消息

示例

配置示例如下:

  1. prepend:
  2. - role: system
  3. content: “请使用英语回答问题”
  4. append:
  5. - role: user
  6. content: “每次回答完问题,尝试进行反问”

使用以上配置发起请求:

  1. -H content-type: application/json \
  2. -d ‘{
  3. model”: gpt-3.5-turbo”,
  4. messages”: [
  5. {
  6. role”: user”,
  7. content”: “你是谁?”
  8. }
  9. ]
  10. }

经过插件处理后,实际请求为:

  1. -H content-type: application/json \
  2. -d ‘{
  3. model”: gpt-3.5-turbo”,
  4. messages”: [
  5. {
  6. role”: system”,
  7. content”: “请使用英语回答问题”
  8. },
  9. {
  10. role”: user”,
  11. content”: “你是谁?”
  12. },
  13. {
  14. role”: user”,
  15. content”: “每次回答完问题,尝试进行反问”
  16. }
  17. ]
  18. }

基于geo-ip插件的能力,扩展AI提示词装饰器插件携带用户地理位置信息

如果需要在LLM的请求前后加入用户地理位置信息,请确保同时开启geo-ip插件和AI提示词装饰器插件。并且在相同的请求处理阶段里,geo-ip插件的优先级必须高于AI提示词装饰器插件。首先geo-ip插件会根据用户ip计算出用户的地理位置信息,然后通过请求属性传递给后续插件。比如在默认阶段里,geo-ip插件的priority配置1000,ai-prompt-decorator插件的priority配置500。

geo-ip插件配置示例:

  1. ipProtocal: ipv4

AI提示词装饰器插件的配置示例如下:

  1. prepend:
  2. - role: system
  3. content: “提问用户当前的地理位置信息是,国家:${geo-country},省份:${geo-province}, 城市:${geo-city}”
  4. append:
  5. - role: user
  6. content: “每次回答完问题,尝试进行反问”

使用以上配置发起请求:

  1. -H content-type: application/json \
  2. -H x-forwarded-for: 87.254.207.100,4.5.6.7 \
  3. -d ‘{
  4. model”: gpt-3.5-turbo”,
  5. messages”: [
  6. {
  7. role”: user”,
  8. content”: “今天天气怎么样?”
  9. }
  10. ]
  11. }’

经过插件处理后,实际请求为:

  1. -H content-type: application/json \
  2. -H x-forwarded-for: 87.254.207.100,4.5.6.7 \
  3. -d ‘{
  4. model”: gpt-3.5-turbo”,
  5. messages”: [
  6. {
  7. role”: system”,
  8. content”: “提问用户当前的地理位置信息是,国家:中国,省份:北京, 城市:北京”
  9. },
  10. {
  11. role”: user”,
  12. content”: “今天天气怎么样?”
  13. },
  14. {
  15. role”: user”,
  16. content”: “每次回答完问题,尝试进行反问”
  17. }
  18. ]
  19. }’