Skip to content

HakjunMIN/autogen-api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Simple FastAPI for Autogen

Powered by autogen-fastapi project

Get started

환경구성

conda create -n autogen python=3.10
conda activate autogen
pip install -r requirements.txt

Azure OpenAI설정

mv OAI_CONFIG_LIST_yours.json OAI_CONFIG_LIST.json
  • api-key와 base-url 수정
[
    {
      "model": "gpt-4o",
      "api_type": "azure",
      "api_key": "<your-api-key>",
      "base_url": "<your-base-url>", 
      "api_version": "2024-02-01"
    },
    {
      "model": "gpt-4",
      "api_type": "azure",
      "api_key": "<your-api-key>",
      "base_url": "<your-base-url>", 
      "api_version": "2024-02-01"
    }
  ]
  

fastAPI구동

cd app
uvicorn --reload main:app --host 0.0.0.0 

테스트

You can query the autogen agents using the following command:

curl -X 'POST' \
  'http://localhost:8000/autogen/api/v1/completions/autogen-workflow' \
  -H 'accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{
  "messages": [
    {
      "role": "user",
      "content": "최근 마이크로소프트 주식 분석좀 해줘"
    }
  ]
}'

Sample Request

{
  "messages": [
    {
      "role": "user",
      "content": "마이크로소프트 주가"
    }
  ],
  "stream": true
}

Sample Response (스트리밍 켰을때)

	
data: {"id": "c5077338-09b8-4a3f-ac51-6d5cbadef2ba", "object": "chat.completion.chunk", "created": 1722843584, "choices": [{"index": 0, "delta": {"role": "assistant", "content": "UserProxy (to chat_manager):\nMicrosoft stock price\n\n--------------------------------------------------------------------------------\n"}, "finish_reason": "stop"}]}

data: {"id": "d68ceabf-d8a3-4f06-91ef-3ae42cf89d94", "object": "chat.completion.chunk", "created": 1722843584, "choices": [{"index": 1, "delta": {"role": "assistant", "content": "UserProxy (to chat_manager):\nHello everyone! It's great to see such a capable team here. Let's get started. Does anyone have any questions or tasks at hand?\n\n--------------------------------------------------------------------------------\n"}, "finish_reason": "stop"}]}

data: {"id": "12164e0c-7351-4755-a88f-0e166813a6df", "object": "chat.completion.chunk", "created": 1722843584, "choices": [{"index": 2, "delta": {"role": "assistant", "content": "code assistant (to chat_manager):\nHello UserProxy! It's great to be here and ready to assist. We don't have any questions or tasks at hand yet, but you mentioned the Microsoft stock price earlier. If you need real-time stock prices, you'll typically need to use a financial data API or check a financial news website. How can we assist you further with this or any other tasks you have in mind?\n\n--------------------------------------------------------------------------------\n"}, "finish_reason": "stop"}]}

data: {"id": "288c0aff-06b5-442f-8151-5c616d3c0f6b", "object": "chat.completion.chunk", "created": 1722843584, "choices": [{"index": 3, "delta": {"role": "assistant", "content": "code assistant (to chat_manager):\nHello UserProxy! It's great to see all agents ready to assist. If you need specific programming or code-related help, feel free to ask!\n\n--------------------------------------------------------------------------------\n"}, "finish_reason": "stop"}]}

data: {"id": "521fd90f-54a3-4c3c-926e-4e041e369383", "object": "chat.completion.chunk", "created": 1722843584, "choices": [{"index": 4, "delta": {"role": "assistant", "content": "critic assistant (to chat_manager):\nHello UserProxy, as your critic assistant, I'm here to support you in\n\n--------------------------------------------------------------------------------\n"}, "finish_reason": "stop"}]}

data: {"id": "d951db13-17e9-45f7-8308-762cdbb7479c", "object": "chat.completion.chunk", "created": 1722843584, "choices": [{"index": 5, "delta": {"role": "assistant", "content": "critic assistant (to chat_manager):\nanalyzing or providing feedback on various subjects. If you have any content, ideas\n\n--------------------------------------------------------------------------------\n"}, "finish_reason": "stop"}]}

data: {"id": "7d9f632d-a84e-4c82-b580-0cadf2c8877a", "object": "chat.completion.chunk", "created": 1722843584, "choices": [{"index": 6, "delta": {"role": "assistant", "content": "UserProxy (to chat_manager):\n, or tasks that require a critical evaluation or review, please feel free to share\n\n--------------------------------------------------------------------------------\n"}, "finish_reason": "stop"}]}

...

API Spec in Swagger

브라우저에서 아래 URL접속

http://localhost:8000/autogen/api/v1/completions/docs

Workflow추가 방법

  • workflow 디렉토리에 파일 추가 후 AutogenWorkFlow를 상속받아 구현.
  • __init()__에서 실제 workflow구현.
  • self.chat_manager가 기본적으로 UserProxyAgent가 대화할 상대이므로 반드시 지정
  • 필요 시 run() 오버라이드

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages