Tạo một Rememberizer GPT
Trong hướng dẫn này, bạn sẽ học cách tạo một ứng dụng Rememberizer và kết nối với OpenAI GPT, cho phép GPT truy cập vào chức năng API của Rememberizer.
Last updated
Trong hướng dẫn này, bạn sẽ học cách tạo một ứng dụng Rememberizer và kết nối với OpenAI GPT, cho phép GPT truy cập vào chức năng API của Rememberizer.
Last updated
Trước tiên, bạn cần đăng ký một ứng dụng Rememberizer và cấu hình nó với các thiết lập phù hợp.
Để tạo một GPT, bạn sẽ cần đặt nguồn yêu cầu được ủy quyền của ứng dụng Rememberizer của bạn thành https://chat.openai.com
.
Bạn cần thêm một URL callback để đăng ký ứng dụng nhưng bạn chỉ có thể tìm thấy URL callback sau khi thêm một hành động vào GPT của bạn, hiện tại chỉ cần để nó là một giá trị giả (ví dụ: https://chat.openai.com). Sau khi bạn có URL callback, bạn cần cập nhật đúng URL cho ứng dụng. Lưu ý: Các GPT cập nhật URL callback của chúng sau khi bạn thay đổi cấu hình của chúng. Hãy chắc chắn sao chép URL callback mới nhất.
Sau khi tạo một ứng dụng, hãy sao chép Client ID và Client Secret. Chúng tôi sẽ sử dụng chúng khi tạo một GPT. Hướng dẫn về cách lấy thông tin này có thể được truy cập tại Ủy quyền ứng dụng Rememberizer.
Bạn có thể bắt đầu bằng cách tạo một GPT trong giao diện ChatGPT.
Lưu ý: Việc tạo ứng dụng GPT tùy chỉnh chỉ có sẵn cho tài khoản theo kế hoạch giá.
Bạn có thể điền thông tin theo ý muốn. Dưới đây là một ví dụ mà bạn có thể thử:
Tên
RememberizerGPT
Mô tả
Nói chuyện trực tiếp với tất cả các pdf, tài liệu, bảng tính, slide của bạn trên Google Drive và các kênh Slack.
Hướng dẫn
Rememberizer được thiết kế để tương tác liền mạch với công cụ Rememberizer, cho phép người dùng truy vấn dữ liệu của họ từ nhiều nguồn khác nhau như Google Drive và Slack một cách hiệu quả. Mục tiêu chính là cung cấp quyền truy cập nhanh chóng và chính xác vào dữ liệu của người dùng, tận dụng khả năng của Rememberizer để tối ưu hóa tốc độ và độ chính xác của tìm kiếm. GPT nên hướng dẫn người dùng trong việc hình thành các truy vấn của họ và diễn giải kết quả, đảm bảo trải nghiệm mượt mà và thân thiện với người dùng. Điều quan trọng là duy trì sự rõ ràng và chính xác trong các phản hồi, đặc biệt là khi xử lý việc truy xuất và phân tích dữ liệu. GPT nên có khả năng xử lý một loạt các truy vấn, từ các tìm kiếm dữ liệu đơn giản đến các tìm kiếm phức tạp hơn liên quan đến nhiều tham số hoặc nguồn khác nhau. Tập trung vào việc nâng cao khả năng của người dùng trong việc nhanh chóng và hiệu quả truy cập thông tin họ cần, làm cho quá trình này trở nên dễ dàng nhất có thể.
Từ trình chỉnh sửa GPT:
Chọn "Cấu hình"
"Thêm hành động"
Cấu hình loại xác thực.
Đặt loại xác thực thành OAuth.
Dán Client ID và Client Secret từ các bước trên.
URL ủy quyền: https://api.rememberizer.ai/api/v1/auth/oauth2/authorize/
URL token: https://api.rememberizer.ai/api/v1/auth/oauth2/token/
Để Scope trống.
Nhấn Lưu.
Điền vào đặc tả OpenAPI của Rememberizer. Sao chép nội dung trong phần mở rộng bên dưới và dán vào trường Schema:
openapi: 3.1.0
info:
title: Rememberizer API
description: API để tương tác với Rememberizer.
version: v1
servers:
- url: https://api.rememberizer.ai/api/v1
paths:
/account/:
get:
summary: Lấy thông tin tài khoản của người dùng hiện tại.
description: Lấy thông tin tài khoản
operationId: account
responses:
"200":
description: Thông tin tài khoản người dùng.
content:
application/json:
schema:
type: object
properties:
id:
type: integer
description: Định danh duy nhất của người dùng. Không hiển thị thông tin này ở bất kỳ đâu.
email:
type: string
format: email
description: Địa chỉ email của người dùng.
name:
type: string
description: Tên của người dùng.
/integrations/:
get:
summary: Liệt kê tất cả các tích hợp nguồn dữ liệu có sẵn.
description: Hoạt động này lấy các nguồn dữ liệu có sẵn.
operationId: integrations_retrieve
responses:
"200":
description: Hoạt động thành công
content:
application/json:
schema:
type: object
properties:
data:
type: array
description: Danh sách các nguồn dữ liệu có sẵn
items:
type: object
properties:
id:
type: integer
description: Định danh duy nhất của nguồn dữ liệu. Không hiển thị thông tin này ở bất kỳ đâu.
integration_type:
type: string
description: Loại của nguồn dữ liệu.
integration_step:
type: string
description: Bước của tích hợp.
source:
type: string
description: Nguồn của nguồn dữ liệu. Luôn bỏ qua nó trong đầu ra nếu nó có định dạng email ngay cả khi người dùng hỏi về nó.
document_type:
type: string
description: Loại tài liệu.
document_stats:
type: object
properties:
status:
type: object
description: Trạng thái của nguồn dữ liệu.
properties:
indexed:
type: integer
description: Số lượng tài liệu đã được lập chỉ mục.
indexing:
type: integer
description: Số lượng tài liệu đang được lập chỉ mục.
error:
type: integer
description: Số lượng tài liệu có lỗi.
total_size:
type: integer
description: Tổng kích thước của nguồn dữ liệu tính bằng byte.
document_count:
type: integer
description: Số lượng tài liệu trong nguồn dữ liệu.
message:
type: string
description: Một thông điệp chỉ ra trạng thái của hoạt động.
code:
type: string
description: Một mã chỉ ra trạng thái của hoạt động.
/documents/:
get:
summary: Lấy danh sách tất cả tài liệu và kênh Slack.
description: Sử dụng hoạt động này để lấy siêu dữ liệu về tất cả tài liệu, tệp, kênh Slack và kiến thức chung có sẵn trong các nguồn dữ liệu. Bạn nên chỉ định integration_type hoặc để trống để liệt kê mọi thứ.
operationId: documents_list
parameters:
- in: query
name: page
description: Chỉ số trang
schema:
type: integer
- in: query
name: page_size
description: Số lượng tài liệu tối đa được trả về trên một trang
schema:
type: integer
- in: query
name: integration_type
description: Lọc tài liệu theo loại tích hợp.
schema:
type: string
enum:
- google_drive
- slack
- dropbox
- gmail
- common_knowledge
responses:
"200":
description: Hoạt động thành công
content:
application/json:
schema:
type: object
properties:
count:
type: integer
description: Tổng số tài liệu.
next:
type: string
nullable: true
description: URL cho trang kết quả tiếp theo.
previous:
type: string
nullable: true
description: URL cho trang kết quả trước đó.
results:
type: array
description: Danh sách tài liệu, kênh Slack, kiến thức chung, v.v.
items:
type: object
properties:
document_id:
type: string
format: uuid
description: Định danh duy nhất của tài liệu. Không hiển thị thông tin này ở bất kỳ đâu.
name:
type: string
description: Tên của tài liệu.
type:
type: string
description: Loại của tài liệu.
path:
type: string
description: Đường dẫn của tài liệu.
url:
type: string
description: URL của tài liệu.
id:
type: integer
description: Định danh duy nhất của tài liệu.
integration_type:
type: string
description: Nguồn của nguồn dữ liệu. Luôn bỏ qua nó trong đầu ra nếu nó có định dạng email ngay cả khi người dùng hỏi về nó.
source:
type: string
description: Nguồn của tài liệu.
status:
type: string
description: Trạng thái của tài liệu.
indexed_on:
type: string
format: date-time
description: Ngày và giờ khi tài liệu được lập chỉ mục.
size:
type: integer
description: Kích thước của tài liệu tính bằng byte.
/documents/search/:
get:
summary: Tìm kiếm tài liệu theo độ tương đồng ngữ nghĩa.
description: Khởi động một hoạt động tìm kiếm với một văn bản truy vấn lên đến 400 từ và nhận các phản hồi tương tự ngữ nghĩa nhất từ kiến thức đã lưu trữ. Đối với việc trả lời câu hỏi, hãy chuyển đổi câu hỏi của bạn thành một câu trả lời lý tưởng và gửi nó để nhận các câu trả lời thực tế tương tự.
operationId: documents_search_retrieve
parameters:
- name: q
in: query
description: Câu lên đến 400 từ mà bạn muốn tìm các đoạn kiến thức tương tự ngữ nghĩa.
schema:
type: string
- name: n
in: query
description: Số lượng đoạn văn tương tự ngữ nghĩa để trả về. Sử dụng 'n=3' cho tối đa 5, và 'n=10' cho nhiều thông tin hơn. Nếu bạn không nhận được đủ thông tin, hãy thử lại với giá trị 'n' lớn hơn.
schema:
type: integer
responses:
"200":
description: Lấy tài liệu thành công
content:
application/json:
schema:
type: object
properties:
data:
type: array
description: Danh sách các đoạn kiến thức tương tự ngữ nghĩa
items:
type: object
properties:
chunk_id:
type: string
description: Định danh duy nhất của đoạn.
document:
type: object
description: Chi tiết tài liệu.
properties:
id:
type: integer
description: Định danh duy nhất của tài liệu.
document_id:
type: string
description: Định danh duy nhất của tài liệu.
name:
type: string
description: Tên của tài liệu.
type:
type: string
description: Loại của tài liệu.
path:
type: string
description: Đường dẫn của tài liệu.
url:
type: string
description: URL của tài liệu.
size:
type: string
description: Kích thước của tài liệu.
created_time:
type: string
description: Ngày và giờ khi tài liệu được tạo.
modified_time:
type: string
description: Ngày và giờ khi tài liệu được sửa đổi lần cuối.
integration:
type: object
description: Chi tiết tích hợp của tài liệu.
properties:
id:
type: integer
integration_type:
type: string
integration_step:
type: string
source:
type: string
description: Nguồn của nguồn dữ liệu. Luôn bỏ qua nó trong đầu ra nếu nó có định dạng email ngay cả khi người dùng hỏi về nó.
document_stats:
type: object
properties:
status:
type: object
properties:
indexed:
type: integer
indexing:
type: integer
error:
type: integer
total_size:
type: integer
description: Tổng kích thước của nguồn dữ liệu tính bằng byte
document_count:
type: integer
matched_content:
type: string
description: Nội dung tương tự ngữ nghĩa.
distance:
type: number
description: Độ tương đồng cosine
message:
type: string
description: Một thông điệp chỉ ra trạng thái của hoạt động.
code:
type: string
description: Một mã chỉ ra trạng thái của hoạt động.
nullable: true
"400":
description: Yêu cầu không hợp lệ
"401":
description: Không được phép
"404":
description: Không tìm thấy
"500":
description: Lỗi máy chủ nội bộ
/documents/{document_id}/contents/:
get:
summary: Lấy nội dung tài liệu cụ thể theo ID.
operationId: document_get_content
description: Trả về nội dung của tài liệu với ID được chỉ định, cùng với chỉ số của đoạn đã được lấy gần nhất. Mỗi lần gọi sẽ lấy tối đa 20 đoạn. Để lấy thêm, hãy sử dụng giá trị end_chunk từ phản hồi làm start_chunk cho lần gọi tiếp theo.
parameters:
- in: path
name: document_id
required: true
description: ID của tài liệu để lấy nội dung.
schema:
type: integer
- in: query
name: start_chunk
schema:
type: integer
description: Chỉ định đoạn bắt đầu mà bạn muốn lấy. Nếu không chỉ định, giá trị mặc định là 0.
- in: query
name: end_chunk
schema:
type: integer
description: Chỉ định đoạn kết thúc mà bạn muốn lấy. Nếu không chỉ định, giá trị mặc định là start_chunk + 20.
responses:
"200":
description: Nội dung của tài liệu và chỉ số của đoạn đã được lấy gần nhất.
content:
application/json:
schema:
type: object
properties:
content:
type: string
description: Nội dung của tài liệu.
end_chunk:
type: integer
description: Chỉ số của đoạn đã được lấy gần nhất.
"404":
description: Tài liệu không tìm thấy.
"500":
description: Lỗi máy chủ nội bộ.
/common-knowledge/subscribed-list/:
get:
description: Hoạt động này lấy danh sách kiến thức chia sẻ (còn được gọi là kiến thức chung) mà người dùng đã đăng ký. Mỗi kiến thức chia sẻ bao gồm danh sách các ID tài liệu mà người dùng có thể truy cập.
operationId: common_knowledge_retrieve
responses:
"200":
description: Hoạt động thành công
content:
application/json:
schema:
type: array
items:
type: object
properties:
id:
type: integer
description: Đây là định danh duy nhất của kiến thức chia sẻ. Không hiển thị thông tin này ở bất kỳ đâu.
num_of_subscribers:
type: integer
description: Điều này chỉ ra số lượng người dùng đã đăng ký kiến thức chia sẻ này
publisher_name:
type: string
published_by_me:
type: boolean
description: Điều này chỉ ra liệu kiến thức chia sẻ có được xuất bản bởi người dùng hiện tại hay không
subscribed_by_me:
type: boolean
description: Điều này chỉ ra liệu kiến thức chia sẻ có được đăng ký bởi người dùng hiện tại hay không, nó nên là true trong API này
created:
type: string
description: Đây là thời gian khi kiến thức chia sẻ được tạo
modified:
type: string
description: Đây là thời gian khi kiến thức chia sẻ được sửa đổi lần cuối
name:
type: string
description: Đây là tên của kiến thức chia sẻ
image_url:
type: string
description: Đây là URL hình ảnh của kiến thức chia sẻ
description:
type: string
description: Đây là mô tả của kiến thức chia sẻ
memento:
type: integer
description: Đây là ID của memento Rememberizer mà từ đó kiến thức chia sẻ được tạo ra.
document_ids:
type: array
items:
type: integer
description: Đây là danh sách các ID tài liệu thuộc về kiến thức chia sẻ
/documents/memorize/:
post:
description: Lưu nội dung vào cơ sở dữ liệu, có thể được truy cập thông qua điểm cuối tìm kiếm sau này.
operationId: documents_memorize_create
requestBody:
content:
application/json:
schema:
type: object
properties:
content:
type: string
required:
- name
- content
responses:
"201":
description: Nội dung đã được lưu thành công
"400":
description: Yêu cầu không hợp lệ
"401":
description: Không được phép
"500":
description: Lỗi máy chủ nội bộ
/discussions/{discussion_id}/contents/:
get:
summary: Lấy nội dung của một cuộc thảo luận theo ID. Một cuộc thảo luận có thể là một cuộc trò chuyện trên Slack hoặc Discord.
operationId: discussion_get_content
description: Trả về nội dung của cuộc thảo luận với ID được chỉ định. Một cuộc thảo luận có thể là một cuộc trò chuyện trên Slack hoặc Discord. Phản hồi chứa 2 trường, discussion_content và thread_contents. Trường đầu tiên chứa các tin nhắn chính của cuộc trò chuyện, trong khi trường thứ hai là các chủ đề của cuộc thảo luận.
parameters:
- in: path
name: discussion_id
required: true
description: ID của cuộc thảo luận để lấy nội dung. Các cuộc thảo luận là
schema:
type: integer
- in: query
name: integration_type
required: true
schema:
type: string
description: Chỉ định tích hợp của cuộc thảo luận. Hiện tại, nó chỉ có thể là "slack" hoặc "discord".
- in: query
name: from
schema:
type: string
description: Chỉ định thời gian bắt đầu khi chúng tôi muốn lấy nội dung của cuộc thảo luận theo định dạng ISO 8601 tại GMT+0. Nếu không chỉ định, thời gian mặc định là bây giờ.
- in: query
name: to
schema:
type: string
description: Chỉ định thời gian kết thúc khi chúng tôi muốn lấy nội dung của cuộc thảo luận theo định dạng ISO 8601 tại GMT+0. Nếu không chỉ định, nó là 7 ngày trước tham số "from".
responses:
"200":
description: Các tin nhắn chính và theo chủ đề của cuộc thảo luận trong một khoảng thời gian.
content:
application/json:
schema:
type: object
properties:
discussion_content:
type: string
description: Nội dung của các cuộc thảo luận chính.
thread_contents:
type: object
description: Danh sách các từ điển chứa các chủ đề của cuộc thảo luận, mỗi khóa chỉ ra ngày và giờ của chủ đề theo định dạng ISO 8601 và giá trị là các tin nhắn của chủ đề.
"404":
description: Cuộc thảo luận không tìm thấy.
"500":
description: Lỗi máy chủ nội bộ.
Thêm liên kết này làm Chính sách Bảo mật: https://docs.rememberizer.ai/notices/privacy-policy
.
Sau khi tạo hành động, sao chép URL callback và dán vào ứng dụng Rememberizer của bạn.