이 프로젝트는 AutoGen에 대한 작은 래퍼입니다. LiteLLM 프록시 서버를 통합하여 터미널을 떠나지 않고도 모든 LLM(독점 또는 오픈 소스)에 쉽게 액세스할 수 있습니다.
Rich 및 Prompt_toolkit 라이브러리를 사용하여 입력/출력을 색상화하여 일반 터미널에서 큰 응답을 좀 더 이해하기 쉽게 읽습니다.
입력: 출력
이 섹션에서는 이 프로젝트 작업을 위한 개발 환경을 설정하는 방법에 대한 지침을 제공합니다.
시작하기 전에 Python 버전 및 환경을 관리할 수 있도록 시스템에 pyenv
또는 conda
설치되어 있는지 확인하세요.
이 프로젝트는 Python 3.11.8
로 테스트되었습니다. 호환성 문제를 방지하려면 이 특정 버전을 사용하는 것이 좋습니다.
pyenv
사용하는 경우 Python 3.11.8
설치하고 다음 명령을 사용하여 이를 프로젝트의 로컬 버전으로 설정할 수 있습니다.
pyenv install 3.11.8
pyenv local 3.11.8
pyenv virtualenv myenv
conda
선호하는 경우 다음 명령을 사용하여 Python 3.11.8
로 새 환경을 만듭니다.
conda create --name myenv python=3.11.8
conda activate myenv
myenv
환경에 대해 선택한 이름으로 바꾸십시오.
올바른 Python 버전이 설정되면 다음을 실행하여 프로젝트 종속성을 설치합니다.
pip install -e .
깔끔한 비용 모니터링 및 사용 통계를 제공하는 litellm 프록시 대시보드 UI를 설정하고 사용할 계획이라면 다음을 통해 추가 종속성을 설치하세요.
pip install -e ' .[proxy] '
.env.secrets.example
파일을 복사하여 자신만의 .env.secrets
파일을 생성하고 OpenAI, MistralAI, Anthropic 모델 등과 같이 사용하려는 서비스에 대한 특정 API 키를 입력하세요.
cp .env.secrets.example .env.secrets
원하는 텍스트 편집기로 .env.secrets
파일을 편집하고 필요에 따라 API 키를 업데이트하세요.
먼저 litellm의 사용 정보를 저장하기 위해 postgres DB를 설정해야 합니다. 이를 수행하는 가장 쉬운 방법은 AWS에서 호스팅되는 무료 Superbase postgres 인스턴스를 생성하는 것입니다.
DB를 사용할 준비가 되면 DB에 연결할 수 있는지 확인하세요.
psql postgresql:// < user > : < password > @ < host > : < port > / < dbname >
연결이 성공하면 .env.secrets
파일에 DATABASE_URL
환경 변수를 설정하기만 하면 됩니다. 다음에 litellm 서버를 시작하면 자동으로 DB에 연결됩니다.
이러한 단계를 통해 프로젝트 작업 및 애플리케이션 실행 준비가 완료되어야 합니다.
다음 명령을 실행하십시오.
python setup.py fix
python setup.py review --file path/to/file
LiteLLM의 장점 중 하나는 다른 멋진 기능 중에서도 다양한 LLM을 호출하기 위한 통합 인터페이스를 제공한다는 것입니다. 이러한 맥락에서 우리는 다른 AI 모델(현재는 기본적으로 지원되지 않지만 WIP임)을 사용하도록 AutoGen의 기능을 확장하는 데 사용합니다.
python setup.py litellm
Autogen은 깔끔한 UI도 제공합니다.
다음 명령은 AGS 앱을 시작하고 http://localhost:8083에서 UI를 사용할 수 있게 만듭니다. AGS sqlite DB는 기타 관련 아티팩트와 함께 src/ui
에 저장됩니다.
python setup.py ui
기본적으로 OpenAI 모델 요청은 litellm을 통해 라우팅되지 않습니다. 이는 이 LLM 공급자만 사용하는 경우 https://platform.openai.com/usage에서 비용을 쉽게 모니터링할 수 있기 때문에 추가 레이어를 추가하는 것이 의미가 없기 때문입니다. 그러나 여러 LLM 공급자를 사용하는 경우 단일 대시보드 -> LiteLLM UI
내에서 모든 데이터를 집계하는 것이 합리적입니다.
LiteLLM 프록시 서버가 실행 중이면 모든 openai 요청이 자동으로 프록시를 통해 라우팅됩니다.
단계:
환경 및 구성을 설정한 후 src/applications/
디렉터리 내에서 애플리케이션을 실행할 수 있습니다.
애플리케이션을 실행하면 해당 앱에 정의된 흐름을 기반으로 새로운 대화 세션이 생성됩니다.
다음과 같은 2가지 일반 대화 앱이 있습니다.
start_conversation.py
사전 정의된 전문 에이전트 목록에서 선택한 에이전트와 간단한 대화를 시작합니다.start_curated_conversation.py
주체의 주장을 검토하는 대화에 비판 AI를 추가합니다. 에이전트 정의 파일 agents/custom_agents.py
에 새 사용자 정의 에이전트를 추가할 수 있습니다.
각 애플리케이션 내에서 message
조정하거나 스크립트를 실행하고 명령줄에 프롬프트를 입력할 수 있습니다(권장). 프롬프트는 여러 줄을 지원하므로 Enter
새 줄만 삽입됩니다. 프롬프트를 제출하려면 (Meta|Esc)+Enter
누르세요.
python chef.py
chef.py
애플리케이션은 에이전트를 사용하여 요리에 대한 대화를 촉진하는 방법을 보여줍니다. 여러 상담원과 그룹 채팅을 설정하고 사용자 쿼리를 통해 채팅을 시작하는 방법을 보여줍니다.
ollama run codellama
litellm_config.yml
파일을 업데이트합니다.기타 인기 모델: https://huggingface.co/WizardLM