From 180f28a4934bc3360e42e4ff8ba181f1843808c1 Mon Sep 17 00:00:00 2001 From: ajaysi Date: Fri, 19 Apr 2024 08:05:41 +0530 Subject: [PATCH] Fixed issue with Gemini API --- alwrity.py | 42 +++++++----------- .../text_generation/.gemini_pro_text.py.swp | Bin 0 -> 12288 bytes .../text_generation/gemini_pro_text.py | 23 ++++++---- lib/utils/alwrity_utils.py | 2 +- 4 files changed, 31 insertions(+), 36 deletions(-) create mode 100644 lib/gpt_providers/text_generation/.gemini_pro_text.py.swp diff --git a/alwrity.py b/alwrity.py index 97ee354c..462e403f 100644 --- a/alwrity.py +++ b/alwrity.py @@ -174,45 +174,33 @@ def check_llm_environs(): load_dotenv(Path('.env')) # Check if GPT_PROVIDER is defined in .env file gpt_provider = os.getenv("GPT_PROVIDER") - + # Disable unsupported GPT providers supported_providers = ['google', 'openai', 'mistralai'] - if gpt_provider is None or gpt_provider not in supported_providers: + if gpt_provider is None or gpt_provider.lower() not in map(str.lower, supported_providers): # Prompt user to select a provider - selected_provider = radiolist_dialog( - title='Select your preferred GPT provider:', - text="Please choose GPT provider Below:\n👺Google Gemini recommended, its 🆓.", - values=[ - ("Google", "Google"), - ("OpenAI", "OpenAI"), - ("MistralAI/WIP", "mistralai/WIP"), - ("Ollama", "Ollama (TBD)") - ] - ).run() + selected_provider = radiolistbox( + msg='Select your preferred GPT provider:', + title='GPT Provider Selection', + choices=["Google", "OpenAI", "MistralAI/WIP", "Ollama (TBD)"], + default_choice="Google" + ) gpt_provider = selected_provider # Update .env file os.environ["GPT_PROVIDER"] = gpt_provider - - if gpt_provider == "Google": + + if gpt_provider.lower() == "google": api_key_var = "GEMINI_API_KEY" missing_api_msg = f"To get your {api_key_var}, please visit: https://aistudio.google.com/app/apikey" - elif gpt_provider == "OpenAI": + elif gpt_provider.lower() == "openai": api_key_var = "OPENAI_API_KEY" missing_api_msg = "To get your OpenAI API key, please visit: https://openai.com/blog/openai-api" - elif gpt_provider == "mistralai": + elif gpt_provider.lower() == "mistralai": api_key_var = "MISTRAL_API_KEY" missing_api_msg = "To get your MistralAI API key, please visit: https://mistralai.com/api" - - if os.getenv(api_key_var) is None: - # Ask for the API key - print(f"🚫The {api_key_var} is missing. {missing_api_msg}") - api_key = typer.prompt(f"\n🙆🙆Please enter {api_key_var} API Key:") - - # Update .env file - with open(".env", "a", encoding="utf-8") as env_file: - env_file.write(f"{api_key_var}={api_key}\n") - env_file.write(f"GPT_PROVIDER={gpt_provider}\n") - + else: + print("Unrecognised/Unsupported GPT provider. Check your main_config and environs.") + exit(1) def check_internet(): diff --git a/lib/gpt_providers/text_generation/.gemini_pro_text.py.swp b/lib/gpt_providers/text_generation/.gemini_pro_text.py.swp new file mode 100644 index 0000000000000000000000000000000000000000..a62ca028c88a54647606d6df55c047eb64fdc18d GIT binary patch literal 12288 zcmeHN&2Jnv6nD#oueOLvTyZx@*@(?{BvrH?7u?@yP|~^Kk9m1y)CQQI@6u~KncTDD-^v} zkQgsfawL4Nbj$EH;{`nCiWwo}R=^_>3#;JSs%A2NlrL3%#X!ZtLl{WSVD`-enjWF;Fp3F;Fp3F;Fp3F;Fp3G4Ow7z$E*~Cm7uRe1IqN`@UWG zyja~T1}X+B1}X+B1}X+B1}X+B1}X+B1}X+B1}X-gLI#*m$m`D%a_BiYkN^J{-~aC) zBIH-#XW)C_JK!_mDzF5+0lWqr0RBEm$XCEEU<=T|CEzqL2fPKefj1(twQz$?Ig`2Qnt7x)5L2QCA4 zTnB+$&k*uC@GkHZe(cx+J_e2#KYToebNAo4O!F(0LBLg$D;+$bD*x>TUNu zG$joRrM)${p^EE7#+uWCk`Y~SM?%_k108QR>3MF{Sj0iIHbV+)^vRjyYki&=I`3{c zkwTfK=(s)UOL3DH{XV&FbBj;T;A4$L#S^ZZ_PEVtkk*|mQxmm z2@#LDHW5hNX{}JO?INi-HA5EDE2%bCBFw!TUuw#FGBq_?i`hs7IO!D!wz9_==x|R^ z4|A!V8J$`~I3>nyZOCF@_gUf!2Fnh*@oh!+jHi1yZY#HSo6o2){Gn_d->qBVPk62ICBOQgwgcF)DmqiYD8Gb zb;fx)K$sUgo;Hpn=MyBc%*vD%l1wM!iicy$;zHb)3bCY(jCmpIDd7i`(zT&XlFV(# zgTbsJB4bPhhL5firdT9XC!h@oKmznZgOP=fCBqU^N)j=WhJ}SfIgy2AWhgYwoZdAC z8w*(kptGV!t`SDuP8XQ!nrTf-3S6)_U!5OC4?~8bYwe0xWQxMLsNx|XF*D&HV(XLV zBwb$*CnZFbx;Eq?UJA5Dq!d@R@)k_cYUO>5mA7E47O^!Ci(8T!&&XAdCAN))dMz(B z$VAb|#9KvWyi1lqX6useavmji$G|dZYs*rm^T6(bEosB`G(|5Ufl3ps!ujsu#Cdev zwHle*3hW`D+GcjMK^NKDit`^erT?f{k;$^vwl1Q$gy(p3Tk^H%o0DyIb|v4D!sSgL znV?{h*kdO~>MRl7Dj#>G#5qFNchMki~XKY?1laBrH*Z?Vj$BgaD)K7w2LNb2$u$6`8gKaap^QA#tMvuv3 zePPB_M2S>})*WYM9%hpkW;(Swtm-^Gz2R<~bFHj+eJ)U($EP<2`2Mlk-oP$xZw1fL z%j&Nqj^fN$1Z2NYLdB6$$&++}_ZlE*Id{kk6OrZzra<%wAF2>V5SCi5D)sY(l< zvz9Qxe9xCI9G96H)~B1zR{n<&wIS(-oT-$JC#^`%K^BHZ!iuzn3H#N