llm.js 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. define(['jquery', 'bootstrap', 'backend', 'form'], function ($, undefined, Backend, Form) {
  2. var presets = {
  3. dashscope: {
  4. url: 'https://dashscope.aliyuncs.com/compatible-mode/v1',
  5. vision: 'qwen-vl-max',
  6. text: 'qwen-plus'
  7. },
  8. openai: {
  9. url: 'https://api.openai.com/v1',
  10. vision: 'gpt-4o',
  11. text: 'gpt-4o-mini'
  12. },
  13. moonshot: {
  14. url: 'https://api.moonshot.cn/v1',
  15. vision: 'moonshot-v1-8k-vision-preview',
  16. text: 'moonshot-v1-8k'
  17. },
  18. zhipu: {
  19. url: 'https://open.bigmodel.cn/api/paas/v4',
  20. vision: 'glm-4v',
  21. text: 'glm-4'
  22. },
  23. siliconflow: {
  24. url: 'https://api.siliconflow.cn/v1',
  25. vision: 'Qwen/Qwen2.5-VL-72B-Instruct',
  26. text: 'Qwen/Qwen2.5-7B-Instruct'
  27. },
  28. volcengine: {
  29. url: 'https://ark.cn-beijing.volces.com/api/v3',
  30. vision: '',
  31. text: ''
  32. },
  33. deepseek: {
  34. url: 'https://api.deepseek.com',
  35. vision: '',
  36. text: 'deepseek-chat'
  37. },
  38. custom: {
  39. url: '',
  40. vision: '',
  41. text: ''
  42. }
  43. };
  44. var Controller = {
  45. index: function () {
  46. Form.api.bindevent($("#llm-form"));
  47. $(document).on('change', '#c-provider', function () {
  48. var p = presets[$(this).val()];
  49. if (!p) {
  50. return;
  51. }
  52. if (p.url) {
  53. $('#c-online-url').val(p.url);
  54. }
  55. if (p.vision) {
  56. $('#c-online-vision').val(p.vision);
  57. }
  58. if (p.text) {
  59. $('#c-online-text').val(p.text);
  60. }
  61. });
  62. $('.btn-test-online').on('click', function () {
  63. var btn = $(this);
  64. btn.prop('disabled', true);
  65. Fast.api.ajax({
  66. url: 'ps/llm/testOnline',
  67. type: 'POST',
  68. data: $('#llm-form').serialize()
  69. }, function () {
  70. btn.prop('disabled', false);
  71. }, function () {
  72. btn.prop('disabled', false);
  73. });
  74. });
  75. $('.btn-test-local').on('click', function () {
  76. var btn = $(this);
  77. btn.prop('disabled', true);
  78. Fast.api.ajax({
  79. url: 'ps/llm/testLocal',
  80. type: 'POST',
  81. data: $('#llm-form').serialize()
  82. }, function () {
  83. btn.prop('disabled', false);
  84. }, function () {
  85. btn.prop('disabled', false);
  86. });
  87. });
  88. }
  89. };
  90. return Controller;
  91. });