messages 필드가 있으며, 연속 대화를 완료하려면 모든 맥락 역사(context history)를 전달해야 하고, 동시에 토큰 초과 제한 문제를 처리해야 합니다.
AceDataCloud에서 제공하는 AI 질문-답변 API는 이러한 상황을 최적화하여 질문-답변 효과를 유지하면서 연속 대화의 구현을 캡슐화했습니다. 연동 시 messages의 전달에 대해 걱정할 필요가 없으며, 토큰 초과 제한 문제도 신경 쓸 필요가 없습니다(API 내부에서 자동으로 처리됨). 또한 대화 조회, 수정 등의 기능도 제공하여 전체 연동이 크게 간소화되었습니다.
이 문서에서는 AI 질문-답변 API의 연동 설명을 소개합니다.
신청 절차
AI 질문-답변 API를 사용하려면 먼저 Ace Data Cloud 콘솔에서 API 토큰을 받아야 합니다. 이를 백업용으로 보관하십시오.
로그인 또는 등록이 되어 있지 않으면 자동으로 로그인 페이지로 리디렉션되어 등록 및 로그인을 초대합니다. 완료 후 현재 페이지로 자동으로 돌아옵니다.
하나의 API 토큰으로 플랫폼의 모든 서비스를 호출할 수 있으며, 각 서비스에 대해 별도로 신청할 필요가 없습니다. 처음 신청 시 무료 할당량이 제공되어 무료로 체험할 수 있습니다. 할당량이 부족할 경우 콘솔에서 일반 잔액을 충전할 수 있습니다.
📘 전체 문서: AI 질문-답변 API →
기본 사용
먼저 기본 사용 방식을 이해해야 합니다. 즉, 질문을 입력하고 답변을 얻는 것입니다. 간단히question 필드를 전달하고 해당 모델을 지정하면 됩니다.
예를 들어, “What’s your name?”이라고 질문하면, 다음과 같이 인터페이스에 해당 내용을 입력할 수 있습니다:
여기서 우리는 요청 헤더를 설정했습니다. 포함된 내용은 다음과 같습니다:
accept: 어떤 형식의 응답 결과를 받고 싶은지, 여기서는application/json으로 JSON 형식으로 입력합니다.authorization: API 호출을 위한 키로, 신청 후 직접 드롭다운에서 선택할 수 있습니다.
model: 모델 선택, 예를 들어 주류 모델인 GPT 3.5, GPT 4 등.question: 질문할 내용으로, 임의의 순수 텍스트일 수 있습니다.

answer 필드가 있으며, 이는 해당 질문에 대한 답변입니다. 우리는 임의의 질문을 입력하면 임의의 답변을 얻을 수 있습니다.
다중 대화 지원이 필요하지 않다면 이 API는 연동을 크게 편리하게 해줍니다.
또한 해당 연동 코드를 생성하려면 직접 복사하여 사용할 수 있습니다. 예를 들어 CURL의 코드는 다음과 같습니다:
다중 대화
다중 대화 기능을 연동하려면 추가 매개변수stateful을 전달해야 하며, 그 값은 true여야 합니다. 이후의 각 요청에는 이 매개변수를 포함해야 합니다. stateful 매개변수를 전달하면 API는 현재 대화의 ID를 나타내는 추가 id 매개변수를 반환합니다. 이후에는 이 ID를 매개변수로 전달하기만 하면 쉽게 다중 대화를 구현할 수 있습니다.
아래에서 구체적인 작업을 시연하겠습니다.
첫 번째 요청에서 stateful 매개변수를 true로 설정하고, model 및 question 매개변수를 정상적으로 전달합니다. 다음과 같이 표시됩니다:
해당 코드입니다:
id 필드를 매개변수로 전달하고, stateful 매개변수는 여전히 true로 설정합니다. “What I asked you just now?”라고 질문합니다. 다음과 같이 표시됩니다:
해당 코드입니다:
스트리밍 응답
이 인터페이스는 스트리밍 응답도 지원합니다. 이는 웹 페이지 연동에 매우 유용하며, 웹 페이지에서 글자 단위로 표시하는 효과를 구현할 수 있습니다. 스트리밍 응답을 원하면 요청 헤더의accept 매개변수를 application/x-ndjson으로 변경하면 됩니다.
변경 사항은 다음과 같으며, 호출 코드도 스트리밍 응답을 지원하도록 적절한 변경이 필요합니다.
accept를 application/x-ndjson으로 변경하면 API는 해당 JSON 데이터를 한 줄씩 반환합니다. 코드 측면에서 우리는 줄 단위 결과를 얻기 위해 적절한 수정을 해야 합니다.
Python 샘플 호출 코드는 다음과 같습니다:
answer는 최신 답변 내용이며, delta_answer는 추가된 답변 내용입니다. 결과에 따라 시스템에 통합할 수 있습니다.
JavaScript도 지원되며, 예를 들어 Node.js의 스트리밍 호출 코드는 다음과 같습니다:
모델 프리셋
우리는 OpenAI 관련 API에system_prompt 개념이 있다는 것을 알고 있습니다. 이는 전체 모델에 프리셋을 설정하는 것입니다. 본 AI 질문 응답 API도 이 매개변수를 노출하고 있으며, 이를 통해 모델에 프리셋을 추가할 수 있습니다. 예를 들어, preset 필드를 추가하여 내용은 당신은 전문 아티스트입니다로 설정할 수 있습니다.
여기서 우리는 preset 필드를 추가하여 내용을 당신은 전문 아티스트입니다로 설정합니다:
이미지 인식
본 AI는 첨부 파일을 추가하여 이미지 인식을 지원할 수 있으며,references를 통해 해당 이미지 링크를 전달하면 됩니다. 예를 들어, 여기 사과의 이미지가 있습니다:
해당 이미지의 링크는 https://cdn.acedata.cloud/ht05g0.png이며, 이를 references 매개변수로 전달하면 됩니다. 또한, 모델은 시각 인식을 지원하는 모델을 선택해야 하며, 현재 지원되는 모델은 gpt-4-vision입니다. 따라서 입력은 다음과 같습니다:
인터넷 질문 응답
본 API는 인터넷 모델도 지원하며, GPT-3.5와 GPT-4 모두 지원됩니다. API 뒤에는 자동으로 인터넷을 검색하고 요약하는 과정이 있으며, 모델을gpt-3.5-browsing으로 선택하여 경험할 수 있습니다.
gpt-4-browsing으로 변경하면 응답 효과가 더 좋습니다.
