개발이야기/인공지능

Gemini 모델이 OpenAI API 호환성 지원

준호씨 2024. 11. 9. 15:56
반응형

Gemini is now accessible from the OpenAI Library 2024.11.08

https://developers.googleblog.com/en/gemini-is-now-accessible-from-the-openai-library/

 

Gemini is now accessible from the OpenAI Library- Google Developers Blog

Starting today, developers can access the latest Gemini models via the OpenAI Library and REST API, making it easier to get started with Gemini. We will initially support the Chat Completions API and Embeddings API, with plans for additional compatibility

developers.googleblog.com

 

Gemeni 모델이 드디어 OpenAI 라이브러리를 지원합니다. OpenAI API 호환성을 지원하는 것인데요. 점점 OpenAI API 가 LLM API 표준이 되어 가는 모양입니다. 예를 들어 GraphRAG 라이브러리가 기본적으로 OpenAI API만 지원하다 보니 Gemini 모델을 사용하기가 어려웠는데요. 이제 Gemini 모델도 손쉽게 테스트해 볼 수 있게 되었습니다.

 

요약

  • Chat Completions API와 Embeddings API를 지원합니다.
  • 향후 몇 주, 몇 달 안에 추가 호환성 지원이 계획되어 있습니다.
  • OpenAI 호환성 문서를 참조할 수 있으며, OpenAI 라이브러리를 사용하지 않는 경우 Gemini API를 직접 호출하는 것을 권장합니다.

 

OpenAI python 라이브러리로 gemini-1.5-flash 모델을 사용한 streaming 요청 처리 예제

from openai import OpenAI
client = OpenAI(
    api_key="gemini_api_key",
    base_url="https://generativelanguage.googleapis.com/v1beta/"
)


response = client.chat.completions.create(
    model="gemini-1.5-flash",
    n=1,
    messages=[
        {"role": "system", "content": "You are a helpful assistant."},
        {
            "role": "user",
            "content": "junho85 에 대해 알려줘"
        }
    ],
    stream=True,
)

# print(response.choices[0].message.content)
for chunk in response:
    print(chunk.choices[0].delta.content, end='')
    
# output
# 죄송합니다. "junho85"에 대한 정보를 찾을 수 없습니다. 더 자세한 정보를 제공해주시겠습니까? 예를 들어, Junho85가 무엇을 하는지, 어떤 맥락에서 이 이름이 나왔는지 등을 알려주시면 도울 수 있습니다.
반응형