pull/380/merge
evelynmitchell 1 year ago committed by GitHub
commit 673a2037cb
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

@ -1,4 +1,5 @@
OPENAI_API_KEY="" OPENAI_API_KEY=""
OPENAI_ORG_ID=""
GOOGLE_API_KEY="" GOOGLE_API_KEY=""
ANTHROPIC_API_KEY="" ANTHROPIC_API_KEY=""
AI21_API_KEY="your_api_key_here" AI21_API_KEY="your_api_key_here"

@ -26,7 +26,7 @@ jobs:
- name: Install dependencies - name: Install dependencies
run: | run: |
python -m pip install --upgrade pip python -m pip install --upgrade pip
pip install flake8 pytest swarms pip install flake8 pytest swarms torchfix
if [ -f requirements.txt ]; then pip install -r requirements.txt; fi if [ -f requirements.txt ]; then pip install -r requirements.txt; fi
- name: Lint with flake8 - name: Lint with flake8
run: | run: |

@ -28,7 +28,7 @@ jobs:
run: | run: |
python -m pip install --upgrade pip python -m pip install --upgrade pip
python -m pip install --upgrade swarms python -m pip install --upgrade swarms
python -m pip install flake8 pytest swarms python -m pip install flake8 pytest swarms torchfix
if [ -f requirements.txt ]; then pip install -r requirements.txt; fi if [ -f requirements.txt ]; then pip install -r requirements.txt; fi
- name: Lint with flake8 - name: Lint with flake8
run: | run: |

@ -9,10 +9,12 @@ load_dotenv()
# Get the API key from the environment # Get the API key from the environment
api_key = os.environ.get("OPENAI_API_KEY") api_key = os.environ.get("OPENAI_API_KEY")
org_id = os.environ.get("OPENAI_ORG_ID")
# Initialize the language model # Initialize the language model
llm = GPT4VisionAPI( llm = GPT4VisionAPI(
openai_api_key=api_key, openai_api_key=api_key,
openai_org_id=org_id,
max_tokens=500, max_tokens=500,
) )

@ -21,9 +21,10 @@ load_dotenv()
# Get the API key from the environment # Get the API key from the environment
api_key = os.environ.get("OPENAI_API_KEY") api_key = os.environ.get("OPENAI_API_KEY")
org_id = os.environ.get("OPENAI_ORG_ID")
# Initialize the language model # Initialize the language model
llm = OpenAIChat(openai_api_key=api_key) llm = OpenAIChat(openai_api_key=api_key, openai_org_id=org_id, max_tokens=500,)
# Run the language model in a loop # Run the language model in a loop

@ -9,6 +9,7 @@ load_dotenv()
# Retrieving the OpenAI API key from environment variables # Retrieving the OpenAI API key from environment variables
api_key = os.getenv("OPENAI_API_KEY") api_key = os.getenv("OPENAI_API_KEY")
org_id = os.environ.get("OPENAI_ORG_ID")
# Creating a Worker instance # Creating a Worker instance
worker = Worker( worker = Worker(
@ -17,7 +18,7 @@ worker = Worker(
human_in_the_loop=False, human_in_the_loop=False,
tools=[], tools=[],
temperature=0.5, temperature=0.5,
llm=OpenAIChat(openai_api_key=api_key), llm=OpenAIChat(openai_api_key=api_key, openai_org_id=org_id, max_tokens=500,),
verbose=True, verbose=True,
) )

@ -13,11 +13,13 @@ from swarms.utils.pdf_to_text import pdf_to_text
load_dotenv() load_dotenv()
anthropic_api_key = os.getenv("ANTHROPIC_API_KEY") anthropic_api_key = os.getenv("ANTHROPIC_API_KEY")
openai_api_key = os.getenv("OPENAI_API_KEY") openai_api_key = os.getenv("OPENAI_API_KEY")
org_id = os.environ.get("OPENAI_ORG_ID")
# Base llms # Base llms
llm1 = OpenAIChat( llm1 = OpenAIChat(
openai_api_key=openai_api_key, openai_api_key=openai_api_key,
openai_org_id=org_id,
max_tokens=5000, max_tokens=5000,
) )

@ -7,11 +7,12 @@ from swarms.models.stable_diffusion import StableDiffusion
load_dotenv() load_dotenv()
openai_api_key = os.getenv("OPENAI_API_KEY") openai_api_key = os.getenv("OPENAI_API_KEY")
org_id = os.environ.get("OPENAI_ORG_ID")
stability_api_key = os.getenv("STABILITY_API_KEY") stability_api_key = os.getenv("STABILITY_API_KEY")
# Initialize the language model and image generation model # Initialize the language model and image generation model
llm = OpenAIChat( llm = OpenAIChat(
openai_api_key=openai_api_key, temperature=0.5, max_tokens=3000 openai_api_key=openai_api_key, openai_org_id=org_id, temperature=0.5, max_tokens=3000
) )
sd_api = StableDiffusion(api_key=stability_api_key) sd_api = StableDiffusion(api_key=stability_api_key)
@ -41,7 +42,7 @@ class ProductAdConceptGenerator:
"serene", "serene",
"lasers,lightning", "lasers,lightning",
] ]
self.contexts = [ self.style = [
"in an everyday setting", "in an everyday setting",
"in a rave setting", "in a rave setting",
"in an abstract environment", "in an abstract environment",
@ -62,10 +63,21 @@ class ProductAdConceptGenerator:
self.contexts = [ self.contexts = [
"high realism product ad (extremely creative)" "high realism product ad (extremely creative)"
] ]
self.social_media_platforms = [
"Facebook",
"Instagram",
"Twitter",
"LinkedIn",
"Snapchat",
"TikTok",
"Pinterest",
"YouTube",
]
def generate_concept(self): def generate_concept(self):
theme = random.choice(self.themes) theme = random.choice(self.themes)
context = random.choice(self.contexts) context = random.choice(self.contexts)
style = random.choice(self.style)
return ( return (
f"{theme} inside a {style} {self.product_name}, {context}" f"{theme} inside a {style} {self.product_name}, {context}"
) )
@ -93,8 +105,7 @@ ad_copy_prompt = (
ad_copy = ad_copy_agent.run(task=ad_copy_prompt) ad_copy = ad_copy_agent.run(task=ad_copy_prompt)
# Output the results # Output the results
print("Creative Concept:", concept_result) print("Creative Concept:", concept_concept)
print("Design Ideas:", design_result)
print("Ad Copy:", copywriting_result) print("Ad Copy:", copywriting_result)
print( print(
"Image Path:", "Image Path:",

@ -15,6 +15,7 @@ from swarms.utils.pdf_to_text import pdf_to_text
load_dotenv() load_dotenv()
anthropic_api_key = os.getenv("ANTHROPIC_API_KEY") anthropic_api_key = os.getenv("ANTHROPIC_API_KEY")
openai_api_key = os.getenv("OPENAI_API_KEY") openai_api_key = os.getenv("OPENAI_API_KEY")
org_id = os.environ.get("OPENAI_ORG_ID")
PDF_PATH = "fasterffn.pdf" PDF_PATH = "fasterffn.pdf"
@ -22,6 +23,7 @@ PDF_PATH = "fasterffn.pdf"
# Base llms # Base llms
llm1 = OpenAIChat( llm1 = OpenAIChat(
openai_api_key=openai_api_key, openai_api_key=openai_api_key,
openai_org_id=org_id,
) )
llm2 = Anthropic( llm2 = Anthropic(

@ -11,12 +11,14 @@ class AutoTemp:
def __init__( def __init__(
self, self,
api_key, api_key,
org_id,
default_temp=0.0, default_temp=0.0,
alt_temps=None, alt_temps=None,
auto_select=True, auto_select=True,
max_workers=6, max_workers=6,
): ):
self.api_key = api_key self.api_key = api_key
self.org_id = org_id
self.default_temp = default_temp self.default_temp = default_temp
self.alt_temps = ( self.alt_temps = (
alt_temps if alt_temps else [0.4, 0.6, 0.8, 1.0, 1.2, 1.4] alt_temps if alt_temps else [0.4, 0.6, 0.8, 1.0, 1.2, 1.4]
@ -24,7 +26,7 @@ class AutoTemp:
self.auto_select = auto_select self.auto_select = auto_select
self.max_workers = max_workers self.max_workers = max_workers
self.llm = OpenAIChat( self.llm = OpenAIChat(
openai_api_key=self.api_key, temperature=self.default_temp openai_api_key=self.api_key, openai_org_id=org_id, temperature=self.default_temp
) )
def evaluate_output(self, output, temperature): def evaluate_output(self, output, temperature):

@ -9,11 +9,14 @@ class BlogGen:
def __init__( def __init__(
self, self,
api_key, api_key,
org_id,
blog_topic, blog_topic,
temperature_range: str = "0.4,0.6,0.8,1.0,1.2", temperature_range: str = "0.4,0.6,0.8,1.0,1.2",
): # Add blog_topic as an argument ): # Add blog_topic as an argument
self.openai_chat = OpenAIChat( self.openai_chat = OpenAIChat(
openai_api_key=api_key, temperature=0.8 openai_api_key=api_key,
openai_org_id=org_id,
temperature=0.8
) )
self.auto_temp = AutoTemp(api_key) self.auto_temp = AutoTemp(api_key)
self.temperature_range = temperature_range self.temperature_range = temperature_range
@ -134,5 +137,6 @@ class BlogGen:
if __name__ == "__main__": if __name__ == "__main__":
api_key = os.environ["OPENAI_API_KEY"] api_key = os.environ["OPENAI_API_KEY"]
org_id = os.environ["OPENAI_ORG_ID"]
blog_generator = BlogGen(api_key) blog_generator = BlogGen(api_key)
blog_generator.run_workflow() blog_generator.run_workflow()

@ -24,6 +24,7 @@ from swarms.structs import Agent
load_dotenv() load_dotenv()
api_key = os.getenv("OPENAI_API_KEY") api_key = os.getenv("OPENAI_API_KEY")
org_id = os.environ.get("OPENAI_ORG_ID")
TASK = """ TASK = """
@ -32,7 +33,9 @@ CODE
""" """
# Initialize the language model # Initialize the language model
llm = OpenAIChat(openai_api_key=api_key, max_tokens=5000) llm = OpenAIChat(openai_api_key=api_key,
openai_org_id=org_id,
max_tokens=5000)
# Documentation agent # Documentation agent

@ -7,11 +7,15 @@ import swarms.prompts.education as edu_prompts
# Load environment variables # Load environment variables
load_dotenv() load_dotenv()
api_key = os.getenv("OPENAI_API_KEY") api_key = os.getenv("OPENAI_API_KEY")
org_id = os.getenv("OPENAI_ORG_ID")
stability_api_key = os.getenv("STABILITY_API_KEY") stability_api_key = os.getenv("STABILITY_API_KEY")
# Initialize language model # Initialize language model
llm = OpenAIChat( llm = OpenAIChat(
openai_api_key=api_key, temperature=0.5, max_tokens=3000 openai_api_key=api_key,
openai_org_id=org_id,
temperature=0.5,
max_tokens=3000
) )
# User preferences (can be dynamically set in a real application) # User preferences (can be dynamically set in a real application)

@ -43,11 +43,13 @@ export default MainPanel;
# Load the environment variables # Load the environment variables
api_key = os.getenv("OPENAI_API_KEY") api_key = os.getenv("OPENAI_API_KEY")
org_id = os.environ.get("OPENAI_ORG_ID")
# Initialize the language agent # Initialize the language agent
llm = OpenAIChat( llm = OpenAIChat(
model_name="gpt-4", model_name="gpt-4",
openai_api_key=api_key, openai_api_key=api_key,
openai_org_id=org_id,
temperature=0.5, temperature=0.5,
max_tokens=4000, max_tokens=4000,
) )

@ -9,6 +9,7 @@ load_dotenv()
# Initialize the model # Initialize the model
llm = OpenAIChat( llm = OpenAIChat(
openai_api_key=os.getenv("OPENAI_API_KEY"), openai_api_key=os.getenv("OPENAI_API_KEY"),
openai_org_id=os.getenv("OPENAI_ORG_ID"),
max_tokens=1000, max_tokens=1000,
) )

@ -10,11 +10,13 @@ load_dotenv()
# Get the API key from the environment # Get the API key from the environment
api_key = os.environ.get("OPENAI_API_KEY") api_key = os.environ.get("OPENAI_API_KEY")
org_id = os.environ.get("OPENAI_ORG_ID")
# Initialize the language model # Initialize the language model
llm = OpenAIChat( llm = OpenAIChat(
temperature=0.5, temperature=0.5,
model_name="gpt-4", model_name="gpt-4",
openai_api_key=api_key, openai_api_key=api_key,
openai_org_id=org_id,
max_tokens=1000, max_tokens=1000,
) )

@ -16,10 +16,11 @@ from swarms.prompts.logistics import (
load_dotenv() load_dotenv()
api_key = os.getenv("OPENAI_API_KEY") api_key = os.getenv("OPENAI_API_KEY")
org_id = os.environ.get("OPENAI_ORG_ID")
# GPT4VisionAPI or llama # GPT4VisionAPI or llama
# @banana #- deploy to banana # @banana #- deploy to banana
llm = GPT4VisionAPI(openai_api_key=api_key) llm = GPT4VisionAPI(openai_api_key=api_key, openai_org_id=org_id)
# Image for analysis # Image for analysis
factory_image = "factory_image1.jpg" factory_image = "factory_image1.jpg"

@ -11,10 +11,12 @@ load_dotenv()
# Get the API key from the environment # Get the API key from the environment
api_key = os.environ.get("OPENAI_API_KEY") api_key = os.environ.get("OPENAI_API_KEY")
org_id = os.environ.get("OPENAI_ORG_ID")
# Initialize the language model # Initialize the language model
llm = GPT4VisionAPI( llm = GPT4VisionAPI(
openai_api_key=api_key, openai_api_key=api_key,
openai_org_id=org_id,
max_tokens=500, max_tokens=500,
) )

@ -12,12 +12,13 @@ from swarms.structs import Agent
# Load environment variables # Load environment variables
load_dotenv() load_dotenv()
openai_api_key = os.getenv("OPENAI_API_KEY") openai_api_key = os.getenv("OPENAI_API_KEY")
org_id = os.environ.get("OPENAI_ORG_ID")
stability_api_key = os.getenv("STABLE_API_KEY") stability_api_key = os.getenv("STABLE_API_KEY")
# Initialize the models # Initialize the models
vision_api = GPT4VisionAPI(api_key=openai_api_key) vision_api = GPT4VisionAPI(api_key=openai_api_key, org_id=org_id)
sd_api = StableDiffusion(api_key=stability_api_key) sd_api = StableDiffusion(api_key=stability_api_key)
gpt_api = OpenAIChat(openai_api_key=openai_api_key) gpt_api = OpenAIChat(openai_api_key=openai_api_key, org_id=org_id)
class Idea2Image(Agent): class Idea2Image(Agent):

@ -26,12 +26,14 @@ load_dotenv()
# Get the API key from the environment # Get the API key from the environment
api_key = os.environ.get("OPENAI_API_KEY") api_key = os.environ.get("OPENAI_API_KEY")
org_id = os.environ.get("OPENAI_ORG_ID")
stable_api_key = os.environ.get("STABLE_API_KEY") stable_api_key = os.environ.get("STABLE_API_KEY")
# Initialize the language model # Initialize the language model
llm = GPT4VisionAPI( llm = GPT4VisionAPI(
openai_api_key=api_key, openai_api_key=api_key,
openai_org_id=org_id,
max_tokens=500, max_tokens=500,
) )

@ -8,6 +8,7 @@ from swarms.structs import Agent
# Load environment variables # Load environment variables
load_dotenv() load_dotenv()
openai_api_key = os.getenv("OPENAI_API_KEY") openai_api_key = os.getenv("OPENAI_API_KEY")
org_id = os.environ.get("OPENAI_ORG_ID")
# Define prompts for various tasks # Define prompts for various tasks
MEAL_PLAN_PROMPT = ( MEAL_PLAN_PROMPT = (
@ -33,6 +34,7 @@ def encode_image(image_path):
# Initialize Language Model (LLM) # Initialize Language Model (LLM)
llm = OpenAIChat( llm = OpenAIChat(
openai_api_key=openai_api_key, openai_api_key=openai_api_key,
openai_org_id=org_id,
max_tokens=3000, max_tokens=3000,
) )
@ -43,6 +45,7 @@ def create_vision_agent(image_path):
headers = { headers = {
"Content-Type": "application/json", "Content-Type": "application/json",
"Authorization": f"Bearer {openai_api_key}", "Authorization": f"Bearer {openai_api_key}",
"OpenAI-Organization": f"{openai_org_id}"
} }
payload = { payload = {
"model": "gpt-4-vision-preview", "model": "gpt-4-vision-preview",

@ -12,6 +12,7 @@ load_dotenv()
# Model # Model
llm = OpenAIChat( llm = OpenAIChat(
openai_api_key=os.getenv("OPENAI_API_KEY"), openai_api_key=os.getenv("OPENAI_API_KEY"),
openai_org_id=os.getenv("OPENAI_ORG_ID"),
model_name="gpt-4", model_name="gpt-4",
max_tokens=1000, max_tokens=1000,
) )

@ -8,7 +8,7 @@ weaviate_client = WeaviateDB(
grpc_port="YOUR_gRPC_PORT", grpc_port="YOUR_gRPC_PORT",
grpc_secure=True, grpc_secure=True,
auth_client_secret="YOUR_APIKEY", auth_client_secret="YOUR_APIKEY",
additional_headers={"X-OpenAI-Api-Key": "YOUR_OPENAI_APIKEY"}, additional_headers={"X-OpenAI-Api-Key": "YOUR_OPENAI_APIKEY","OpenAI-Organization": "YOUR_OPENAI_ORG_ID"},
additional_config=None, # You can pass additional configuration here additional_config=None, # You can pass additional configuration here
) )

@ -13,10 +13,12 @@ load_dotenv()
# Get the API key from the environment # Get the API key from the environment
openai_api_key = os.environ.get("OPENAI_API_KEY") openai_api_key = os.environ.get("OPENAI_API_KEY")
org_id = os.environ.get("OPENAI_ORG_ID")
# Initialize the language model # Initialize the language model
llm = OpenAIChat( llm = OpenAIChat(
openai_api_key=openai_api_key, openai_api_key=openai_api_key,
openai_org_id=org_id,
) )
# Initialize the text-to-speech model # Initialize the text-to-speech model
@ -24,6 +26,7 @@ tts = OpenAITTS(
model_name="tts-1-1106", model_name="tts-1-1106",
voice="onyx", voice="onyx",
openai_api_key=openai_api_key, openai_api_key=openai_api_key,
openai_org_id=org_id,
saved_filepath="runs/tts_speech.wav", saved_filepath="runs/tts_speech.wav",
) )

@ -13,9 +13,10 @@ from swarms.prompts.personal_stylist import (
# Load environment variables # Load environment variables
load_dotenv() load_dotenv()
api_key = os.getenv("OPENAI_API_KEY") api_key = os.getenv("OPENAI_API_KEY")
org_id = os.environ.get("OPENAI_ORG_ID")
# Initialize GPT4VisionAPI # Initialize GPT4VisionAPI
llm = GPT4VisionAPI(openai_api_key=api_key) llm = GPT4VisionAPI(openai_api_key=api_key, openai_org_id=org_id)
# User selfie and clothes images # User selfie and clothes images
user_selfie = "user_image.jpg" user_selfie = "user_image.jpg"

@ -33,7 +33,9 @@ from swarms.prompts.autobloggen import (
) )
api_key = os.environ["OPENAI_API_KEY"] api_key = os.environ["OPENAI_API_KEY"]
llm = OpenAIChat(openai_api_key=api_key) org_id = os.environ["OPENAI_ORG_ID"]
llm = OpenAIChat(openai_api_key=api_key, openai_org_id=org_id)
def get_review_prompt(article): def get_review_prompt(article):

@ -7,8 +7,9 @@ import swarms.prompts.security_team as stsp
# Load environment variables and initialize the Vision API # Load environment variables and initialize the Vision API
load_dotenv() load_dotenv()
api_key = os.getenv("OPENAI_API_KEY") api_key = os.getenv("OPENAI_API_KEY")
org_id = os.environ.get("OPENAI_ORG_ID")
llm = GPT4VisionAPI(openai_api_key=api_key) llm = GPT4VisionAPI(openai_api_key=api_key, openai_org_id=org_id)
# Image for analysis # Image for analysis
img = "bank_robbery.jpg" img = "bank_robbery.jpg"

@ -23,9 +23,12 @@ from swarms.structs import Agent
load_dotenv() load_dotenv()
api_key = os.getenv("OPENAI_API_KEY") api_key = os.getenv("OPENAI_API_KEY")
org_id = os.environ.get("OPENAI_ORG_ID")
# GPT4VisionAPI # GPT4VisionAPI
llm = GPT4VisionAPI(openai_api_key=api_key, max_tokens=2000) llm = GPT4VisionAPI(openai_api_key=api_key,
openai_org_id=org_id,
max_tokens=2000)
assembly_line = ( assembly_line = (
"playground/demos/swarm_of_mma_manufacturing/assembly_line.jpg" "playground/demos/swarm_of_mma_manufacturing/assembly_line.jpg"

@ -7,15 +7,19 @@ import swarms.prompts.urban_planning as upp
# Load environment variables # Load environment variables
load_dotenv() load_dotenv()
api_key = os.getenv("OPENAI_API_KEY") api_key = os.getenv("OPENAI_API_KEY")
org_id = os.environ.get("OPENAI_ORG_ID")
stability_api_key = os.getenv("STABILITY_API_KEY") stability_api_key = os.getenv("STABILITY_API_KEY")
# Initialize language model # Initialize language model
llm = OpenAIChat( llm = OpenAIChat(
openai_api_key=api_key, temperature=0.5, max_tokens=3000 openai_api_key=api_key,
openai_org_id=org_id,
temperature=0.5,
max_tokens=3000
) )
# Initialize Vision model # Initialize Vision model
vision_api = GPT4VisionAPI(api_key=api_key) vision_api = GPT4VisionAPI(api_key=api_key, org_id=org_id)
# Initialize agents for urban planning tasks # Initialize agents for urban planning tasks
architecture_analysis_agent = Agent( architecture_analysis_agent = Agent(

@ -10,6 +10,7 @@ load_dotenv()
# Get the API key from the environment # Get the API key from the environment
api_key = os.environ.get("OPENAI_API_KEY") api_key = os.environ.get("OPENAI_API_KEY")
org_id = os.environ.get("OPENAI_ORG_ID")
# Initialize the language model # Initialize the language model
llm = HuggingfaceLLM( llm = HuggingfaceLLM(

@ -12,15 +12,18 @@ from swarms.structs.agent import Agent
# Load environment variables # Load environment variables
load_dotenv() load_dotenv()
openai_api_key = os.getenv("OPENAI_API_KEY") openai_api_key = os.getenv("OPENAI_API_KEY")
org_id = os.environ.get("OPENAI_ORG_ID")
# Function to analyze an X-ray image # Function to analyze an X-ray image
multimodal_llm = GPT4VisionAPI( multimodal_llm = GPT4VisionAPI(
openai_api_key=openai_api_key, openai_api_key=openai_api_key,
openai_org_id=org_id,
) )
# Initialize Language Model (LLM) # Initialize Language Model (LLM)
llm = OpenAIChat( llm = OpenAIChat(
openai_api_key=openai_api_key, openai_api_key=openai_api_key,
openai_org_id=org_id,
max_tokens=3000, max_tokens=3000,
) )

@ -3,6 +3,7 @@ from swarms import HierarchicalSwarm
swarm = HierarchicalSwarm( swarm = HierarchicalSwarm(
openai_api_key="key", openai_api_key="key",
openai_org_id="org_id",
model_type="openai", model_type="openai",
model_id="gpt-4", model_id="gpt-4",
use_vectorstore=False, use_vectorstore=False,

@ -5,6 +5,7 @@ from swarms.models import OpenAIChat
import os import os
api_key = os.getenv("OPENAI_API_KEY") api_key = os.getenv("OPENAI_API_KEY")
org_id = os.environ.get("OPENAI_ORG_ID")
# Initialize the EdgeGPTModel # Initialize the EdgeGPTModel
edgegpt = BingChat(cookies_path="./cookies.txt") edgegpt = BingChat(cookies_path="./cookies.txt")
@ -20,6 +21,7 @@ def edgegpt(task: str = None):
# This model can be swapped out with Anthropic, ETC, Huggingface Models like Mistral, ETC # This model can be swapped out with Anthropic, ETC, Huggingface Models like Mistral, ETC
llm = OpenAIChat( llm = OpenAIChat(
openai_api_key=api_key, openai_api_key=api_key,
openai_org_id=org_id,
temperature=0.5, temperature=0.5,
) )

@ -1,6 +1,6 @@
from swarms.models import Dalle3 from swarms.models import Dalle3
dalle3 = Dalle3(openai_api_key="") dalle3 = Dalle3(openai_api_key="", openai_org_id="")
task = "A painting of a dog" task = "A painting of a dog"
image_url = dalle3(task) image_url = dalle3(task)
print(image_url) print(image_url)

@ -8,8 +8,9 @@ from swarms.models.dalle3 import Dalle3
import os import os
api_key = os.environ["OPENAI_API_KEY"] api_key = os.environ["OPENAI_API_KEY"]
org_id = os.environ["OPENAI_ORG_ID"]
dalle3 = Dalle3(openai_api_key=api_key, n=1) dalle3 = Dalle3(openai_api_key=api_key, openai_org_id=org_id, n=1)
# task = "Swarm of robots working super industrial ambience concept art" # task = "Swarm of robots working super industrial ambience concept art"

@ -1,7 +1,7 @@
from swarms.models.gpt4v import GPT4Vision from swarms.models.gpt4v import GPT4Vision
gpt4vision = GPT4Vision(openai_api_key="") gpt4vision = GPT4Vision(openai_api_key="" , openai_org_id="")
img = "https://upload.wikimedia.org/wikipedia/commons/thumb/0/0d/VFPt_Solenoid_correct2.svg/640px-VFPt_Solenoid_correct2.svg.png" img = "https://upload.wikimedia.org/wikipedia/commons/thumb/0/0d/VFPt_Solenoid_correct2.svg/640px-VFPt_Solenoid_correct2.svg.png"

@ -1,6 +1,6 @@
from swarms.models.openai_chat import OpenAIChat from swarms.models.openai_chat import OpenAIChat
model = OpenAIChat() model = OpenAIChat(openai_api_key="", openai_org_id="")
out = model("Hello, how are you?") out = model("Hello, how are you?")

@ -1,6 +1,7 @@
from swarms.models.openai_models import OpenAIChat from swarms.models.openai_models import OpenAIChat
openai = OpenAIChat(openai_api_key="", verbose=False) openai = OpenAIChat(openai_api_key="", openai_org_id="", verbose=False)
chat = openai("What are quantum fields?") chat = openai("What are quantum fields?")
print(chat) print(chat)

@ -8,6 +8,7 @@ tts = OpenAITTS(
model_name="tts-1-1106", model_name="tts-1-1106",
voice="onyx", voice="onyx",
openai_api_key=os.getenv("OPENAI_API_KEY"), openai_api_key=os.getenv("OPENAI_API_KEY"),
openai_org_id=os.getenv("OPENAI_ORG_ID"),
) )
out = tts.run_and_save("Dammmmmm those tacos were good") out = tts.run_and_save("Dammmmmm those tacos were good")

@ -10,6 +10,7 @@ load_dotenv()
# Get the API key from the environment # Get the API key from the environment
api_key = os.environ.get("OPENAI_API_KEY") api_key = os.environ.get("OPENAI_API_KEY")
org_id = os.environ.get("OPENAI_ORG_ID")
# Initilaize the chromadb client # Initilaize the chromadb client
@ -23,6 +24,7 @@ llm = OpenAIChat(
temperature=0.5, temperature=0.5,
model_name="gpt-4", model_name="gpt-4",
openai_api_key=api_key, openai_api_key=api_key,
openai_org_id=org_id,
max_tokens=1000, max_tokens=1000,
) )

@ -58,11 +58,13 @@ def rapid_api(query: str):
# Get the API key from the environment # Get the API key from the environment
api_key = os.environ.get("OPENAI_API_KEY") api_key = os.environ.get("OPENAI_API_KEY")
org_id = os.environ.get("OPENAI_ORG_ID")
# Initialize the language model # Initialize the language model
llm = OpenAIChat( llm = OpenAIChat(
temperature=0.5, temperature=0.5,
openai_api_key=api_key, openai_api_key=api_key,
openai_org_id=org_id,
) )

@ -13,11 +13,13 @@ load_dotenv()
# Get the API key from the environment # Get the API key from the environment
api_key = os.environ.get("OPENAI_API_KEY") api_key = os.environ.get("OPENAI_API_KEY")
org_id = os.environ.get("OPENAI_ORG_ID")
# Initialize the language model # Initialize the language model
llm = OpenAIChat( llm = OpenAIChat(
temperature=0.5, temperature=0.5,
openai_api_key=api_key, openai_api_key=api_key,
openai_org_id=org_id,
) )

@ -10,7 +10,9 @@ from swarms.structs.company import Company
load_dotenv() load_dotenv()
llm = OpenAIChat( llm = OpenAIChat(
openai_api_key=os.getenv("OPENAI_API_KEY"), max_tokens=4000 openai_api_key=os.getenv("OPENAI_API_KEY"),
openai_org_id=os.getenv("OPENAI_ORG_ID"),
max_tokens=4000
) )
ceo = Agent(llm=llm, ai_name="CEO") ceo = Agent(llm=llm, ai_name="CEO")

@ -6,7 +6,8 @@ from swarms import OpenAIChat, Task, ConcurrentWorkflow, Agent
load_dotenv() load_dotenv()
# Load environment variables # Load environment variables
llm = OpenAIChat(openai_api_key=os.getenv("OPENAI_API_KEY")) llm = OpenAIChat(openai_api_key=os.getenv("OPENAI_API_KEY"),
openai_org_id=os.getenv("OPENAI_ORG_ID"))
agent = Agent(llm=llm, max_loops=1) agent = Agent(llm=llm, max_loops=1)
# Create a workflow # Create a workflow

@ -1,9 +1,16 @@
from swarms.swarms import DialogueSimulator from swarms.swarms import DialogueSimulator
from swarms.workers.worker import Worker from swarms.workers.worker import Worker
from swarms.models import OpenAIChat from swarms.models import OpenAIChat
import os
api_key = os.environ.get("OPENAI_API_KEY")
org_id = os.environ.get("OPENAI_ORG_ID")
llm = OpenAIChat( llm = OpenAIChat(
model_name="gpt-4", openai_api_key="api-key", temperature=0.5 model_name="gpt-4",
openai_api_key=api_key,
openai_org_id=org_id,
temperature=0.5
) )
worker1 = Worker( worker1 = Worker(

@ -1,12 +1,16 @@
from swarms.models import OpenAIChat from swarms.models import OpenAIChat
from swarms.structs import Agent from swarms.structs import Agent
api_key = "" import os
api_key = os.getenv("OPENAI_API_KEY")
org_id = os.environ.get("OPENAI_ORG_ID")
# Initialize the language model, this model can be swapped out with Anthropic, ETC, Huggingface Models like Mistral, ETC # Initialize the language model, this model can be swapped out with Anthropic, ETC, Huggingface Models like Mistral, ETC
llm = OpenAIChat( llm = OpenAIChat(
# model_name="gpt-4" # model_name="gpt-4"
openai_api_key=api_key, openai_api_key=api_key,
openai_org_id=org_id,
temperature=0.5, temperature=0.5,
# max_tokens=100, # max_tokens=100,
) )

@ -10,10 +10,11 @@ load_dotenv()
# API Keys # API Keys
anthropic_api_key = os.getenv("ANTHROPIC_API_KEY") anthropic_api_key = os.getenv("ANTHROPIC_API_KEY")
openai_api_key = os.getenv("OPENAI_API_KEY") openai_api_key = os.getenv("OPENAI_API_KEY")
org_id = os.environ.get("OPENAI_ORG_ID")
gemini_api_key = os.getenv("GEMINI_API_KEY") gemini_api_key = os.getenv("GEMINI_API_KEY")
# Initialize the models # Initialize the models
llm = OpenAIChat(openai_api_key=openai_api_key) llm = OpenAIChat(openai_api_key=openai_api_key, openai_org_id=org_id)
anthropic = Anthropic(anthropic_api_key=anthropic_api_key) anthropic = Anthropic(anthropic_api_key=anthropic_api_key)
mixtral = Mixtral() mixtral = Mixtral()
gemini = Gemini(gemini_api_key=gemini_api_key) gemini = Gemini(gemini_api_key=gemini_api_key)

@ -2,10 +2,12 @@ from swarms import OpenAI, Agent
from swarms.structs.groupchat import GroupChatManager, GroupChat from swarms.structs.groupchat import GroupChatManager, GroupChat
api_key = "" api_key = os.environ.get("OPENAI_API_KEY")
org_id = os.environ.get("OPENAI_ORG_ID")
llm = OpenAI( llm = OpenAI(
openai_api_key=api_key, openai_api_key=api_key,
openai_org_id=org_id,
temperature=0.5, temperature=0.5,
max_tokens=3000, max_tokens=3000,
) )

@ -5,7 +5,7 @@ from swarms import HierarchicalSwarm
api_key = "sksdsds" api_key = "sksdsds"
# Initialize HierarchicalSwarm with your API key # Initialize HierarchicalSwarm with your API key
swarm = HierarchicalSwarm(openai_api_key=api_key) swarm = HierarchicalSwarm(openai_api_key=api_key, openai_org_id="org-id")
# Define an objective # Define an objective
objective = """ objective = """

@ -1,7 +1,9 @@
from swarms import Agent, OpenAIChat, MajorityVoting from swarms import Agent, OpenAIChat, MajorityVoting
api_key = os.getenv("OPENAI_API_KEY")
org_id = os.getenv("OPENAI_ORG_ID")
# Initialize the llm # Initialize the llm
llm = OpenAIChat() llm = OpenAIChat(openai_api_key=api_key, openai_org_id=org_id, max_tokens=150)
# Initialize the agents # Initialize the agents
agent1 = Agent(llm=llm, max_loops=1) agent1 = Agent(llm=llm, max_loops=1)

@ -5,7 +5,11 @@ from swarms.swarms.multi_agent_debate import (
from swarms.workers.worker import Worker from swarms.workers.worker import Worker
from swarms.models import OpenAIChat from swarms.models import OpenAIChat
llm = OpenAIChat() api_key = os.environ.get("OPENAI_API_KEY")
org_id = os.environ.get("OPENAI_ORG_ID")
llm = OpenAIChat(openai_api_key=api_key, openai_org_id=org_id)
worker1 = Worker( worker1 = Worker(
llm=llm, llm=llm,

@ -12,9 +12,11 @@ load_dotenv()
# Getting the Gemini API key from environment variables # Getting the Gemini API key from environment variables
gemini_api_key = os.getenv("GEMINI_API_KEY") gemini_api_key = os.getenv("GEMINI_API_KEY")
openai_api_key = os.getenv("OPENAI_API_KEY") openai_api_key = os.getenv("OPENAI_API_KEY")
openai_org_id = os.getenv("OPENAI_ORG_ID")
llm = OpenAIChat( llm = OpenAIChat(
openai_api_key=openai_api_key, openai_api_key=openai_api_key,
openai_org_id=openai_org_id,
max_tokens=1000, max_tokens=1000,
temperature=0.2, temperature=0.2,
) )

@ -1,7 +1,11 @@
from swarms import Worker, Orchestrator from swarms import Worker, Orchestrator
api_key = os.getenv("OPENAI_API_KEY")
org_id = os.getenv("OPENAI_ORG_ID")
node = Worker( node = Worker(
openai_api_key="", openai_api_key=api_key,
openai_org_id=org_id,
ai_name="Optimus Prime", ai_name="Optimus Prime",
) )

@ -1,7 +1,11 @@
from swarms import Worker, Orchestrator from swarms import Worker, Orchestrator
api_key = os.getenv("OPENAI_API_KEY")
org_id = os.getenv("OPENAI_ORG_ID")
node = Worker( node = Worker(
openai_api_key="", openai_api_key=api_key,
openai_org_id=org_id,
ai_name="Optimus Prime", ai_name="Optimus Prime",
) )

@ -6,7 +6,7 @@ from swarms import OpenAIChat, Task, RecursiveWorkflow, Agent
load_dotenv() load_dotenv()
# Load environment variables # Load environment variables
llm = OpenAIChat(openai_api_key=os.getenv("OPENAI_API_KEY")) llm = OpenAIChat(openai_api_key=os.getenv("OPENAI_API_KEY"), openai_org_id=os.getenv("OPENAI_ORG_ID"))
agent = Agent(llm=llm, max_loops=1) agent = Agent(llm=llm, max_loops=1)
# Create a workflow # Create a workflow

@ -1,7 +1,12 @@
from swarms import OpenAIChat, Agent, Task, SequentialWorkflow from swarms import OpenAIChat, Agent, Task, SequentialWorkflow
api_key = os.getenv("OPENAI_API_KEY")
org_id = os.getenv("OPENAI_ORG_ID")
# Example usage # Example usage
llm = OpenAIChat( llm = OpenAIChat(
openai_api_key=api_key,
openai_org_id=org_id,
temperature=0.5, temperature=0.5,
max_tokens=3000, max_tokens=3000,
) )

@ -1,10 +1,11 @@
from ..swarms import HierarchicalSwarm from ..swarms import HierarchicalSwarm
# Retrieve your API key from the environment or replace with your actual key # Retrieve your API key from the environment or replace with your actual key
api_key = "sksdsds" api_key = os.getenv("OPENAI_API_KEY")
org_id = os.getenv("OPENAI_ORG_ID")
# Initialize HierarchicalSwarm with your API key # Initialize HierarchicalSwarm with your API key
swarm = HierarchicalSwarm(openai_api_key=api_key) swarm = HierarchicalSwarm(openai_api_key=api_key, openai_org_id=org_id, max_loops=1)
# Define an objective # Define an objective
objective = """ objective = """

@ -10,11 +10,13 @@ load_dotenv()
# Get the API key from the environment # Get the API key from the environment
api_key = os.environ.get("OPENAI_API_KEY") api_key = os.environ.get("OPENAI_API_KEY")
org_id = os.environ.get("OPENAI_ORG_ID")
# Initialize the language model # Initialize the language model
llm = OpenAIChat( llm = OpenAIChat(
temperature=0.5, temperature=0.5,
openai_api_key=api_key, openai_api_key=api_key,
openai_org_id=org_id,
) )
## Initialize the workflow ## Initialize the workflow

@ -22,6 +22,7 @@ def my_condition():
# Create an agent # Create an agent
agent = Agent( agent = Agent(
llm=OpenAIChat(openai_api_key=os.environ["OPENAI_API_KEY"]), llm=OpenAIChat(openai_api_key=os.environ["OPENAI_API_KEY"]),
openai_org_id=os.environ["OPENAI_ORG_ID"],
max_loops=1, max_loops=1,
dashboard=False, dashboard=False,
) )

@ -2,10 +2,11 @@ from swarms import HierarchicalSwarm
# Retrieve your API key from the environment or replace with your actual key # Retrieve your API key from the environment or replace with your actual key
api_key = "sksdsds" api_key = os.getenv("OPENAI_API_KEY")
org_id = os.getenv("OPENAI_ORG_ID")
# Initialize HierarchicalSwarm with your API key # Initialize HierarchicalSwarm with your API key
swarm = HierarchicalSwarm(openai_api_key=api_key) swarm = HierarchicalSwarm(openai_api_key=api_key, openai_org_id=org_id, max_loops=1)
# Define an objective # Define an objective
objective = """ objective = """

@ -1,8 +1,11 @@
from swarms.structs.workflow import Workflow from swarms.structs.workflow import Workflow
from swarms.models import OpenAIChat from swarms.models import OpenAIChat
import os
api_key = os.getenv("OPENAI_API_KEY")
org_id = os.getenv("OPENAI_ORG_ID")
llm = OpenAIChat() llm = OpenAIChat(openai_api_key=api_key, openai_org_id=org_id)
workflow = Workflow(llm) workflow = Workflow(llm)

@ -6,9 +6,9 @@ from dotenv import load_dotenv
load_dotenv() load_dotenv()
api_key = os.environ.get("OPENAI_API_KEY") api_key = os.environ.get("OPENAI_API_KEY")
org_id = os.environ.get("OPENAI_ORG_ID")
llm = OpenAIChat(openai_api_key=api_key, openai_org_id=org_id)
llm = OpenAIChat(api_key=api_key)
# @tool # @tool
# def search_api(query: str) -> str: # def search_api(query: str) -> str:

6073
poetry.lock generated

File diff suppressed because it is too large Load Diff

@ -23,9 +23,9 @@ classifiers = [
[tool.poetry.dependencies] [tool.poetry.dependencies]
python = "^3.6.1" python = ">=3.9,<4.0.0"
torch = "2.1.1" torch = "2.1.1"
transformers = "4.37.1" transformers = "4.37.2"
openai = "0.28.0" openai = "0.28.0"
langchain = "0.0.333" langchain = "0.0.333"
asyncio = "3.4.3" asyncio = "3.4.3"
@ -45,7 +45,7 @@ PyPDF2 = "3.0.1"
accelerate = "*" accelerate = "*"
anthropic = "*" anthropic = "*"
sentencepiece = "0.1.98" sentencepiece = "0.1.98"
httpx = "0.24.1" httpx = "0.25.0"
tiktoken = "0.4.0" tiktoken = "0.4.0"
attrs = "22.2.0" attrs = "22.2.0"
ratelimit = "2.2.1" ratelimit = "2.2.1"
@ -54,7 +54,7 @@ huggingface-hub = "*"
pydantic = "1.10.12" pydantic = "1.10.12"
tenacity = "8.2.2" tenacity = "8.2.2"
Pillow = "9.4.0" Pillow = "9.4.0"
chromadb = "*" chromadb = "0.4.14"
termcolor = "2.2.0" termcolor = "2.2.0"
black = "23.3.0" black = "23.3.0"
soundfile = "0.12.1" soundfile = "0.12.1"
@ -72,8 +72,11 @@ timm = "*"
supervision = "*" supervision = "*"
scikit-image = "*" scikit-image = "*"
pinecone-client = "*" pinecone-client = "*"
roboflow = "*" roboflow = "1.1.4"
python-dotenv = "0.19.1"
[tool.poetry.extras]
playground = ["streamlit", "requests", "pygame", "speechrecognition", "playsound", "numpy"]
[tool.poetry.group.lint.dependencies] [tool.poetry.group.lint.dependencies]
@ -96,6 +99,10 @@ aggressive = 3
[tool.ruff] [tool.ruff]
line-length = 70 line-length = 70
[tool.flake8]
line-length = 70
ignore = "E501,W6" # or ["E501", "W6"]
[tool.black] [tool.black]
line-length = 70 line-length = 70
target-version = ['py38'] target-version = ['py38']
@ -104,3 +111,5 @@ preview = true
[tool.poetry.scripts] [tool.poetry.scripts]
swarms = 'swarms.cli._cli:main' swarms = 'swarms.cli._cli:main'

@ -1,6 +1,5 @@
torch==2.1.1 torch==2.1.1
transformers transformers==4.37.2
pandas==1.5.3
langchain==0.0.333 langchain==0.0.333
langchain-experimental==0.0.10 langchain-experimental==0.0.10
httpx==0.24.1 httpx==0.24.1
@ -30,7 +29,6 @@ diffusers
einops==0.7.0 einops==0.7.0
opencv-python-headless==4.8.1.78 opencv-python-headless==4.8.1.78
numpy numpy
openai==0.28.0
opencv-python==4.7.0.72 opencv-python==4.7.0.72
timm timm
yapf yapf

@ -26,9 +26,11 @@ from swarms.tokenizers.cohere_tokenizer import CohereTokenizer
load_dotenv() load_dotenv()
api_key = os.getenv("OPENAI_API_KEY") api_key = os.getenv("OPENAI_API_KEY")
org_id = os.getenv("OPENAI_ORG_ID")
model = OpenAIChat( model = OpenAIChat(
openai_api_key=api_key, openai_api_key=api_key,
openai_org_id=org_id,
max_tokens=4000, max_tokens=4000,
) )

@ -11,10 +11,12 @@ from swarms import OpenAIChat
load_dotenv() load_dotenv()
api_key = os.getenv("OPENAI_API_KEY") api_key = os.getenv("OPENAI_API_KEY")
org_id = os.getenv("OPENAI_ORG_ID")
model = OpenAIChat( model = OpenAIChat(
model_name="gpt-4", model_name="gpt-4",
openai_api_key=api_key, openai_api_key=api_key,
openai_org_id=org_id,
max_tokens=4000, max_tokens=4000,
) )

@ -15,10 +15,12 @@ from swarms import OpenAIChat
load_dotenv() load_dotenv()
api_key = os.getenv("OPENAI_API_KEY") api_key = os.getenv("OPENAI_API_KEY")
org_id = os.getenv("OPENAI_ORG_ID")
model = OpenAIChat( model = OpenAIChat(
model_name="gpt-4-1106-preview", model_name="gpt-4-1106-preview",
openai_api_key=api_key, openai_api_key=api_key,
openai_org_id=org_id,
max_tokens=4000, max_tokens=4000,
) )

@ -24,10 +24,12 @@ from dotenv import load_dotenv
load_dotenv() load_dotenv()
api_key = os.getenv("OPENAI_API_KEY") api_key = os.getenv("OPENAI_API_KEY")
org_id = os.getenv("OPENAI_ORG_ID")
model = OpenAIChat( model = OpenAIChat(
model_name="gpt-4", model_name="gpt-4",
openai_api_key=api_key, openai_api_key=api_key,
openai_org_id=org_id,
max_tokens=4000, max_tokens=4000,
) )

@ -12,10 +12,12 @@ from swarms.utils.parse_code import extract_code_from_markdown
load_dotenv() load_dotenv()
api_key = os.getenv("OPENAI_API_KEY") api_key = os.getenv("OPENAI_API_KEY")
org_id = os.getenv("OPENAI_ORG_ID")
model = OpenAIChat( model = OpenAIChat(
model_name="gpt-4", model_name="gpt-4",
openai_api_key=api_key, openai_api_key=api_key,
openai_org_id=org_id,
max_tokens=4000, max_tokens=4000,
) )

@ -9,6 +9,10 @@ from langchain_experimental.autonomous_agents import AutoGPT
from swarms.utils.decorators import error_decorator, timing_decorator from swarms.utils.decorators import error_decorator, timing_decorator
import os
api_key = os.getenv("OPENAI_API_KEY")
org_id = os.getenv("OPENAI_ORG_ID")
class Worker: class Worker:
""" """
@ -48,6 +52,7 @@ class Worker:
temperature: float = 0.5, temperature: float = 0.5,
llm=None, llm=None,
openai_api_key: str = None, openai_api_key: str = None,
openai_org_id: str = None,
tools: List[Any] = None, tools: List[Any] = None,
embedding_size: int = 1536, embedding_size: int = 1536,
search_kwargs: dict = {"k": 8}, search_kwargs: dict = {"k": 8},
@ -62,6 +67,7 @@ class Worker:
self.temperature = temperature self.temperature = temperature
self.llm = llm self.llm = llm
self.openai_api_key = openai_api_key self.openai_api_key = openai_api_key
self.openai_org_id = openai_org_id
self.tools = tools self.tools = tools
self.embedding_size = embedding_size self.embedding_size = embedding_size
self.search_kwargs = search_kwargs self.search_kwargs = search_kwargs
@ -103,6 +109,7 @@ class Worker:
external_tools = [MyTool1(), MyTool2()] external_tools = [MyTool1(), MyTool2()]
worker = Worker(model_name="gpt-4", worker = Worker(model_name="gpt-4",
openai_api_key="my_key", openai_api_key="my_key",
openai_org_id="my_org_id",
name="My Worker", name="My Worker",
role="Worker", role="Worker",
external_tools=external_tools, external_tools=external_tools,
@ -123,9 +130,13 @@ class Worker:
openai_api_key = ( openai_api_key = (
os.getenv("OPENAI_API_KEY") or self.openai_api_key os.getenv("OPENAI_API_KEY") or self.openai_api_key
) )
openai_org_id = (
os.getenv("OPENAI_ORG_ID") or self.openai_org_id
)
try: try:
embeddings_model = OpenAIEmbeddings( embeddings_model = OpenAIEmbeddings(
openai_api_key=openai_api_key openai_api_key=openai_api_key,
openai_org_id=openai_org_id,
) )
embedding_size = self.embedding_size embedding_size = self.embedding_size
index = faiss.IndexFlatL2(embedding_size) index = faiss.IndexFlatL2(embedding_size)

@ -5,7 +5,7 @@ from swarms.memory.sqlite import SQLiteDB
from swarms.memory.weaviate_db import WeaviateDB from swarms.memory.weaviate_db import WeaviateDB
from swarms.memory.visual_memory import VisualShortTermMemory from swarms.memory.visual_memory import VisualShortTermMemory
from swarms.memory.action_subtask import ActionSubtaskEntry from swarms.memory.action_subtask import ActionSubtaskEntry
from swarms.memory.chroma_db import ChromaDB # from swarms.memory.chroma_db import ChromaDB
__all__ = [ __all__ = [
"AbstractVectorDatabase", "AbstractVectorDatabase",
@ -15,5 +15,5 @@ __all__ = [
"WeaviateDB", "WeaviateDB",
"VisualShortTermMemory", "VisualShortTermMemory",
"ActionSubtaskEntry", "ActionSubtaskEntry",
"ChromaDB", #"ChromaDB",
] ]

@ -41,6 +41,7 @@ class ChromaDB:
>>> output="results", >>> output="results",
>>> llm="gpt3", >>> llm="gpt3",
>>> openai_api_key=OPENAI_API_KEY, >>> openai_api_key=OPENAI_API_KEY,
>>> openai_org_id=OPENAI_ORG_ID,
>>> ) >>> )
>>> chromadb.add(task, result, result_id) >>> chromadb.add(task, result, result_id)
""" """

@ -65,13 +65,15 @@ class Dalle3:
max_retries: int = 3 max_retries: int = 3
quality: str = "standard" quality: str = "standard"
openai_api_key: str = None or os.getenv("OPENAI_API_KEY") openai_api_key: str = None or os.getenv("OPENAI_API_KEY")
openai_org_id: str = None or os.getenv("OPENAI_ORG_ID")
n: int = 1 n: int = 1
save_path: str = "images" save_path: str = "images"
max_time_seconds: int = 60 max_time_seconds: int = 60
save_folder: str = "images" save_folder: str = "images"
image_format: str = "png" image_format: str = "png"
client = OpenAI( client = OpenAI(
api_key=openai_api_key, openai_api_key=openai_api_key,
openai_org_id=openai_org_id,
) )
cache = TTLCache(maxsize=100, ttl=3600) cache = TTLCache(maxsize=100, ttl=3600)
dashboard: bool = False dashboard: bool = False

@ -22,6 +22,7 @@ except ImportError:
# Load environment variables # Load environment variables
load_dotenv() load_dotenv()
openai_api_key = os.getenv("OPENAI_API_KEY") openai_api_key = os.getenv("OPENAI_API_KEY")
openai_org_id = os.getenv("OPENAI_ORG_ID")
gpt4_vision_system_prompt = """ gpt4_vision_system_prompt = """
@ -67,6 +68,7 @@ class GPT4VisionAPI(BaseMultiModalModel):
def __init__( def __init__(
self, self,
openai_api_key: str = openai_api_key, openai_api_key: str = openai_api_key,
openai_org_id: str = openai_org_id,
model_name: str = "gpt-4-vision-preview", model_name: str = "gpt-4-vision-preview",
logging_enabled: bool = False, logging_enabled: bool = False,
max_workers: int = 10, max_workers: int = 10,
@ -81,6 +83,7 @@ class GPT4VisionAPI(BaseMultiModalModel):
): ):
super(GPT4VisionAPI).__init__(*args, **kwargs) super(GPT4VisionAPI).__init__(*args, **kwargs)
self.openai_api_key = openai_api_key self.openai_api_key = openai_api_key
self.openai_org_id = openai_org_id
self.logging_enabled = logging_enabled self.logging_enabled = logging_enabled
self.model_name = model_name self.model_name = model_name
self.max_workers = max_workers self.max_workers = max_workers
@ -127,6 +130,7 @@ class GPT4VisionAPI(BaseMultiModalModel):
headers = { headers = {
"Content-Type": "application/json", "Content-Type": "application/json",
"Authorization": f"Bearer {self.openai_api_key}", "Authorization": f"Bearer {self.openai_api_key}",
"OpenAI-Organization": f"{self.openai_org_id}"
} }
payload = { payload = {
"model": self.model_name, "model": self.model_name,
@ -203,7 +207,6 @@ class GPT4VisionAPI(BaseMultiModalModel):
""" """
PROMPT = f""" PROMPT = f"""
These are frames from a video that I want to upload. Generate a compelling description that I can upload along with the video: These are frames from a video that I want to upload. Generate a compelling description that I can upload along with the video:
{frames} {frames}
""" """
return PROMPT return PROMPT
@ -266,6 +269,7 @@ class GPT4VisionAPI(BaseMultiModalModel):
headers = { headers = {
"Content-Type": "application/json", "Content-Type": "application/json",
"Authorization": f"Bearer {openai_api_key}", "Authorization": f"Bearer {openai_api_key}",
"OpenAI-Organization": f"{self.openai_org_id}"
} }
payload = { payload = {
"model": self.model_name, "model": self.model_name,
@ -328,6 +332,7 @@ class GPT4VisionAPI(BaseMultiModalModel):
headers = { headers = {
"Content-Type": "application/json", "Content-Type": "application/json",
"Authorization": f"Bearer {openai_api_key}", "Authorization": f"Bearer {openai_api_key}",
"OpenAI-Organization": f"{self.openai_org_id}"
} }
payload = { payload = {
"model": self.model_name, "model": self.model_name,

@ -209,19 +209,8 @@ class Kosmos(BaseMultiModalModel):
x1 = orig_x1 - l_o x1 = orig_x1 - l_o
y1 = orig_y1 - l_o y1 = orig_y1 - l_o
if ( if (y1 < text_height + text_offset_original + 2 * text_spaces):
y1 y1 = (orig_y1 + r_o + text_height + text_offset_original + 2 * text_spaces)
< text_height
+ text_offset_original
+ 2 * text_spaces
):
y1 = (
orig_y1
+ r_o
+ text_height
+ text_offset_original
+ 2 * text_spaces
)
x1 = orig_x1 + r_o x1 = orig_x1 + r_o
# add text background # add text background
@ -233,12 +222,7 @@ class Kosmos(BaseMultiModalModel):
) )
text_bg_x1, text_bg_y1, text_bg_x2, text_bg_y2 = ( text_bg_x1, text_bg_y1, text_bg_x2, text_bg_y2 = (
x1, x1,
y1 y1 - (text_height + text_offset_original + 2 * text_spaces),
- (
text_height
+ text_offset_original
+ 2 * text_spaces
),
x1 + text_width, x1 + text_width,
y1, y1,
) )
@ -253,31 +237,14 @@ class Kosmos(BaseMultiModalModel):
), ),
prev_bbox, prev_bbox,
): ):
text_bg_y1 += ( text_bg_y1 += (text_height + text_offset_original + 2 * text_spaces)
text_height text_bg_y2 += (text_height + text_offset_original + 2 * text_spaces)
+ text_offset_original y1 += (text_height + text_offset_original + 2 * text_spaces)
+ 2 * text_spaces
)
text_bg_y2 += (
text_height
+ text_offset_original
+ 2 * text_spaces
)
y1 += (
text_height
+ text_offset_original
+ 2 * text_spaces
)
if text_bg_y2 >= image_h: if text_bg_y2 >= image_h:
text_bg_y1 = max( text_bg_y1 = max(
0, 0,
image_h image_h - (text_height + text_offset_original + 2 * text_spaces),
- (
text_height
+ text_offset_original
+ 2 * text_spaces
),
) )
text_bg_y2 = image_h text_bg_y2 = image_h
y1 = image_h y1 = image_h
@ -294,8 +261,7 @@ class Kosmos(BaseMultiModalModel):
# white # white
bg_color = [255, 255, 255] bg_color = [255, 255, 255]
new_image[i, j] = ( new_image[i, j] = (
alpha * new_image[i, j] alpha * new_image[i, j] + (1 - alpha) * np.array(bg_color)
+ (1 - alpha) * np.array(bg_color)
).astype(np.uint8) ).astype(np.uint8)
cv2.putText( cv2.putText(

@ -63,9 +63,7 @@ def _create_retry_decorator(
| retry_if_exception_type(llm.error.APIError) | retry_if_exception_type(llm.error.APIError)
| retry_if_exception_type(llm.error.APIConnectionError) | retry_if_exception_type(llm.error.APIConnectionError)
| retry_if_exception_type(llm.error.RateLimitError) | retry_if_exception_type(llm.error.RateLimitError)
| retry_if_exception_type( | retry_if_exception_type(llm.error.ServiceUnavailableError)
llm.error.ServiceUnavailableError
)
), ),
before_sleep=before_sleep_log(logger, logging.WARNING), before_sleep=before_sleep_log(logger, logging.WARNING),
) )
@ -171,6 +169,7 @@ class OpenAIEmbeddings(BaseModel, Embeddings):
os.environ["OPENAI_API_TYPE"] = "azure" os.environ["OPENAI_API_TYPE"] = "azure"
os.environ["OPENAI_API_BASE"] = "https://<your-endpoint.openai.azure.com/" os.environ["OPENAI_API_BASE"] = "https://<your-endpoint.openai.azure.com/"
os.environ["OPENAI_API_KEY"] = "your AzureOpenAI key" os.environ["OPENAI_API_KEY"] = "your AzureOpenAI key"
os.environ["OPENAI_ORG_ID"] = "your AzureOpenAI organization id"
os.environ["OPENAI_API_VERSION"] = "2023-05-15" os.environ["OPENAI_API_VERSION"] = "2023-05-15"
os.environ["OPENAI_PROXY"] = "http://your-corporate-proxy:8080" os.environ["OPENAI_PROXY"] = "http://your-corporate-proxy:8080"
@ -199,6 +198,7 @@ class OpenAIEmbeddings(BaseModel, Embeddings):
embedding_ctx_length: int = 8191 embedding_ctx_length: int = 8191
"""The maximum number of tokens to embed at once.""" """The maximum number of tokens to embed at once."""
openai_api_key: Optional[str] = None openai_api_key: Optional[str] = None
openai_org_id: Optional[str] = None
openai_organization: Optional[str] = None openai_organization: Optional[str] = None
allowed_special: Union[Literal["all"], Set[str]] = set() allowed_special: Union[Literal["all"], Set[str]] = set()
disallowed_special: Union[ disallowed_special: Union[
@ -270,6 +270,9 @@ class OpenAIEmbeddings(BaseModel, Embeddings):
values["openai_api_key"] = get_from_dict_or_env( values["openai_api_key"] = get_from_dict_or_env(
values, "openai_api_key", "OPENAI_API_KEY" values, "openai_api_key", "OPENAI_API_KEY"
) )
values["openai_org_id"] = get_from_dict_or_env(
values, "openai_org_id", "OPENAI_ORG_ID", default=""
)
values["openai_api_base"] = get_from_dict_or_env( values["openai_api_base"] = get_from_dict_or_env(
values, values,
"openai_api_base", "openai_api_base",
@ -326,6 +329,7 @@ class OpenAIEmbeddings(BaseModel, Embeddings):
"request_timeout": self.request_timeout, "request_timeout": self.request_timeout,
"headers": self.headers, "headers": self.headers,
"api_key": self.openai_api_key, "api_key": self.openai_api_key,
"org_id" : self.openai_org_id,
"organization": self.openai_organization, "organization": self.openai_organization,
"api_base": self.openai_api_base, "api_base": self.openai_api_base,
"api_type": self.openai_api_type, "api_type": self.openai_api_type,

@ -113,6 +113,7 @@ class OpenAIFunctionCaller:
def __init__( def __init__(
self, self,
openai_api_key: str, openai_api_key: str,
openai_org_id: str,
model: str = "text-davinci-003", model: str = "text-davinci-003",
max_tokens: int = 3000, max_tokens: int = 3000,
temperature: float = 0.5, temperature: float = 0.5,
@ -131,6 +132,7 @@ class OpenAIFunctionCaller:
timeout_sec: Union[float, None] = None, timeout_sec: Union[float, None] = None,
): ):
self.openai_api_key = openai_api_key self.openai_api_key = openai_api_key
self.openai_org_id = openai_org_id
self.model = model self.model = model
self.max_tokens = max_tokens self.max_tokens = max_tokens
self.temperature = temperature self.temperature = temperature
@ -164,6 +166,7 @@ class OpenAIFunctionCaller:
headers = { headers = {
"Content-Type": "application/json", "Content-Type": "application/json",
"Authorization": "Bearer " + openai.api_key, "Authorization": "Bearer " + openai.api_key,
"OpenAI-Organization": f"{self.openai_org_id}"
} }
json_data = {"model": self.model, "messages": messages} json_data = {"model": self.model, "messages": messages}
if tools is not None: if tools is not None:

@ -45,15 +45,12 @@ from tenacity import (
wait_exponential, wait_exponential,
) )
logger = logging.getLogger(__name__)
from importlib.metadata import version from importlib.metadata import version
from packaging.version import parse from packaging.version import parse
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)
@functools.lru_cache @functools.lru_cache
def _log_error_once(msg: str) -> None: def _log_error_once(msg: str) -> None:
"""Log an error once.""" """Log an error once."""
@ -281,6 +278,7 @@ class BaseOpenAI(BaseLLM):
model_kwargs: Dict[str, Any] = Field(default_factory=dict) model_kwargs: Dict[str, Any] = Field(default_factory=dict)
"""Holds any model parameters valid for `create` call not explicitly specified.""" """Holds any model parameters valid for `create` call not explicitly specified."""
openai_api_key: Optional[str] = None openai_api_key: Optional[str] = None
openai_org_id: Optional[str] = None
openai_api_base: Optional[str] = None openai_api_base: Optional[str] = None
openai_organization: Optional[str] = None openai_organization: Optional[str] = None
# to support explicit proxy for OpenAI # to support explicit proxy for OpenAI
@ -340,6 +338,9 @@ class BaseOpenAI(BaseLLM):
values["openai_api_key"] = get_from_dict_or_env( values["openai_api_key"] = get_from_dict_or_env(
values, "openai_api_key", "OPENAI_API_KEY" values, "openai_api_key", "OPENAI_API_KEY"
) )
values["openai_org_id"] = get_from_dict_or_env(
values, "openai_org_id", "OPENAI_ORG_ID"
)
values["openai_api_base"] = get_from_dict_or_env( values["openai_api_base"] = get_from_dict_or_env(
values, values,
"openai_api_base", "openai_api_base",
@ -650,6 +651,7 @@ class BaseOpenAI(BaseLLM):
"""Get the parameters used to invoke the model.""" """Get the parameters used to invoke the model."""
openai_creds: Dict[str, Any] = { openai_creds: Dict[str, Any] = {
"api_key": self.openai_api_key, "api_key": self.openai_api_key,
"org_id" : self.openai_org_id,
"api_base": self.openai_api_base, "api_base": self.openai_api_base,
"organization": self.openai_organization, "organization": self.openai_organization,
} }
@ -905,6 +907,7 @@ class OpenAIChat(BaseLLM):
model_name: str = "gpt-4-1106-preview" model_name: str = "gpt-4-1106-preview"
model_kwargs: Dict[str, Any] = Field(default_factory=dict) model_kwargs: Dict[str, Any] = Field(default_factory=dict)
openai_api_key: Optional[str] = None openai_api_key: Optional[str] = None
openai_org_id: Optional[str] = None
openai_api_base: Optional[str] = None openai_api_base: Optional[str] = None
openai_proxy: Optional[str] = None openai_proxy: Optional[str] = None
max_retries: int = 6 max_retries: int = 6
@ -942,6 +945,9 @@ class OpenAIChat(BaseLLM):
openai_api_key = get_from_dict_or_env( openai_api_key = get_from_dict_or_env(
values, "openai_api_key", "OPENAI_API_KEY" values, "openai_api_key", "OPENAI_API_KEY"
) )
openai_org_id = get_from_dict_or_env(
values, "openai_org_id", "OPENAI_ORG_ID"
)
openai_api_base = get_from_dict_or_env( openai_api_base = get_from_dict_or_env(
values, values,
"openai_api_base", "openai_api_base",
@ -964,6 +970,7 @@ class OpenAIChat(BaseLLM):
import openai import openai
openai.api_key = openai_api_key openai.api_key = openai_api_key
openai.org_id = openai_org_id
if openai_api_base: if openai_api_base:
openai.api_base = openai_api_base openai.api_base = openai_api_base
if openai_organization: if openai_organization:

@ -25,6 +25,9 @@ def openai_api_key_env():
openai_api_key = os.getenv("OPENAI_API_KEY") openai_api_key = os.getenv("OPENAI_API_KEY")
return openai_api_key return openai_api_key
def openai_org_id_env():
openai_org_id = os.getenv("OPENAI_ORG_ID")
return openai_org_id
class OpenAITTS(AbstractLLM): class OpenAITTS(AbstractLLM):
"""OpenAI TTS model """OpenAI TTS model
@ -33,6 +36,7 @@ class OpenAITTS(AbstractLLM):
model_name (str): _description_ model_name (str): _description_
proxy_url (str): _description_ proxy_url (str): _description_
openai_api_key (str): _description_ openai_api_key (str): _description_
openai_org_id (str): _description_
voice (str): _description_ voice (str): _description_
chunk_size (_type_): _description_ chunk_size (_type_): _description_
@ -46,6 +50,7 @@ class OpenAITTS(AbstractLLM):
... model_name = "tts-1-1106", ... model_name = "tts-1-1106",
... proxy_url = "https://api.openai.com/v1/audio/speech", ... proxy_url = "https://api.openai.com/v1/audio/speech",
... openai_api_key = openai_api_key_env, ... openai_api_key = openai_api_key_env,
... openai_org_id = openai_org_id_env,
... voice = "onyx", ... voice = "onyx",
... ) ... )
>>> tts.run("Hello world") >>> tts.run("Hello world")
@ -57,6 +62,7 @@ class OpenAITTS(AbstractLLM):
model_name: str = "tts-1-1106", model_name: str = "tts-1-1106",
proxy_url: str = "https://api.openai.com/v1/audio/speech", proxy_url: str = "https://api.openai.com/v1/audio/speech",
openai_api_key: str = openai_api_key_env, openai_api_key: str = openai_api_key_env,
openai_org_id: str = openai_org_id_env,
voice: str = "onyx", voice: str = "onyx",
chunk_size=1024 * 1024, chunk_size=1024 * 1024,
autosave: bool = False, autosave: bool = False,
@ -68,6 +74,7 @@ class OpenAITTS(AbstractLLM):
self.model_name = model_name self.model_name = model_name
self.proxy_url = proxy_url self.proxy_url = proxy_url
self.openai_api_key = openai_api_key self.openai_api_key = openai_api_key
self.openai_org_id = openai_org_id
self.voice = voice self.voice = voice
self.chunk_size = chunk_size self.chunk_size = chunk_size
self.autosave = autosave self.autosave = autosave

@ -41,15 +41,9 @@ def _create_retry_decorator() -> Callable[[Any], Any]:
multiplier=multiplier, min=min_seconds, max=max_seconds multiplier=multiplier, min=min_seconds, max=max_seconds
), ),
retry=( retry=(
retry_if_exception_type( retry_if_exception_type(google.api_core.exceptions.ResourceExhausted)
google.api_core.exceptions.ResourceExhausted | retry_if_exception_type(google.api_core.exceptions.ServiceUnavailable)
) | retry_if_exception_type(google.api_core.exceptions.GoogleAPIError)
| retry_if_exception_type(
google.api_core.exceptions.ServiceUnavailable
)
| retry_if_exception_type(
google.api_core.exceptions.GoogleAPIError
)
), ),
before_sleep=before_sleep_log(logger, logging.WARNING), before_sleep=before_sleep_log(logger, logging.WARNING),
) )
@ -123,30 +117,17 @@ class GooglePalm(BaseLLM, BaseModel):
values["client"] = genai values["client"] = genai
if ( if (values["temperature"] is not None and not 0 <= values["temperature"] <= 1):
values["temperature"] is not None raise ValueError("temperature must be in the range [0.0, 1.0]")
and not 0 <= values["temperature"] <= 1
):
raise ValueError(
"temperature must be in the range [0.0, 1.0]"
)
if ( if (values["top_p"] is not None and not 0 <= values["top_p"] <= 1):
values["top_p"] is not None
and not 0 <= values["top_p"] <= 1
):
raise ValueError("top_p must be in the range [0.0, 1.0]") raise ValueError("top_p must be in the range [0.0, 1.0]")
if values["top_k"] is not None and values["top_k"] <= 0: if values["top_k"] is not None and values["top_k"] <= 0:
raise ValueError("top_k must be positive") raise ValueError("top_k must be positive")
if ( if (values["max_output_tokens"] is not None and values["max_output_tokens"] <= 0):
values["max_output_tokens"] is not None raise ValueError("max_output_tokens must be greater than zero")
and values["max_output_tokens"] <= 0
):
raise ValueError(
"max_output_tokens must be greater than zero"
)
return values return values

@ -209,10 +209,7 @@ class SamplingParams:
raise ValueError( raise ValueError(
f"logprobs must be non-negative, got {self.logprobs}." f"logprobs must be non-negative, got {self.logprobs}."
) )
if ( if (self.prompt_logprobs is not None and self.prompt_logprobs < 0):
self.prompt_logprobs is not None
and self.prompt_logprobs < 0
):
raise ValueError( raise ValueError(
"prompt_logprobs must be non-negative, got " "prompt_logprobs must be non-negative, got "
f"{self.prompt_logprobs}." f"{self.prompt_logprobs}."
@ -248,10 +245,7 @@ class SamplingParams:
"early_stopping is not effective and must be " "early_stopping is not effective and must be "
"False when not using beam search." "False when not using beam search."
) )
if ( if (self.length_penalty < 1.0 - _SAMPLING_EPS or self.length_penalty > 1.0 + _SAMPLING_EPS):
self.length_penalty < 1.0 - _SAMPLING_EPS
or self.length_penalty > 1.0 + _SAMPLING_EPS
):
raise ValueError( raise ValueError(
"length_penalty is not effective and must be the " "length_penalty is not effective and must be the "
"default value of 1.0 when not using beam search." "default value of 1.0 when not using beam search."

@ -292,7 +292,7 @@ class Orchestrator:
self.condition.notify() self.condition.notify()
def embed(self, input): def embed(self, input):
openai = embedding_functions.OpenAIEmbeddingFunction(api_key=self.api_key, model_name=self.model_name) openai = embedding_functions.OpenAIEmbeddingFunction(api_key=self.api_key, org_id=self.org_id, model_name=self.model_name)
embedding = openai(input) embedding = openai(input)
return embedding return embedding

@ -79,6 +79,7 @@ class AutoScaler(BaseStructure):
>>> llm = OpenAIChat( >>> llm = OpenAIChat(
... temperature=0.5, ... temperature=0.5,
... openai_api_key=api_key, ... openai_api_key=api_key,
... openai_org_id=org_id,
... ) ... )
>>> ## Initialize the workflow >>> ## Initialize the workflow
>>> agent = Agent(llm=llm, max_loops=1, dashboard=True) >>> agent = Agent(llm=llm, max_loops=1, dashboard=True)

@ -138,7 +138,7 @@ class BaseWorkflow(BaseStructure):
Examples: Examples:
>>> from swarms.models import OpenAIChat >>> from swarms.models import OpenAIChat
>>> from swarms.structs import SequentialWorkflow >>> from swarms.structs import SequentialWorkflow
>>> llm = OpenAIChat(openai_api_key="") >>> llm = OpenAIChat(openai_api_key="",openai_org_id="")
>>> workflow = SequentialWorkflow(max_loops=1) >>> workflow = SequentialWorkflow(max_loops=1)
>>> workflow.add("What's the weather in miami", llm) >>> workflow.add("What's the weather in miami", llm)
>>> workflow.add("Create a report on these metrics", llm) >>> workflow.add("Create a report on these metrics", llm)
@ -176,7 +176,7 @@ class BaseWorkflow(BaseStructure):
Examples: Examples:
>>> from swarms.models import OpenAIChat >>> from swarms.models import OpenAIChat
>>> from swarms.structs import SequentialWorkflow >>> from swarms.structs import SequentialWorkflow
>>> llm = OpenAIChat(openai_api_key="") >>> llm = OpenAIChat(openai_api_key="", openai_org_id="")
>>> workflow = SequentialWorkflow(max_loops=1) >>> workflow = SequentialWorkflow(max_loops=1)
>>> workflow.add("What's the weather in miami", llm) >>> workflow.add("What's the weather in miami", llm)
>>> workflow.add("Create a report on these metrics", llm) >>> workflow.add("Create a report on these metrics", llm)
@ -215,7 +215,7 @@ class BaseWorkflow(BaseStructure):
Examples: Examples:
>>> from swarms.models import OpenAIChat >>> from swarms.models import OpenAIChat
>>> from swarms.structs import SequentialWorkflow >>> from swarms.structs import SequentialWorkflow
>>> llm = OpenAIChat(openai_api_key="") >>> llm = OpenAIChat(openai_api_key="", openai_org_id="")
>>> workflow = SequentialWorkflow(max_loops=1) >>> workflow = SequentialWorkflow(max_loops=1)
>>> workflow.add("What's the weather in miami", llm) >>> workflow.add("What's the weather in miami", llm)
>>> workflow.add("Create a report on these metrics", llm) >>> workflow.add("Create a report on these metrics", llm)
@ -287,7 +287,7 @@ class BaseWorkflow(BaseStructure):
Examples: Examples:
>>> from swarms.models import OpenAIChat >>> from swarms.models import OpenAIChat
>>> from swarms.structs import SequentialWorkflow >>> from swarms.structs import SequentialWorkflow
>>> llm = OpenAIChat(openai_api_key="") >>> llm = OpenAIChat(openai_api_key="", openai_org_id="")
>>> workflow = SequentialWorkflow(max_loops=1) >>> workflow = SequentialWorkflow(max_loops=1)
>>> workflow.add("What's the weather in miami", llm) >>> workflow.add("What's the weather in miami", llm)
>>> workflow.add("Create a report on these metrics", llm) >>> workflow.add("Create a report on these metrics", llm)

@ -24,7 +24,7 @@ class ConcurrentWorkflow(BaseStructure):
Examples: Examples:
>>> from swarms.models import OpenAIChat >>> from swarms.models import OpenAIChat
>>> from swarms.structs import ConcurrentWorkflow >>> from swarms.structs import ConcurrentWorkflow
>>> llm = OpenAIChat(openai_api_key="") >>> llm = OpenAIChat(openai_api_key="", openai_org_id="")
>>> workflow = ConcurrentWorkflow(max_workers=5) >>> workflow = ConcurrentWorkflow(max_workers=5)
>>> workflow.add("What's the weather in miami", llm) >>> workflow.add("What's the weather in miami", llm)
>>> workflow.add("Create a report on these metrics", llm) >>> workflow.add("Create a report on these metrics", llm)

@ -21,6 +21,7 @@ class DebatePlayer(Agent):
name (str): name of this player name (str): name of this player
temperature (float): higher values make the output more random, while lower values make it more focused and deterministic temperature (float): higher values make the output more random, while lower values make it more focused and deterministic
openai_api_key (str): As the parameter name suggests openai_api_key (str): As the parameter name suggests
openai_org_id (str): As the parameter name suggests
sleep_time (float): sleep because of rate limits sleep_time (float): sleep because of rate limits
""" """
super(DebatePlayer, self).__init__( super(DebatePlayer, self).__init__(
@ -37,6 +38,7 @@ class Debate:
num_players (int): num of players num_players (int): num of players
save_file_dir (str): dir path to json file save_file_dir (str): dir path to json file
openai_api_key (str): As the parameter name suggests openai_api_key (str): As the parameter name suggests
openai_org_id (str): As the parameter name suggests
prompts_path (str): prompts path (json file) prompts_path (str): prompts path (json file)
max_round (int): maximum Rounds of Debate max_round (int): maximum Rounds of Debate
sleep_time (float): sleep because of rate limits sleep_time (float): sleep because of rate limits
@ -277,6 +279,7 @@ class Debate:
name="Judge", name="Judge",
temperature=self.temperature, temperature=self.temperature,
openai_api_key=self.openai_api_key, openai_api_key=self.openai_api_key,
openai_org_id=self.openai_org_id,
sleep_time=self.sleep_time, sleep_time=self.sleep_time,
) )
aff_ans = self.affirmative.memory_lst[2]["content"] aff_ans = self.affirmative.memory_lst[2]["content"]

@ -36,10 +36,12 @@ class ModelParallelizer:
... OpenAIChat( ... OpenAIChat(
... temperature=0.5, ... temperature=0.5,
... openai_api_key="OPENAI_API_KEY", ... openai_api_key="OPENAI_API_KEY",
... openai_org_id="OPENAI_ORG_ID",
... ), ... ),
... OpenAIChat( ... OpenAIChat(
... temperature=0.5, ... temperature=0.5,
... openai_api_key="OPENAI_API_KEY", ... openai_api_key="OPENAI_API_KEY",
... openai_org_id="OPENAI_ORG_ID",
... ), ... ),
... ] ... ]
>>> mp = ModelParallelizer(llms) >>> mp = ModelParallelizer(llms)

@ -61,6 +61,8 @@ class MultiAgentCollaboration:
>>> >>>
>>> # Initialize the language model >>> # Initialize the language model
>>> llm = OpenAIChat( >>> llm = OpenAIChat(
>>> openai_api_key="OPENAI_API_KEY",
>>> openai_org_id="OPENAI_ORG_ID",
>>> temperature=0.5, >>> temperature=0.5,
>>> ) >>> )
>>> >>>

@ -18,7 +18,7 @@ class NonlinearWorkflow(BaseStructure):
Examples: Examples:
>>> from swarms.models import OpenAIChat >>> from swarms.models import OpenAIChat
>>> from swarms.structs import NonlinearWorkflow, Task >>> from swarms.structs import NonlinearWorkflow, Task
>>> llm = OpenAIChat(openai_api_key="") >>> llm = OpenAIChat(openai_api_key="", openai_org_id="")
>>> task = Task(llm, "What's the weather in miami") >>> task = Task(llm, "What's the weather in miami")
>>> workflow = NonlinearWorkflow() >>> workflow = NonlinearWorkflow()
>>> workflow.add(task) >>> workflow.add(task)

@ -24,7 +24,7 @@ class RecursiveWorkflow(BaseStructure):
Examples: Examples:
>>> from swarms.models import OpenAIChat >>> from swarms.models import OpenAIChat
>>> from swarms.structs import RecursiveWorkflow, Task >>> from swarms.structs import RecursiveWorkflow, Task
>>> llm = OpenAIChat(openai_api_key="") >>> llm = OpenAIChat(openai_api_key="", openai_org_id="")
>>> task = Task(llm, "What's the weather in miami") >>> task = Task(llm, "What's the weather in miami")
>>> workflow = RecursiveWorkflow() >>> workflow = RecursiveWorkflow()
>>> workflow.add(task) >>> workflow.add(task)

@ -155,3 +155,12 @@ class Step(StepRequestBody):
False, False,
description="Whether this is the last step in the task.", description="Whether this is the last step in the task.",
) )
class Skill(BaseModel):
name: str
level: int
class Agent(BaseModel):
name: str
age: int
skills: List[Skill]

@ -28,7 +28,7 @@ class SequentialWorkflow:
Examples: Examples:
>>> from swarms.models import OpenAIChat >>> from swarms.models import OpenAIChat
>>> from swarms.structs import SequentialWorkflow >>> from swarms.structs import SequentialWorkflow
>>> llm = OpenAIChat(openai_api_key="") >>> llm = OpenAIChat(openai_api_key="", openai_org_id="")
>>> workflow = SequentialWorkflow(max_loops=1) >>> workflow = SequentialWorkflow(max_loops=1)
>>> workflow.add("What's the weather in miami", llm) >>> workflow.add("What's the weather in miami", llm)
>>> workflow.add("Create a report on these metrics", llm) >>> workflow.add("Create a report on these metrics", llm)
@ -158,7 +158,7 @@ class SequentialWorkflow:
Examples: Examples:
>>> from swarms.models import OpenAIChat >>> from swarms.models import OpenAIChat
>>> from swarms.structs import SequentialWorkflow >>> from swarms.structs import SequentialWorkflow
>>> llm = OpenAIChat(openai_api_key="") >>> llm = OpenAIChat(openai_api_key="", openai_org_id="")
>>> workflow = SequentialWorkflow(max_loops=1) >>> workflow = SequentialWorkflow(max_loops=1)
>>> workflow.add("What's the weather in miami", llm) >>> workflow.add("What's the weather in miami", llm)
>>> workflow.add("Create a report on these metrics", llm) >>> workflow.add("Create a report on these metrics", llm)
@ -220,7 +220,7 @@ class SequentialWorkflow:
Examples: Examples:
>>> from swarms.models import OpenAIChat >>> from swarms.models import OpenAIChat
>>> from swarms.structs import SequentialWorkflow >>> from swarms.structs import SequentialWorkflow
>>> llm = OpenAIChat(openai_api_key="") >>> llm = OpenAIChat(openai_api_key="", openai_org_id="")
>>> workflow = SequentialWorkflow(max_loops=1) >>> workflow = SequentialWorkflow(max_loops=1)
>>> workflow.add("What's the weather in miami", llm) >>> workflow.add("What's the weather in miami", llm)
>>> workflow.add("Create a report on these metrics", llm) >>> workflow.add("Create a report on these metrics", llm)
@ -271,7 +271,7 @@ class SequentialWorkflow:
Examples: Examples:
>>> from swarms.models import OpenAIChat >>> from swarms.models import OpenAIChat
>>> from swarms.structs import SequentialWorkflow >>> from swarms.structs import SequentialWorkflow
>>> llm = OpenAIChat(openai_api_key="") >>> llm = OpenAIChat(openai_api_key="", openai_org_id="")
>>> workflow = SequentialWorkflow(max_loops=1) >>> workflow = SequentialWorkflow(max_loops=1)
>>> workflow.add("What's the weather in miami", llm) >>> workflow.add("What's the weather in miami", llm)
>>> workflow.add("Create a report on these metrics", llm) >>> workflow.add("Create a report on these metrics", llm)

@ -50,7 +50,7 @@ class Task:
Examples: Examples:
>>> from swarms.structs import Task, Agent >>> from swarms.structs import Task, Agent
>>> from swarms.models import OpenAIChat >>> from swarms.models import OpenAIChat
>>> agent = Agent(llm=OpenAIChat(openai_api_key=""), max_loops=1, dashboard=False) >>> agent = Agent(llm=OpenAIChat(openai_api_key="", openai_org_id=""), max_loops=1, dashboard=False)
>>> task = Task(description="What's the weather in miami", agent=agent) >>> task = Task(description="What's the weather in miami", agent=agent)
>>> task.execute() >>> task.execute()
>>> task.result >>> task.result
@ -81,7 +81,7 @@ class Task:
Examples: Examples:
>>> from swarms.structs import Task, Agent >>> from swarms.structs import Task, Agent
>>> from swarms.models import OpenAIChat >>> from swarms.models import OpenAIChat
>>> agent = Agent(llm=OpenAIChat(openai_api_key=""), max_loops=1, dashboard=False) >>> agent = Agent(llm=OpenAIChat(openai_api_key="", openai_org_id=""), max_loops=1, dashboard=False)
>>> task = Task(description="What's the weather in miami", agent=agent) >>> task = Task(description="What's the weather in miami", agent=agent)
>>> task.execute() >>> task.execute()
>>> task.result >>> task.result

@ -61,10 +61,7 @@ class AnthropicTokenizer(BaseTokenizer):
} }
self.model = self.model # or self.DEFAULT_MODEL self.model = self.model # or self.DEFAULT_MODEL
self.max_tokens = self.max_tokens or self.default_max_tokens() self.max_tokens = self.max_tokens or self.default_max_tokens()
self.client = ( self.client = (self.client or import_optional_dependency("anthropic").Anthropic())
self.client
or import_optional_dependency("anthropic").Anthropic()
)
def default_max_tokens(self) -> int: def default_max_tokens(self) -> int:
""" """

@ -1,3 +1,6 @@
# noqa: E501
""" A module for OpenAI tokenizers. """
from __future__ import annotations from __future__ import annotations
import logging import logging
from dataclasses import dataclass, field from dataclasses import dataclass, field

@ -58,11 +58,7 @@ class SentencePieceTokenizer:
def _maybe_add_prefix_space(self, tokens, decoded): def _maybe_add_prefix_space(self, tokens, decoded):
"""maybe add prefix space for incremental decoding.""" """maybe add prefix space for incremental decoding."""
if ( if (len(tokens) and not decoded.startswith(" ") and tokens[0] in self.prefix_space_tokens):
len(tokens)
and not decoded.startswith(" ")
and tokens[0] in self.prefix_space_tokens
):
return " " + decoded return " " + decoded
else: else:
return decoded return decoded
@ -151,10 +147,7 @@ class HuggingFaceTokenizer:
backend_tokenizer_file = osp.join(model_dir, "tokenizer.json") backend_tokenizer_file = osp.join(model_dir, "tokenizer.json")
model_file_exists = osp.exists(model_file) model_file_exists = osp.exists(model_file)
self.logger = get_logger("lmdeploy") self.logger = get_logger("lmdeploy")
if ( if (not osp.exists(backend_tokenizer_file) and model_file_exists):
not osp.exists(backend_tokenizer_file)
and model_file_exists
):
self.logger.warning( self.logger.warning(
"Can not find tokenizer.json. " "Can not find tokenizer.json. "
"It may take long time to initialize the tokenizer." "It may take long time to initialize the tokenizer."
@ -164,15 +157,10 @@ class HuggingFaceTokenizer:
) )
self._prefix_space_tokens = None self._prefix_space_tokens = None
# save tokenizer.json to reuse # save tokenizer.json to reuse
if ( if (not osp.exists(backend_tokenizer_file) and model_file_exists):
not osp.exists(backend_tokenizer_file)
and model_file_exists
):
if hasattr(self.model, "backend_tokenizer"): if hasattr(self.model, "backend_tokenizer"):
if os.access(model_dir, os.W_OK): if os.access(model_dir, os.W_OK):
self.model.backend_tokenizer.save( self.model.backend_tokenizer.save(backend_tokenizer_file)
backend_tokenizer_file
)
if self.model.eos_token_id is None: if self.model.eos_token_id is None:
generation_config_file = osp.join( generation_config_file = osp.join(
@ -227,11 +215,7 @@ class HuggingFaceTokenizer:
self, tokens: List[int], decoded: str self, tokens: List[int], decoded: str
): ):
"""maybe add prefix space for incremental decoding.""" """maybe add prefix space for incremental decoding."""
if ( if (len(tokens) and not decoded.startswith(" ") and tokens[0] in self.prefix_space_tokens):
len(tokens)
and not decoded.startswith(" ")
and tokens[0] in self.prefix_space_tokens
):
return " " + decoded return " " + decoded
else: else:
return decoded return decoded
@ -241,9 +225,7 @@ class HuggingFaceTokenizer:
"""Check if self.model.convert_ids_to_tokens return not a str value.""" """Check if self.model.convert_ids_to_tokens return not a str value."""
if self._maybe_decode_bytes is None: if self._maybe_decode_bytes is None:
self._maybe_decode_bytes = False self._maybe_decode_bytes = False
vocab = self.model.convert_ids_to_tokens( vocab = self.model.convert_ids_to_tokens(list(range(self.vocab_size)))
list(range(self.vocab_size))
)
for tok in vocab: for tok in vocab:
if not isinstance(tok, str): if not isinstance(tok, str):
self._maybe_decode_bytes = True self._maybe_decode_bytes = True

@ -38,13 +38,14 @@ def load_model_torch(
try: try:
if model is None: if model is None:
model = torch.load( model = torch.load(
model_path, map_location=map_location, *args, **kwargs model_path, map_location=map_location, weights_only=True, *args, **kwargs
) )
else: else:
model.load_state_dict( model.load_state_dict(
torch.load( torch.load(
model_path, model_path,
map_location=map_location, map_location=map_location,
weights_only=True,
*args, *args,
**kwargs, **kwargs,
), ),

@ -15,7 +15,9 @@ def weaviate_client_mock():
grpc_secure=False, grpc_secure=False,
auth_client_secret="mock_api_key", auth_client_secret="mock_api_key",
additional_headers={ additional_headers={
"X-OpenAI-Api-Key": "mock_openai_api_key" "X-OpenAI-Api-Key": "mock_openai_api_key",
"X-OpenAI-Organization": "mock_openai_org_id",
}, },
additional_config=Mock(), additional_config=Mock(),
) )

@ -11,16 +11,19 @@ from swarms.models.gpt4_vision_api import GPT4VisionAPI
load_dotenv() load_dotenv()
custom_api_key = os.environ.get("OPENAI_API_KEY") custom_api_key = os.environ.get("OPENAI_API_KEY")
custom_org_id = os.environ.get("OPENAI_ORG_ID")
img = "images/swarms.jpeg" img = "images/swarms.jpeg"
@pytest.fixture @pytest.fixture
def vision_api(): def vision_api():
return GPT4VisionAPI(openai_api_key="test_api_key") return GPT4VisionAPI(openai_api_key="test_api_key", openai_org_id="test_org_id")
def test_init(vision_api): def test_init(vision_api):
assert vision_api.openai_api_key == "test_api_key" assert vision_api.openai_api_key == "test_api_key"
assert vision_api.openai_org_id == "test_org_id"
def test_encode_image(vision_api): def test_encode_image(vision_api):
@ -83,12 +86,14 @@ def gpt_api():
def test_initialization_with_default_key(): def test_initialization_with_default_key():
api = GPT4VisionAPI() api = GPT4VisionAPI()
assert api.openai_api_key == custom_api_key assert api.openai_api_key == custom_api_key
assert api.openai_org_id == custom_org_id
def test_initialization_with_custom_key(): def test_initialization_with_custom_key():
custom_key = custom_api_key custom_key = custom_api_key
api = GPT4VisionAPI(openai_api_key=custom_key) api = GPT4VisionAPI(openai_api_key=custom_key)
assert api.openai_api_key == custom_key assert api.openai_api_key == custom_key
assert api.openai_org_id == custom_org_id
def test_run_with_exception(gpt_api): def test_run_with_exception(gpt_api):

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save