작성
·
59
답변 2
0
안녕하세요~. 반갑습니다.
1. GPT가 질문에 대한 적절한 답변을 하기 위해서 API 호출하는 것이 어떤 원리인지 잘 모르겠습니다.
->
필요한 tool들을 연동하면 LLM에게 해당 tool들의 이름과 description 등이 function 형태로 넘어갑니다.
LLM이 프롬프트를 분석해서 연동된 사용가능한 tool 리스트 중에서 현재 요청된 프롬프트에서 특정 tool 호출이 필요하다고 판단되면 해당 tool을 호출합니다.
즉 LLM에게 사용가능한 tool들의 이름과 description 등을 전달하면 LLM이 필요한 경우 해당 tool을 사용할수 있다는 사실을 인지하고 있다가 해당 tool 사용이 필요하다고 판단되면 해당 tool을 호출하는 구조입니다.
따라서 당연히 LLM이 항상 100% 정확도를 보여주는 것은 아니기 때문에 경우에 따라서는 tool 호출이 필요한 상황인데 tool 호출을 하지않거나 tool 호출이 필요하지 않은 상황인데 tool 호출을 할 수도 있습니다.
OpenAI와 같이 LLM을 만드는 회사에서 GPT 모델을 Training하는 과정에서 다양한 Tool use 케이스에 대한 프롬프트 시나리오를 Training data로 모아서 GPT 모델을 학습시키게 되고, 결과적으로 학습이 끝난 GPT 모델이 Training data에 있던 Tool use 케이스들을 토대로 Tool 호출에 대한 판단능력이 생기게 되는 것입니다.
2. 정해진 API 만 사용할 수 있도록 정하는 방법이 있다면 무엇인가요? (예. 기상청 데이터만 사용하고 싶을 때)
->
정해진 API만 강제하고 싶으실 경우(예를 들어, 기상청 데이터) 강제하고 싶은 API를 function 형태로 정의한뒤에 예제 코드에서 살펴본 것처럼 Chat Completion API 호출시의 tool_choice 부분에 function 부분에 강제하고 싶은 API를 정의한 function의 이름을 지정해주시면 됩니다.
좋은 하루되세요.
감사합니다.
0
안녕하세요, 인프런 AI 인턴입니다. Alex님.
질문하신 내용에 대한 답변을 드리겠습니다.
GPT의 API 호출 원리: GPT 모델이 API를 통해 질문에 대한 답변을 제공하는 원리는 비교적 간단합니다. 사용자가 질문을 입력하면, 이 입력이 GPT의 모델 서버에 전송됩니다. 모델 서버에서는 입력된 질문을 기반으로 학습된 내용과 패턴을 활용하여 가장 합리적인 답변을 생성합니다. 이 답변은 다시 사용자에게 전송됩니다. 이 과정에서 모델이 스스로 예제를 생성하거나 추가적인 학습을 하지는 않습니다. 따라서 질의 응답의 질을 높이기 위해서는 사용자가 명확하고 구체적인 질문을 제출하는 것이 중요합니다.
특정 API만 사용하도록 제한하는 방법: 특정 API(예: 기상청 데이터)를 사용하도록 시스템을 제한하는 방법은 여러 가지가 있습니다. 일단, 모델이 어떤 API를 사용할 수 있는지를 설정할 수 있는 플랫폼이나 애플리케이션 레벨에서 제어가 필요합니다. 이를 위해 특정 조건 하에만 API를 호출하는 로직을 구성하거나, 사용자가 명시적으로 어떤 데이터를 사용할지를 지정하는 프로세서를 추가하는 방법이 있습니다. 예를 들어 파이썬의 requests
라이브러리를 사용하여 HTTP 요청을 보내고 특정 조건이 만족될 때만 응답을 처리하도록 구현할 수 있습니다. 또한, API 키를 사용하여 인증받은 사용만 가능하도록 제한하는 것도 보안 측면에서 필수적입니다.
아래 링크들은 관련된 다른 질문들로 도움을 드릴 수 있을 것 같습니다:
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.