번역가 | Cui Hao
Reviewer | Chonglou
방금 ChatGPT가 웹에서 작업을 수행할 수 있는 방법인 ChatGPT 플러그인을 발표했습니다. 이는 ChatGPT가 인터넷에 접속하여 최신 콘텐츠와 뉴스를 검색할 수 있을 뿐만 아니라 식료품 구매, 항공편 예약 등과 같은 일부 작업을 우리를 대신하여 수행할 수도 있음을 의미합니다.
구현 프로세스는 매우 간단합니다.
플러그인 공급자는 OpenAPI 표준을 사용하여 API 사양을 작성합니다. 이는 한동안 사용되어 온 표준이며 Swagger와 같은 API 문서 도구를 지지합니다.
그런 다음 이 사양을 ChatGPT에 API를 사용하여 답변을 향상시키는 방법을 설명하는 프롬프트로 컴파일합니다. 사용 가능한 각 엔드포인트에 대한 설명을 포함한 자세한 프롬프트를 상상해 보세요.
마지막으로 사용자는 새로운 질문을 합니다. ChatGPT 에 API의 정보가 필요한 경우 응답하기 전에 요청을 하고 컨텍스트에 추가합니다.
이 프로세스는 작성 당시 공식 OpenAI 문서에 문서화되어 있지만 액세스가 제한되어 있습니다. 아직 액세스 권한을 얻지 못했기 때문에 위의 내용을 기반으로 자체 메커니즘을 구현하기로 결정했습니다. 아래는 내 자신의 ChatGPT 플러그인 메커니즘을 구현하려는 시도입니다.
엄숙히 선언합니다: 저는 은 공개 정보ChatGPT 플러그인을 통해서만 알 수 있습니다. 다른 알 수 있는 채널이 없어요 추가 의 정보. 이 문서의 데모는 구현 개념을 설명하기 위한 것이며 구현 후의 모습을 나타내지는 않습니다.
API 사양 선택
첫 번째 단계는 API를 지정하는 방법을 이해하는 것입니다. OpenAI는 몇 가지 샘플 API 사양을 제공하므로 동일한 입력을 사용하여 자체 솔루션을 구현하기로 결정하고 단일 엔드포인트에 대한 간단한 사양을 작성했습니다.
저는 테스트용으로 특별히 제작된 간단한 API인 DummyJSON, 특히 "모든 할일 가져오기" 엔드포인트를 사용합니다. 사양으로 다음 YAML 파일을 작성했습니다.
openapi: 3.0.1 info: title: TODO Plugin description: A plugin that allows the user to create and manage a TODO list using ChatGPT. version: 'v1' servers: - url: https://dummyjson.com/todos paths: /todos: get: operationId: getTodos summary: Get the list of todos parameters: - in: query name: limit schema: type: integer description: Number of todos to return - in: query name: skip schema: type: integer description: Number of todos to skip from the beginning of the list responses: "200": description: OK content: application/json: schema: $ref: '#/components/schemas/getTodosResponse' components: schemas: getTodosResponse: type: object properties: todos: type: array items: type: object properties: id: type: int todo: type: string completed: type: bool userId: type: string description: The list of todos.
위의 구성 파일에 표시된 것처럼 엔드포인트에는 "limit"와 "skip"이라는 두 가지 매개변수가 있습니다.
이제 위의 내용을 변환해야 합니다.
수차례 논의 끝에 마침내 다음과 같은 결과를 얻었습니다.
You are a virtual assistant that helps users with their questions by relying on information from HTTP APIs. When the user asks a question, you should determine whether you need to fetch information from the API to properly answer it. If so, you will request the user to provide all the parameters you need, and then ask them to run the request for you. When you are ready to ask for a request, you should specify it using the following syntax: <http_request>{ "url": "<request URL>", "method": "<method>", "body": {<json request body>}, "headers": {<json request headers>} }</http_request> Replace in all the necessary values the user provides during the interaction, and do not use placeholders. The user will then provide the response body, which you may use to formulate your answer. You should not respond with code, but rather provide an answer directly. The following APIs are available to you: --- <OpenAPI Specification goes here>
我会告诉ChatGPT以特定的语法回应,并告诉它用户将提供响应。这是因为AI模型不会执行任何API调用——它必须将该操作委托给不同的系统。由于我们无法访问ChatGPT的内部组件,于是要求它将HTTP请求委托给用户。只要隐藏对话转换对最终用户不可见就行了,用户甚至感知不到HTTP请求,就万事大吉了。
编排
ChatGPT是一个通过REST API公开的AI模型。向OpenAI模型发出请求只是端到端聊天机器人体验中的一步。这意味着可以设置模型传递的信息,以及向最终用户显示的信息。
为了使用ChatGPT实现虚拟助手的功能,我使用了Bot Framework Composer,这是一种基于UI的工具,允许我们构建对话体验并将其发布到不同的渠道。以下是高级别的解决方案架构:
我用Bot Framework Composer构建了这个虚拟助手,因为它可以快速部署到多个终端用户渠道,且只需要很少的代码。如果您想要复制这个解决方案,您可能还需要考虑使用Power Virtual Agents,尤其是在生产中使用。
以下是对话流程的构建方式:
1. 用户提问
2.ChatGPT用预格式化的消息进行回复:
2.<http_request>{ "url": "https://dummyjson.com/todos?limit=5", "method": "GET", "body": "", "headers": {} }</http_request>
3.Azure Bot检测到这种格式,并将请求提交给DummyJSON API,而不会牵扯到最终用户。
4.Azure Bot代表用户向ChatGPT发出新请求,以获取响应正文。
5.ChatGPT格式化响应:"这是你的前5个待办事项:..."
6.Azure Bot回复给用户。
즉시 내 관심을 끌었던 한 가지 product는 코드를 생성하여 해당 제품이 다른 웹사이트나 애플리케이션을 호출하는 것을 방지할 수 있습니다. 이러한 이유로 간단한 도메인 허용 목록 을 적용했습니다. 이렇게 하면 모든 요청 이 한 번에 하나씩만 DummyJSON API로 전송될 수 있습니다. 이렇게 하면 메시지 전송 보안.
위는 계획 부분 포인트 을 설정하는 전체적인 아이디어입니다. .
최종 결과
위의 에서는 경험이 완벽해질 때까지 일부 구현 세부 사항을 건너뛰었습니다. 이것은 통계 도구이므로 올바른 힌트를 찾을 때까지 시행착오를 겪을 수 있습니다. 하지만 궁극적으로 이것이 제가 로봇의 최종 버전과 나눈 대화입니다.
결론
ChatGPT 플러그인기능 구현위의 빠른 데모보다 더 복잡합니다. 이 Demo의 목적은 ChatGPT의 통합을 완료하는 방법을 보여주는 것입니다. 저를 믿으세요. 구현 프로세스만큼 기대됩니다. 당신은 매우 궁금합니다. 이 데모는 ChatGPT에 HTTP를 통합하는 기능을 제공하고 는 가능성을 제공합니다. 커뮤니티에서 무엇을 버릴 수 있는지 보고 싶습니다 신선하다 꽃.
동시에 technology 사용자로서 우리는 책임감을 갖고 있습니다. 악의적인 프롬프트로 인해 Azure Bot이 알 수 없는 서버인데 무슨 일이 일어난 걸까요? 현재 어떤 새로운 공격 벡터가 있습니까? 내가 작성한 봇 에는 간단한 도메인 화이트리스트가 적용되어 있습니다. 새로운 사용 사례가 계속해서 등장하고 있는데 이 정도면 충분할까요? 또한 후속 팁에서 API 사양을 다시 작성했습니다. 이와 관련된 위험이 있습니까? AI과 관련하여 고려해야 할 보안 문제가 많이 있으며 OpenAI는 이를 확실히 알고 있습니다. 전반적으로
이 데모에 깊은 인상을 받았습니다. ChatGPT의 가능성은 정말 무궁무진하며 앞으로 몇 주, 몇 달 동안 이 기능이 어떻게 발전하는지 지켜볼 것입니다. 조만간 Azure OpenAI에서도 볼 수 있기를 바랍니다! 번역자 소개
Cui Hao, 51CTO 커뮤니티 편집자, 선임 설계자는 18년의 소프트웨어 개발 및 아키텍처 경험과 10년의 분산 아키텍처 경험을 보유하고 있습니다.
원제:
ChatGPT 플러그인 작동 방식, 작성자: Marco Cardoso
위 내용은 ChatGPT 플러그인 작동 방식의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

소개 신속한 엔지니어링에서 "Thought of Thought"는 그래프 이론을 사용하여 AI의 추론 과정을 구성하고 안내하는 새로운 접근법을 나타냅니다. 종종 선형 S와 관련된 전통적인 방법과 달리

소개 축하해요! 당신은 성공적인 사업을 운영합니다. 웹 페이지, 소셜 미디어 캠페인, 웹 세미나, 컨퍼런스, 무료 리소스 및 기타 소스를 통해 매일 5000 개의 이메일 ID를 수집합니다. 다음 명백한 단계는입니다

소개 오늘날의 빠르게 진행되는 소프트웨어 개발 환경에서 최적의 애플리케이션 성능이 중요합니다. 응답 시간, 오류율 및 자원 활용과 같은 실시간 메트릭 모니터링 메인이 도움이 될 수 있습니다.

"얼마나 많은 사용자가 있습니까?" 그는 자극했다. Altman은“마지막으로 우리가 마지막으로 말한 것은 매주 5 억 명의 행위자이며 매우 빠르게 성장하고 있다고 생각합니다. 앤더슨은 계속해서“당신은 나에게 몇 주 만에 두 배가되었다고 말했습니다. “저는 그 개인이라고 말했습니다

소개 Mistral은 최초의 멀티 모드 모델, 즉 Pixtral-12B-2409를 발표했습니다. 이 모델은 Mistral의 120 억 개의 매개 변수 인 NEMO 12B를 기반으로합니다. 이 모델을 차별화하는 것은 무엇입니까? 이제 이미지와 Tex를 모두 가져갈 수 있습니다

쿼리에 응답 할뿐만 아니라 자율적으로 정보를 모으고, 작업을 실행하며, 여러 유형의 데이터 (텍스트, 이미지 및 코드를 처리하는 AI 구동 조수가 있다고 상상해보십시오. 미래처럼 들리나요? 이것에서

소개 금융 산업은 효율적인 거래 및 신용 가용성을 촉진함으로써 경제 성장을 주도하기 때문에 모든 국가 개발의 초석입니다. 거래가 발생하는 용이성 및 신용

소개 소셜 미디어, 금융 거래 및 전자 상거래 플랫폼과 같은 소스에서 전례없는 속도로 데이터가 생성되고 있습니다. 이 지속적인 정보 스트림을 처리하는 것은 어려운 일이지만


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

SublimeText3 Linux 새 버전
SublimeText3 Linux 최신 버전

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

ZendStudio 13.5.1 맥
강력한 PHP 통합 개발 환경

Eclipse용 SAP NetWeaver 서버 어댑터
Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.

에디트플러스 중국어 크랙 버전
작은 크기, 구문 강조, 코드 프롬프트 기능을 지원하지 않음
