emrgnt-cmplxty / automata

Automata: A self-coding agent
Apache License 2.0
615 stars 100 forks source link

add support for Azure, OpenAI, Palm, Anthropic, Cohere Models - using litellm #408

Closed ishaan-jaff closed 1 year ago

ishaan-jaff commented 1 year ago

Addressing this issue: https://github.com/emrgnt-cmplxty/automata/issues/211

I'm the maintainer of litellm https://github.com/BerriAI/litellm - a simple & light package to call OpenAI, Azure, Cohere, Anthropic API Endpoints

This PR adds support for models from all the above mentioned providers

Here's a sample of how it's used:

from litellm import completion

## set ENV variables
# ENV variables can be set in .env file, too. Example in .env.example
os.environ["OPENAI_API_KEY"] = "openai key"
os.environ["COHERE_API_KEY"] = "cohere key"

messages = [{ "content": "Hello, how are you?","role": "user"}]

# openai call
response = completion(model="gpt-3.5-turbo", messages=messages)

# cohere call
response = completion("command-nightly", messages)

# anthropic call
response = completion(model="claude-instant-1", messages=messages)
ishaan-jaff commented 1 year ago

cc @emrgnt-cmplxty @NolanTrem would love your feedback when you get the chance to look at this

emrgnt-cmplxty commented 1 year ago

Unfortunately this won't work for our implementation, since we have special logic around OpenAI's function handling. I'll keep an eye on your repository and consider introducing this when we are considering the problem more seriously, thanks.

ishaan-jaff commented 1 year ago

@emrgnt-cmplxty litellm does function handling too - was there something missing in the package ?

krrishdholakia commented 1 year ago

hey @emrgnt-cmplxty @NolanTrem - just wanted to bump this. Anything we're missing on our end?