Giter Site home page Giter Site logo

chain-ml / council Goto Github PK

View Code? Open in Web Editor NEW
748.0 748.0 32.0 2.67 MB

Council is an open-source platform for the rapid development and robust deployment of customized generative AI applications

Home Page: https://council.dev

License: Apache License 2.0

Python 99.90% Makefile 0.10%
agent ai artificial-intelligence chatgpt generative-ai gpt gpt3 gpt4 machine-learning python

council's People

Contributors

aflament avatar budalebah avatar dan-kur avatar dvdmllr avatar ethancjackson avatar gkoch78 avatar naccomy avatar pixelkaiser avatar rbodkin avatar voodootikigod avatar winston-503 avatar zikunukiz avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

council's Issues

Allow commonly used classes to be imported directly from `council`

Instead of:

from council.controllers import LLMController
from council.evaluators import LLMEvaluator
from council.agents import Agent
from council.filters import BasicFilter

Do:

from council import LLMController, LLMEvaluator, Agent, BasicFilter

It's much easier to remember and also extremely easy to implement (I can put in a PR). Basically everything in the Hello, World example should probably be able to be imported directly from council (or council.models which makes sense separately).

Config instantiation without parameters

Steps to Reproduce:

  1. Run the following to llama_integration.ipynb: ! pip install python-dotenv llama-index council-ai
  2. Run all fields in notebook in order

Error:

AttributeError Traceback (most recent call last)
in <cell line: 15>()
13 dotenv.load_dotenv()
14 config = OpenAILLMConfiguration.from_env()
---> 15 config.model = Option("gpt-3.5-turbo")
16 llm = OpenAILLM(config)
17

AttributeError: can't set attribute 'model'

Cause:
Option.model is no longer exposed after OpenAILLMConfiguration refactor in #113

Proposed Fix:

config = OpenAILLMConfiguration(
api_key=os.getenv("OPENAI_API_KEY"), model="gpt-3.5-turbo"
)
llm = OpenAILLM(config)

when to update?

It was said the repo will updated every two weeks. Hope the project will become more popular.

OPENAI_LLM_MODEL parameter appears to be required for OpenAILLM but not mentioned in quickstart

Hi team! Very cool project.

It appears that the OpenAI API requires the model parameter on every call (docs) but it's an Option in OpenAILLMConfiguration.

Configuring OPENAI_LLM_MODEL="gpt-3.5-turbo" works. Omitting OPENAI_LLM_MODEL from my environment causes the example to fail due to the API returning a 400 with error message you must provide a model parameter.

Here is a small repro using Council: https://gist.github.com/rbm/3016c5a8d4fff2ac63de5990cb225444

Just curling the OpenAI endpoint directly also fails, for clarity:

# Note "model" is omitted from data payload below
# Fails with "you must provide a model parameter"
curl https://api.openai.com/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -d '{
     "messages": [{"role": "user", "content": "Say this is a test!"}],
     "temperature": 0.7
   }'

Unsure for Council whether it would be better to default to gpt-3.5-turbo or make the configuration non-optional when using OpenAILLM.

Phrasing in First Example

first_example.ipynb

The following:
hw_chain = Chain(name="Hello World", description="Answers with a poem about titled Hello World", runners=[hw_skill])

Should read:
hw_chain = Chain(name="Hello World", description="Answers with a poem titled Hello World", runners=[hw_skill])

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.