lifan0127 / ai-research-assistant

Aria is Your AI Research Assistant Powered by GPT Large Language Models
GNU Affero General Public License v3.0
1.05k stars 57 forks source link

LLMAs alternatives to ChatGPT #85

Open brunoalbertopeixoto opened 7 months ago

brunoalbertopeixoto commented 7 months ago

I leave as a suggestion the possibility of adding opensource and free Illmas APIs, such as Gemini, as alternatives. Paying 20 dollars a month is unfeasible.

lifan0127 commented 7 months ago

Hi @brunoalbertopeixoto to clarify, there is no monthly fee to use this plugin. However, you do have to pay OpenAI for the GPT API usage on a pay-per-use basis.

Having said that, I do agree it would be nice to support other LLMs especially open-sourced ones.

Ehesh commented 7 months ago

I am not a programmer, but I have been able to tinker around with some projects and use opensource LLM. Most opensource LLM frameworks are compatible with Open AI API calls. I believe that if you allow the base URL to be modified it would easily allow people to use their own models (through ollama, LMstudio, or other cloud ones)

lifan0127 commented 7 months ago

Hi @Ehesh, you can change the API Base URL under Zotero Preferences > Aria > Model Configuration. If an open-source LLM uses the same API signature as OpenAI's, it might work. Good luck and let me know!

brunoalbertopeixoto commented 7 months ago

Hi @Ehesh, you can change the API Base URL under Zotero Preferences > Aria > Model Configuration. If an open-source LLM uses the same API signature as OpenAI's, it might work. Good luck and let me know!

Create a tutorial how to do this please. I bought the openia api but I would like to work with an opensource alternative without limits. I would like to work in Brazilian Portuguese.

brunoalbertopeixoto commented 7 months ago

I am not a programmer, but I have been able to tinker around with some projects and use opensource LLM. Most opensource LLM frameworks are compatible with Open AI API calls. I believe that if you allow the base URL to be modified it would easily allow people to use their own models (through ollama, LMstudio, or other cloud ones)

Create a tutorial how to do this please. I bought the openia api but I would like to work with an opensource alternative without limits. I would like to work in Brazilian Portuguese.

lifan0127 commented 7 months ago

The system is currently optimized for the OpenAI GPT models. I'd like to see broader model support, especially open sourced ones. However, I really don't have the time to work on it. Community effort is welcome 🤗

dcmumby commented 6 months ago

I have an openai compatible api endpoint , i get this error

{
  "name": "Error",
  "message": "input values have 2 keys, you must specify an input key or pass only 1 key as input",
  "stack": "getInputValue@resource://gre/modules/addons/XPIProvider.jsm -> jar:file://extensions/aria@apex974.com.xpi!/bootstrap.js -> jar:file://extensions/aria@apex974.com.xpi!/chrome/content/scripts/index.js:53279:11\nsaveContext@resource://gre/modules/addons/XPIProvider.jsm -> jar:file://extensions/aria@apex974.com.xpi!/bootstrap.js -> jar:file://extensions/aria@apex974.com.xpi!/chrome/content/scripts/index.js:53398:43\ninvoke@resource://gre/modules/addons/XPIProvider.jsm -> jar:file://extensions/aria@apex974.com.xpi!/bootstrap.js -> jar:file://extensions/aria@apex974.com.xpi!/chrome/content/scripts/index.js:20784:17\n"
}

i don't need an api key so simply pass random what does this message mean ? "message": "input values have 2 keys, you must specify an input key or pass only 1 key as input", my api does'nt show any error INFO: 127.0.0.1:51295 - "POST /v1/chat/completions HTTP/1.1" 200 OK Consumed 0.0$ INFO: 127.0.0.1:51295 - "POST /v1/chat/completions HTTP/1.1" 200 OK

lifan0127 commented 6 months ago

Hi @dcmumby , I suspect this error is not related to your API end point. Do you always get the same error even with different questions?

dcmumby commented 6 months ago

same error regardless of question

vv111y commented 3 months ago

the issue is that we cannot specify the model as a text string, ie. meta-llama/Meta-Llama-3-70B. We are provided with radial buttons

Screenshot 2024-08-06 at 7 35 51 PM

Screenshot 2024-08-06 at 7 35 30 PM

lifan0127 commented 3 months ago

Hi @vv111y it is possible to directly modify the model name and the base URL via Zotero config editor. You are welcome to explore other model options as long as they are compatible with the OpenAI API signature.

image

vv111y commented 3 months ago

unfortunately no. The stack below shows that gpt-4-0613 is still being sent even when I change that string.

<pre>{
  "status": 404,
  "headers": {},
  "error": {
    "message": "Unable to access model gpt-4-0613. Please visit https://api.together.xyz to see the list of supported models.",
    "type": "invalid_request_error",
    "param": null,
    "code": "model_not_found"
  },
  "code": "model_not_found",
  "param": null,
  "type": "invalid_request_error",
  "attemptNumber": 1,
  "retriesLeft": 6,
  "name": "Error",
  "message": "404 Unable to access model gpt-4-0613. Please visit https://api.together.xyz to see the list of supported models.",
  "stack": "@resource://gre/modules/addons/XPIProvider.jsm -> jar:file:///Users/will/Library/Application%20Support/Zotero/Profiles/ob3uobba.default/extensions/aria@apex974.com.xpi!/bootstrap.js -> jar:file:///Users/will/Library/Application%20Support/Zotero/Profiles/ob3uobba.default/extensions/aria@apex974.com.xpi!/chrome/content/scripts/index.js:830:19\n_APIError@resource://gre/modules/addons/XPIProvider.jsm -> jar:file:///Users/will/Library/Application%20Support/Zotero/Profiles/ob3uobba.default/extensions/aria@apex974.com.xpi!/bootstrap.js -> jar:file:///Users/will/Library/Application%20Support/Zotero/Profiles/ob3uobba.default/extensions/aria@apex974.com.xpi!/chrome/content/scripts/index.js:56726:5\nNotFoundError<@resource://gre/modules/addons/XPIProvider.jsm -> jar:file:///Users/will/Library/Application%20Support/Zotero/Profiles/ob3uobba.default/extensions/aria@apex974.com.xpi!/bootstrap.js -> jar:file:///Users/will/Library/Application%20Support/Zotero/Profiles/ob3uobba.default/extensions/aria@apex974.com.xpi!/chrome/content/scripts/index.js:56819:11\ngenerate@resource://gre/modules/addons/XPIProvider.jsm -> jar:file:///Users/will/Library/Application%20Support/Zotero/Profiles/ob3uobba.default/extensions/aria@apex974.com.xpi!/bootstrap.js -> jar:file:///Users/will/Library/Application%20Support/Zotero/Profiles/ob3uobba.default/extensions/aria@apex974.com.xpi!/chrome/content/scripts/index.js:56763:14\nmakeStatusError@resource://gre/modules/addons/XPIProvider.jsm -> jar:file:///Users/will/Library/Application%20Support/Zotero/Profiles/ob3uobba.default/extensions/aria@apex974.com.xpi!/bootstrap.js -> jar:file:///Users/will/Library/Application%20Support/Zotero/Profiles/ob3uobba.default/extensions/aria@apex974.com.xpi!/chrome/content/scripts/index.js:57547:12\nmakeRequest@resource://gre/modules/addons/XPIProvider.jsm -> jar:file:///Users/will/Library/Application%20Support/Zotero/Profiles/ob3uobba.default/extensions/aria@apex974.com.xpi!/bootstrap.js -> jar:file:///Users/will/Library/Application%20Support/Zotero/Profiles/ob3uobba.default/extensions/aria@apex974.com.xpi!/chrome/content/scripts/index.js:57591:20\n"
}</pre>
lifan0127 commented 3 months ago

Hi @vv111y please make sure to restart Zotero. Let me know if you still experience any issue. Thanks!

unfortunately no. The stack below shows that gpt-4-0613 is still being sent even when I change that string.

<pre>{
  "status": 404,
  "headers": {},
  "error": {
    "message": "Unable to access model gpt-4-0613. Please visit https://api.together.xyz to see the list of supported models.",
    "type": "invalid_request_error",
    "param": null,
    "code": "model_not_found"
  },
  "code": "model_not_found",
  "param": null,
  "type": "invalid_request_error",
  "attemptNumber": 1,
  "retriesLeft": 6,
  "name": "Error",
  "message": "404 Unable to access model gpt-4-0613. Please visit https://api.together.xyz to see the list of supported models.",
  "stack": "@resource://gre/modules/addons/XPIProvider.jsm -> jar:file:///Users/will/Library/Application%20Support/Zotero/Profiles/ob3uobba.default/extensions/aria@apex974.com.xpi!/bootstrap.js -> jar:file:///Users/will/Library/Application%20Support/Zotero/Profiles/ob3uobba.default/extensions/aria@apex974.com.xpi!/chrome/content/scripts/index.js:830:19\n_APIError@resource://gre/modules/addons/XPIProvider.jsm -> jar:file:///Users/will/Library/Application%20Support/Zotero/Profiles/ob3uobba.default/extensions/aria@apex974.com.xpi!/bootstrap.js -> jar:file:///Users/will/Library/Application%20Support/Zotero/Profiles/ob3uobba.default/extensions/aria@apex974.com.xpi!/chrome/content/scripts/index.js:56726:5\nNotFoundError<@resource://gre/modules/addons/XPIProvider.jsm -> jar:file:///Users/will/Library/Application%20Support/Zotero/Profiles/ob3uobba.default/extensions/aria@apex974.com.xpi!/bootstrap.js -> jar:file:///Users/will/Library/Application%20Support/Zotero/Profiles/ob3uobba.default/extensions/aria@apex974.com.xpi!/chrome/content/scripts/index.js:56819:11\ngenerate@resource://gre/modules/addons/XPIProvider.jsm -> jar:file:///Users/will/Library/Application%20Support/Zotero/Profiles/ob3uobba.default/extensions/aria@apex974.com.xpi!/bootstrap.js -> jar:file:///Users/will/Library/Application%20Support/Zotero/Profiles/ob3uobba.default/extensions/aria@apex974.com.xpi!/chrome/content/scripts/index.js:56763:14\nmakeStatusError@resource://gre/modules/addons/XPIProvider.jsm -> jar:file:///Users/will/Library/Application%20Support/Zotero/Profiles/ob3uobba.default/extensions/aria@apex974.com.xpi!/bootstrap.js -> jar:file:///Users/will/Library/Application%20Support/Zotero/Profiles/ob3uobba.default/extensions/aria@apex974.com.xpi!/chrome/content/scripts/index.js:57547:12\nmakeRequest@resource://gre/modules/addons/XPIProvider.jsm -> jar:file:///Users/will/Library/Application%20Support/Zotero/Profiles/ob3uobba.default/extensions/aria@apex974.com.xpi!/bootstrap.js -> jar:file:///Users/will/Library/Application%20Support/Zotero/Profiles/ob3uobba.default/extensions/aria@apex974.com.xpi!/chrome/content/scripts/index.js:57591:20\n"
}</pre>
vv111y commented 3 months ago

Hi @lifan0127 thanks I wasn't aware. Unfortunately still a problem, but please don't feel you need to do anything for my sake; I have options anyways. Here's the last error fwiw (note together.ai is openai compatible).

<pre>{
  "name": "Error",
  "message": "input values have 2 keys, you must specify an input key or pass only 1 key as input",
  "stack": "getInputValue@resource://gre/modules/addons/XPIProvider.jsm -> jar:file:///Users/will/Library/Application%20Support/Zotero/Profiles/ob3uobba.default/extensions/aria@apex974.com.xpi!/bootstrap.js -> jar:file:///Users/will/Library/Application%20Support/Zotero/Profiles/ob3uobba.default/extensions/aria@apex974.com.xpi!/chrome/content/scripts/index.js:55536:11\nsaveContext@resource://gre/modules/addons/XPIProvider.jsm -> jar:file:///Users/will/Library/Application%20Support/Zotero/Profiles/ob3uobba.default/extensions/aria@apex974.com.xpi!/bootstrap.js -> jar:file:///Users/will/Library/Application%20Support/Zotero/Profiles/ob3uobba.default/extensions/aria@apex974.com.xpi!/chrome/content/scripts/index.js:55692:43\ninvoke@resource://gre/modules/addons/XPIProvider.jsm -> jar:file:///Users/will/Library/Application%20Support/Zotero/Profiles/ob3uobba.default/extensions/aria@apex974.com.xpi!/bootstrap.js -> jar:file:///Users/will/Library/Application%20Support/Zotero/Profiles/ob3uobba.default/extensions/aria@apex974.com.xpi!/chrome/content/scripts/index.js:27752:17\n"
}</pre>
lifan0127 commented 3 months ago

Hi @vv111y this looks like a different issue. If you please share the chat history, either here or through the feedback buttons, I can troubleshoot further.

Darthvadar commented 3 months ago

I got the same issue. because, OpenAI API is not accessible in China, and I modified the code and switch the API to Moonshot AI (Kimi API) which claims to be compatible with OpenAI API.

const OPENAI_MODEL = (Zotero.Prefs.get(${config.addonRef}.OPENAI_MODEL) as string) || 'moonshot-v1-8k' const OPENAI_BASE_URL = (Zotero.Prefs.get(${config.addonRef}.OPENAI_BASE_URL) as string) || 'https://api.moonshot.cn/v1'

after compile and install the plugin, I can see the configuration panel is changed: image

the plugin interface works, but it raised the error of "input values have 2 keys, you must specify an input key or pass only 1 key as input" image

Hi @lifan0127 thanks I wasn't aware. Unfortunately still a problem, but please don't feel you need to do anything for my sake; I have options anyways. Here's the last error fwiw (note together.ai is openai compatible).


<pre>{
  "name": "Error",
  "message": "input values have 2 keys, you must specify an input key or pass only 1 key as input",
  "stack": "getInputValue@resource://gre/modules/addons/XPIProvider.jsm -> 
lifan0127 commented 3 months ago

Hi @Darthvadar, I think the issue is that the API response doesn't conform to the spec as expected by Aria. Please feel free to share more details through the feedback buttons so I can take a further look.

Darthvadar commented 3 months ago

yes, just sent the feedback.

Hi @Darthvadar, I think the issue is that the API response doesn't conform to the spec as expected by Aria. Please feel free to share more details through the feedback buttons so I can take a further look.