Cohere
cohere
提供者是 Cohere AI 的 聊天推理 API 接口,具有针对 RAG 和工具使用优化的模型,如 Command R。
设置
首先,使用您的 Cohere API 密钥设置 COHERE_API_KEY
环境变量。
接下来,编辑 promptfoo 配置文件以指向 Cohere 提供者。
cohere:<模型名称>
- 使用指定的 Cohere 模型(例如,command
、command-light
)。
以下模型已确认支持。有关支持模型的最新列表,请参阅 Cohere 模型。
- command-light
- command-light-nightly
- command
- command-nightly
- command-r
- command-r-plus
以下是一个示例配置:
providers:
- id: cohere:command
config:
temperature: 0.5
max_tokens: 256
prompt_truncation: 'AUTO'
connectors:
- id: web-search
提示控制
默认情况下,常规字符串提示将自动包装在适当的聊天格式中,并通过 message
字段发送到 Cohere API:
prompts:
- '写一条关于 {{topic}} 的推文'
providers:
- cohere:command
tests:
- vars:
topic: bananas
如果需要,您的提示可以引用包含更复杂 API 参数集的 YAML 或 JSON 文件。例如:
prompts:
- file://prompt1.yaml
providers:
- cohere:command
tests:
- vars:
question: 他出生于哪一年?
- vars:
question: 他早餐喜欢吃什么?
在 prompt1.yaml
中:
chat_history:
- role: USER
message: '谁发现了重力?'
- role: CHATBOT
message: '艾萨克·牛顿'
message: '{{question}}'
connectors:
- id: web-search
嵌入配置
Cohere 提供嵌入功能,可用于各种自然语言处理任务,包括相似性比较。要在评估中使用 Cohere 的嵌入模型,可以按如下方式配置:
- 在您的
promptfooconfig.yaml
文件中,在defaultTest
部分下添加嵌入配置:
defaultTest:
options:
provider:
embedding:
id: cohere:embedding:embed-english-v3.0
此配置将所有需要嵌入的测试(例如相似性断言)的默认嵌入提供者设置为 Cohere 的 embed-english-v3.0
模型。
- 您还可以为单个断言指定嵌入提供者:
assert:
- type: similar
value: 一些参考文本
provider:
embedding:
id: cohere:embedding:embed-english-v3.0
- 可以向嵌入提供者传递其他配置选项:
defaultTest:
options:
provider:
embedding:
id: cohere:embedding:embed-english-v3.0
config:
apiKey: your_api_key_here # 如果未通过环境变量设置
truncate: NONE # 选项:NONE, START, END
显示搜索和文档
当调用 Cohere API 时,提供者可以选择性地在输出中包含搜索查询和文档。这由 showSearchQueries
和 showDocuments
配置参数控制。如果为 true,内容将附加到输出中。
配置
Cohere 参数
参数 | 描述 |
---|---|
apiKey | 如果未使用环境变量,则为您的 Cohere API 密钥。 |
chatHistory | 包含角色、消息以及可选的用户名和对话 ID 的聊天历史对象数组。 |
connectors | 用于与外部系统集成的连接器对象数组。 |
documents | 为模型提供参考材料的文档对象数组。 |
frequency_penalty | 根据文本中迄今为止的频率对新令牌进行惩罚。 |
k | 通过 top-k 采样控制输出的多样性。 |
max_tokens | 生成的文本的最大长度。 |
modelName | 用于聊天完成的模型名称。 |
p | 通过核(top-p)采样控制输出的多样性。 |
preamble_override | 覆盖模型使用的默认序言的字符串。 |
presence_penalty | 根据文本中迄今为止的存在对新令牌进行惩罚。 |
prompt_truncation | 控制提示如何被截断('AUTO' 或 'OFF')。 |
search_queries_only | 如果为真,则仅处理搜索查询。 |
temperature | 控制输出的随机性。 |
特殊参数
参数 | 描述 |
---|---|
showSearchQueries | 如果为真,则在输出中包含使用的搜索查询。 |
showDocuments | 如果为真,则在输出中包含使用的文档。 |