Merge pull request #2089 from africsnail/release
Add web-search connector toggle for Cohere API
This commit is contained in:
commit
6f5ca7b0b0
|
@ -458,6 +458,17 @@
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="range-block" data-source="cohere">
|
||||||
|
<label for="websearch_toggle" title="Enable Cohere web-search connector" data-i18n="[title]Enable Cohere web-search connector" class="checkbox_label widthFreeExpand">
|
||||||
|
<input id="websearch_toggle" type="checkbox" />
|
||||||
|
<span data-i18n="Web-search">Web-search</span>
|
||||||
|
</label>
|
||||||
|
<div class="toggle-description justifyLeft">
|
||||||
|
<span data-i18n="Allow the model to use the web-search connector.">
|
||||||
|
Allow the model to use the web-search connector.
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<div class="range-block" data-source="openai,claude,windowai,openrouter,ai21,scale,makersuite,mistralai,custom,cohere">
|
<div class="range-block" data-source="openai,claude,windowai,openrouter,ai21,scale,makersuite,mistralai,custom,cohere">
|
||||||
<div class="range-block-title" data-i18n="Temperature">
|
<div class="range-block-title" data-i18n="Temperature">
|
||||||
Temperature
|
Temperature
|
||||||
|
|
|
@ -209,6 +209,7 @@ const default_settings = {
|
||||||
top_a_openai: 1,
|
top_a_openai: 1,
|
||||||
repetition_penalty_openai: 1,
|
repetition_penalty_openai: 1,
|
||||||
stream_openai: false,
|
stream_openai: false,
|
||||||
|
websearch_cohere: false,
|
||||||
openai_max_context: max_4k,
|
openai_max_context: max_4k,
|
||||||
openai_max_tokens: 300,
|
openai_max_tokens: 300,
|
||||||
wrap_in_quotes: false,
|
wrap_in_quotes: false,
|
||||||
|
@ -278,6 +279,7 @@ const oai_settings = {
|
||||||
top_a_openai: 1,
|
top_a_openai: 1,
|
||||||
repetition_penalty_openai: 1,
|
repetition_penalty_openai: 1,
|
||||||
stream_openai: false,
|
stream_openai: false,
|
||||||
|
websearch_cohere: false,
|
||||||
openai_max_context: max_4k,
|
openai_max_context: max_4k,
|
||||||
openai_max_tokens: 300,
|
openai_max_tokens: 300,
|
||||||
wrap_in_quotes: false,
|
wrap_in_quotes: false,
|
||||||
|
@ -1753,6 +1755,7 @@ async function sendOpenAIRequest(type, messages, signal) {
|
||||||
generate_data['frequency_penalty'] = Math.min(Math.max(Number(oai_settings.freq_pen_openai), 0), 1);
|
generate_data['frequency_penalty'] = Math.min(Math.max(Number(oai_settings.freq_pen_openai), 0), 1);
|
||||||
generate_data['presence_penalty'] = Math.min(Math.max(Number(oai_settings.pres_pen_openai), 0), 1);
|
generate_data['presence_penalty'] = Math.min(Math.max(Number(oai_settings.pres_pen_openai), 0), 1);
|
||||||
generate_data['stop'] = getCustomStoppingStrings(5);
|
generate_data['stop'] = getCustomStoppingStrings(5);
|
||||||
|
generate_data['websearch'] = oai_settings.websearch_cohere;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((isOAI || isOpenRouter || isMistral || isCustom || isCohere) && oai_settings.seed >= 0) {
|
if ((isOAI || isOpenRouter || isMistral || isCustom || isCohere) && oai_settings.seed >= 0) {
|
||||||
|
@ -2253,7 +2256,7 @@ export class ChatCompletion {
|
||||||
|
|
||||||
const shouldSquash = (message) => {
|
const shouldSquash = (message) => {
|
||||||
return !excludeList.includes(message.identifier) && message.role === 'system' && !message.name;
|
return !excludeList.includes(message.identifier) && message.role === 'system' && !message.name;
|
||||||
}
|
};
|
||||||
|
|
||||||
if (shouldSquash(message)) {
|
if (shouldSquash(message)) {
|
||||||
if (lastMessage && shouldSquash(lastMessage)) {
|
if (lastMessage && shouldSquash(lastMessage)) {
|
||||||
|
@ -2600,6 +2603,7 @@ function loadOpenAISettings(data, settings) {
|
||||||
oai_settings.min_p_openai = settings.min_p_openai ?? default_settings.min_p_openai;
|
oai_settings.min_p_openai = settings.min_p_openai ?? default_settings.min_p_openai;
|
||||||
oai_settings.repetition_penalty_openai = settings.repetition_penalty_openai ?? default_settings.repetition_penalty_openai;
|
oai_settings.repetition_penalty_openai = settings.repetition_penalty_openai ?? default_settings.repetition_penalty_openai;
|
||||||
oai_settings.stream_openai = settings.stream_openai ?? default_settings.stream_openai;
|
oai_settings.stream_openai = settings.stream_openai ?? default_settings.stream_openai;
|
||||||
|
oai_settings.websearch_cohere = settings.websearch_cohere ?? default_settings.websearch_cohere;
|
||||||
oai_settings.openai_max_context = settings.openai_max_context ?? default_settings.openai_max_context;
|
oai_settings.openai_max_context = settings.openai_max_context ?? default_settings.openai_max_context;
|
||||||
oai_settings.openai_max_tokens = settings.openai_max_tokens ?? default_settings.openai_max_tokens;
|
oai_settings.openai_max_tokens = settings.openai_max_tokens ?? default_settings.openai_max_tokens;
|
||||||
oai_settings.bias_preset_selected = settings.bias_preset_selected ?? default_settings.bias_preset_selected;
|
oai_settings.bias_preset_selected = settings.bias_preset_selected ?? default_settings.bias_preset_selected;
|
||||||
|
@ -2661,6 +2665,7 @@ function loadOpenAISettings(data, settings) {
|
||||||
if (settings.claude_use_sysprompt !== undefined) oai_settings.claude_use_sysprompt = !!settings.claude_use_sysprompt;
|
if (settings.claude_use_sysprompt !== undefined) oai_settings.claude_use_sysprompt = !!settings.claude_use_sysprompt;
|
||||||
if (settings.use_alt_scale !== undefined) { oai_settings.use_alt_scale = !!settings.use_alt_scale; updateScaleForm(); }
|
if (settings.use_alt_scale !== undefined) { oai_settings.use_alt_scale = !!settings.use_alt_scale; updateScaleForm(); }
|
||||||
$('#stream_toggle').prop('checked', oai_settings.stream_openai);
|
$('#stream_toggle').prop('checked', oai_settings.stream_openai);
|
||||||
|
$('#websearch_toggle').prop('checked', oai_settings.websearch_cohere);
|
||||||
$('#api_url_scale').val(oai_settings.api_url_scale);
|
$('#api_url_scale').val(oai_settings.api_url_scale);
|
||||||
$('#openai_proxy_password').val(oai_settings.proxy_password);
|
$('#openai_proxy_password').val(oai_settings.proxy_password);
|
||||||
$('#claude_assistant_prefill').val(oai_settings.assistant_prefill);
|
$('#claude_assistant_prefill').val(oai_settings.assistant_prefill);
|
||||||
|
@ -2955,6 +2960,7 @@ async function saveOpenAIPreset(name, settings, triggerUi = true) {
|
||||||
personality_format: settings.personality_format,
|
personality_format: settings.personality_format,
|
||||||
group_nudge_prompt: settings.group_nudge_prompt,
|
group_nudge_prompt: settings.group_nudge_prompt,
|
||||||
stream_openai: settings.stream_openai,
|
stream_openai: settings.stream_openai,
|
||||||
|
websearch_cohere: settings.websearch_cohere,
|
||||||
prompts: settings.prompts,
|
prompts: settings.prompts,
|
||||||
prompt_order: settings.prompt_order,
|
prompt_order: settings.prompt_order,
|
||||||
api_url_scale: settings.api_url_scale,
|
api_url_scale: settings.api_url_scale,
|
||||||
|
@ -3331,6 +3337,7 @@ function onSettingsPresetChange() {
|
||||||
personality_format: ['#personality_format_textarea', 'personality_format', false],
|
personality_format: ['#personality_format_textarea', 'personality_format', false],
|
||||||
group_nudge_prompt: ['#group_nudge_prompt_textarea', 'group_nudge_prompt', false],
|
group_nudge_prompt: ['#group_nudge_prompt_textarea', 'group_nudge_prompt', false],
|
||||||
stream_openai: ['#stream_toggle', 'stream_openai', true],
|
stream_openai: ['#stream_toggle', 'stream_openai', true],
|
||||||
|
websearch_cohere: ['#websearch_toggle', 'websearch_cohere', true],
|
||||||
prompts: ['', 'prompts', false],
|
prompts: ['', 'prompts', false],
|
||||||
prompt_order: ['', 'prompt_order', false],
|
prompt_order: ['', 'prompt_order', false],
|
||||||
api_url_scale: ['#api_url_scale', 'api_url_scale', false],
|
api_url_scale: ['#api_url_scale', 'api_url_scale', false],
|
||||||
|
@ -4025,7 +4032,7 @@ export function isImageInliningSupported() {
|
||||||
'gemini-1.0-pro-vision-latest',
|
'gemini-1.0-pro-vision-latest',
|
||||||
'gemini-1.5-pro-latest',
|
'gemini-1.5-pro-latest',
|
||||||
'gemini-pro-vision',
|
'gemini-pro-vision',
|
||||||
'claude-3'
|
'claude-3',
|
||||||
];
|
];
|
||||||
|
|
||||||
switch (oai_settings.chat_completion_source) {
|
switch (oai_settings.chat_completion_source) {
|
||||||
|
@ -4251,6 +4258,11 @@ $(document).ready(async function () {
|
||||||
saveSettingsDebounced();
|
saveSettingsDebounced();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
$('#websearch_toggle').on('change', function () {
|
||||||
|
oai_settings.websearch_cohere = !!$('#websearch_toggle').prop('checked');
|
||||||
|
saveSettingsDebounced();
|
||||||
|
});
|
||||||
|
|
||||||
$('#wrap_in_quotes').on('change', function () {
|
$('#wrap_in_quotes').on('change', function () {
|
||||||
oai_settings.wrap_in_quotes = !!$('#wrap_in_quotes').prop('checked');
|
oai_settings.wrap_in_quotes = !!$('#wrap_in_quotes').prop('checked');
|
||||||
saveSettingsDebounced();
|
saveSettingsDebounced();
|
||||||
|
|
|
@ -537,6 +537,13 @@ async function sendCohereRequest(request, response) {
|
||||||
|
|
||||||
try {
|
try {
|
||||||
const convertedHistory = convertCohereMessages(request.body.messages);
|
const convertedHistory = convertCohereMessages(request.body.messages);
|
||||||
|
const connectors = [];
|
||||||
|
|
||||||
|
if (request.body.websearch) {
|
||||||
|
connectors.push({
|
||||||
|
id: 'web-search',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
// https://docs.cohere.com/reference/chat
|
// https://docs.cohere.com/reference/chat
|
||||||
const requestBody = {
|
const requestBody = {
|
||||||
|
@ -554,7 +561,7 @@ async function sendCohereRequest(request, response) {
|
||||||
frequency_penalty: request.body.frequency_penalty,
|
frequency_penalty: request.body.frequency_penalty,
|
||||||
presence_penalty: request.body.presence_penalty,
|
presence_penalty: request.body.presence_penalty,
|
||||||
prompt_truncation: 'AUTO_PRESERVE_ORDER',
|
prompt_truncation: 'AUTO_PRESERVE_ORDER',
|
||||||
connectors: [], // TODO
|
connectors: connectors,
|
||||||
documents: [],
|
documents: [],
|
||||||
tools: [],
|
tools: [],
|
||||||
tool_results: [],
|
tool_results: [],
|
||||||
|
|
Loading…
Reference in New Issue