Jump to content

앱별(모델별)로 API URL이 존재하는 방식은 앞으로도 확정일까요?


nexusai

Recommended Posts

안녕하세요.

hcx-python 패키지를 만드실 계획이 있으신지 궁금해하는 한편

사내용 패키지를 만들어 테스트앱을 사용중입니다.

 

현재 패키징을 진행하려는 기능은 채팅, 채팅 스트림, 임베딩 이렇게 세 개인데요.

api key 하나만으로 모든 기능을 사용할 수 있는 openai 와 다르게

HCX-002 모델은 각 서비스 타입별뿐만 아니라 각 모델별로 독립된 앱을 먼저 생성하고 clovastudio_api_key, apigw_api_key, api_url 을 독립적으로 관리해야 하는 특성 때문에

추상화에 앞서 고민이 많습니다.

튜닝을 통해 여러 실험도 진행중이다보니 결국 앱url이 무한히 늘어날 예정인 것이죠. (결론적으로는 그 중 살아남은 1-2개만 상용기에 올리게 되겠지만요)

 

혹시 이와 관련하여.. 엔드포인트의 나이스한 관리방법이나 패키지 제작 팁 등이 있으시다면 가감없이 공유 주시면 좋겠습니다.

 

저는 아래와 같은 방식으로 사용할 패키지를 만들고 있습니다.

from nexusai-hcx import HCX


client = HCX(
    # defaults to os.environ.get("CLOVASTUDIO_API_KEY")
    # defaults to os.environ.get("APIGW_API_KEY")
    # defaults to os.environ.get("API_URL")
    clovastudio_api_key = "My API Key",
    apigw_api_key = "My API Key",
    api_url = "My API Url",
)

#chat
chat_completion = client.chat(
    messages=[
    {
        "role": "system",
        "content": "당신은 법률 전문가이며 일반인을 대상으로 법률 상담을 진행하고 있습니다. 사용자의 법률 질문에 대답하세요."
    },
    {
        "role": "user",
        "content": "안녕하십니까..."
    } 
    ]
)

#chat streaming
stream = client.chat(
    messages=[
    {
        "role": "system",
        "content": "당신은 법률 전문가이며 일반인을 대상으로 법률 상담을 진행하고 있습니다. 사용자의 법률 질문에 대답하세요."
    },
    {
        "role": "user",
        "content": "안녕하십니까..."
    } 
    ],
    stream=True,
)
for part in stream:
    print(part or "")

#embedding
def get_embedding(text, model="clir-emb-dolphin"):
   text = text.replace("\n", " ")
   return client.embeddings.create(input = [text], model=model)['embedding']

df['hcx_embedding'] = df.combined.apply(lambda x: get_embedding(x, model='clir-emb-dolphin'))

 

링크 복사
다른 사이트에 공유하기

게시글 및 댓글을 작성하려면 로그인 해주세요.



로그인
×
×
  • Create New...