mirror of
https://github.com/aljazceru/Auto-GPT.git
synced 2025-12-17 22:14:28 +01:00
Added functionality to allow the use of GPT on a Microsoft Azure instance
This commit is contained in:
@@ -4,3 +4,7 @@ SMART_LLM_MODEL="gpt-4"
|
|||||||
FAST_LLM_MODEL="gpt-3.5-turbo"
|
FAST_LLM_MODEL="gpt-3.5-turbo"
|
||||||
GOOGLE_API_KEY=
|
GOOGLE_API_KEY=
|
||||||
CUSTOM_SEARCH_ENGINE_ID=
|
CUSTOM_SEARCH_ENGINE_ID=
|
||||||
|
USE_AZURE=False
|
||||||
|
OPENAI_API_BASE=your-base-url-for-azure
|
||||||
|
OPENAI_API_VERSION=api-version-for-azure
|
||||||
|
OPENAI_DEPLOYMENT_ID=deployment-id-for-azure
|
||||||
@@ -92,6 +92,7 @@ pip install -r requirements.txt
|
|||||||
4. Rename `.env.template` to `.env` and fill in your `OPENAI_API_KEY`. If you plan to use Speech Mode, fill in your `ELEVEN_LABS_API_KEY` as well.
|
4. Rename `.env.template` to `.env` and fill in your `OPENAI_API_KEY`. If you plan to use Speech Mode, fill in your `ELEVEN_LABS_API_KEY` as well.
|
||||||
- Obtain your OpenAI API key from: https://platform.openai.com/account/api-keys.
|
- Obtain your OpenAI API key from: https://platform.openai.com/account/api-keys.
|
||||||
- Obtain your ElevenLabs API key from: https://elevenlabs.io. You can view your xi-api-key using the "Profile" tab on the website.
|
- Obtain your ElevenLabs API key from: https://elevenlabs.io. You can view your xi-api-key using the "Profile" tab on the website.
|
||||||
|
- If you want to use GPT on an Azure instance, set `USE_AZURE` to `True` and provide the `OPENAI_API_BASE`, `OPENAI_API_VERSION` and `OPENAI_DEPLOYMENT_ID` values as explained here: https://pypi.org/project/openai/ in the `Microsoft Azure Endpoints` section
|
||||||
|
|
||||||
## 🔧 Usage
|
## 🔧 Usage
|
||||||
|
|
||||||
|
|||||||
@@ -34,6 +34,16 @@ class Config(metaclass=Singleton):
|
|||||||
self.smart_token_limit = int(os.getenv("SMART_TOKEN_LIMIT", 8000))
|
self.smart_token_limit = int(os.getenv("SMART_TOKEN_LIMIT", 8000))
|
||||||
|
|
||||||
self.openai_api_key = os.getenv("OPENAI_API_KEY")
|
self.openai_api_key = os.getenv("OPENAI_API_KEY")
|
||||||
|
self.use_azure = False
|
||||||
|
self.use_azure = os.getenv("USE_AZURE")
|
||||||
|
if self.use_azure:
|
||||||
|
self.openai_api_base = os.getenv("OPENAI_API_BASE")
|
||||||
|
self.openai_api_version = os.getenv("OPENAI_API_VERSION")
|
||||||
|
self.openai_deployment_id = os.getenv("OPENAI_DEPLOYMENT_ID")
|
||||||
|
openai.api_type = "azure"
|
||||||
|
openai.api_base = self.openai_api_base
|
||||||
|
openai.api_version = self.openai_api_version
|
||||||
|
|
||||||
self.elevenlabs_api_key = os.getenv("ELEVENLABS_API_KEY")
|
self.elevenlabs_api_key = os.getenv("ELEVENLABS_API_KEY")
|
||||||
|
|
||||||
self.google_api_key = os.getenv("GOOGLE_API_KEY")
|
self.google_api_key = os.getenv("GOOGLE_API_KEY")
|
||||||
|
|||||||
@@ -6,11 +6,20 @@ openai.api_key = cfg.openai_api_key
|
|||||||
|
|
||||||
# Overly simple abstraction until we create something better
|
# Overly simple abstraction until we create something better
|
||||||
def create_chat_completion(messages, model=None, temperature=None, max_tokens=None)->str:
|
def create_chat_completion(messages, model=None, temperature=None, max_tokens=None)->str:
|
||||||
response = openai.ChatCompletion.create(
|
if cfg.use_azure:
|
||||||
model=model,
|
response = openai.ChatCompletion.create(
|
||||||
messages=messages,
|
deployment_id=cfg.openai_deployment_id,
|
||||||
temperature=temperature,
|
model=model,
|
||||||
max_tokens=max_tokens
|
messages=messages,
|
||||||
)
|
temperature=temperature,
|
||||||
|
max_tokens=max_tokens
|
||||||
|
)
|
||||||
|
else:
|
||||||
|
response = openai.ChatCompletion.create(
|
||||||
|
model=model,
|
||||||
|
messages=messages,
|
||||||
|
temperature=temperature,
|
||||||
|
max_tokens=max_tokens
|
||||||
|
)
|
||||||
|
|
||||||
return response.choices[0].message["content"]
|
return response.choices[0].message["content"]
|
||||||
|
|||||||
Reference in New Issue
Block a user