إنشاء Rememberizer GPT

في هذا الدليل، ستتعلم كيفية إنشاء تطبيق Rememberizer والاتصال بـ OpenAI GPT، مما يسمح لـ GPT بالوصول إلى وظائف واجهة برمجة تطبيقات Rememberizer.

الشروط المسبقة

أولًا، يجب أن تُسجل تطبيق Rememberizer وتقوم بتكوينه بالإعدادات المناسبة.

لإنشاء GPT، ستحتاج إلى تعيين أصل الطلب المصرح به لتطبيقك Rememberizer على https://chat.openai.com.

يجب أن تضيف رابطًا للتراجع لتسجيل التطبيق ولكن يمكنك فقط العثور على رابط التراجع بعد إضافة إجراء إلى GPT خاصتك، للأن فقط اتركه كقيمة وهمية (مثل: https://chat.openai.com). بعد حصولك على رابط التراجع، ستحتاج إلى تحديث الرابط الصحيح للتطبيق. ملاحظة: GPTs تحديث رابط تراجعهم بعد تغيير تكوينهم. تأكد من نسخ أحدث رابط للتراجع.

بعد إنشاء التطبيق، انسخ رقم العميل (Client ID) و السر العميل (Client Secret). سنستخدمهم عند إنشاء GPT.

إنشاء GPT

يمكnك البدء بـإنشاء GPT في واجهة ChatGPT.

إعدادات GPT

يمكنك ملء المعلومات كما ترغب. فيما يلي مثال يمكنك تجربته:

الحقلقيمة المثال

الاسم

Rememberizer

الوصف

تحدث مباشرة مع جميع ملفات الـ pdf، docs، sheets، والـ slides على Google Drive وقنوات Slack.

التعليمات

تم تصميم Rememberizer للتفاعل بشكل متجانس مع أداة Rememberizer، مما يتيح للمستخدمين البحث بكفاءة عن بياناتهم من مصادر متعددة مثل Google Drive وSlack. الهدف الأساسي هو توفير وصول سريع ودقيق إلى بيانات المستخدم، مستغلاً قدرات Rememberizer لتحسين سرعة البحث ودقته. يجب أن يوجه GPT المستخدمين في صياغة استعلاماتهم وتفسير النتائج، مما يضمن تجربة سلسة ومريحة للمستخدم. من الضروري الحفاظ على الوضوح والدقة في الردود، خاصة عند التعامل مع استرداد وتحليل البيانات. يجب أن يكون GPT قادرًا على التعامل مع مجموعة واسعة من الاستعلامات، من البحث في البيانات البسيطة إلى البحث المعقد الذي يشمل عوامل متعددة أو مصادر. التركيز هو على تعزيز قدرة المستخدم على الوصول بسرعة وفعالية إلى المعلومات التي يحتاجها، مما يجعل العملية سهلة قدر الإمكان.

إنشاء إجراء Rememberizer

من محرر GPT:

  1. اختر "تكوين"

  2. "إضافة إجراء"

  3. تكوين نوع المصادقة.

    • قم بتعيين نوع المصادقة إلى OAuth.

    • الصق معرف العميل و سر العميل من الخطوات أعلاه.

    • عنوان URL للتفويض: https://api.rememberizer.ai/api/v1/auth/oauth2/authorize/

    • عنوان URL للتوكن: https://api.rememberizer.ai/api/v1/auth/oauth2/token/

    • اترك النطاق فارغًا.

    • انقر على حفظ.

  4. املأ مواصفات OpenAPI الخاصة بـ Rememberizer. انسخ المحتوى في القابل للتوسع أدناه والصقه في حقل المخطط:

Rememberizer_OpenAPI.yaml
openapi: 3.0.0
info:
  title: واجهة برمجة تطبيقات Rememberizer
  description: API للتفاعل مع Rememberizer.
  version: v1
servers:
  - url: "https://api.rememberizer.ai/api/v1"
paths:
  /account/:
    get:
      summary: استرجاع تفاصيل حساب المستخدم الحالي.
      description: احصل على معلومات الحساب
      operationId: account
      responses:
        "200":
          description: معلومات حساب المستخدم.
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: integer
                    description: المعرف الفريد للمستخدم. لا تعرض هذه المعلومات في أي مكان.
                  email:
                    type: string
                    format: email
                    description: عنوان البريد الإلكتروني للمستخدم.
                  name:
                    type: string
                    description: اسم المستخدم.

  /integrations/:
    get:
      summary: قائمة بجميع تكاملات مصادر البيانات المتاحة.
      description: تسترجع هذه العملية مصادر البيانات المتاحة.
      operationId: integrations_retrieve
      responses:
        "200":
          description: عملية ناجحة
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    description: قائمة بمصادر البيانات المتاحة
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: المعرف الفريد لمصدر البيانات. لا تعرض هذه المعلومات في أي مكان.
                        integration_type:
                          type: string
                          description: نوع مصدر البيانات.
                        integration_step:
                          type: string
                          description: خطوة التكامل.
                        source:
                          type: string
                          description: مصدر بيانات مصدر البيانات.
                        document_type:
                          type: string
                          description: نوع الوثيقة.
                        document_stats:
                          type: object
                          properties:
                            status:
                              type: object
                              description: حالة مصدر البيانات.
                              properties:
                                indexed:
                                  type: integer
                                  description: عدد الوثائق المفهرسة.
                                indexing:
                                  type: integer
                                  description: عدد الوثائق التي يتم فهرستها.
                                error:
                                  type: integer
                                  description: عدد الوثائق التي تحتوي على أخطاء.
                            total_size:
                              type: integer
                              description: الحجم الإجمالي لمصدر البيانات بالبايت.
                            document_count:
                              type: integer
                              description: عدد الوثائق في مصدر البيانات.
                  message:
                    type: string
                    description: رسالة تشير إلى حالة العملية.
                  code:
                    type: string
                    description: رمز يشير إلى حالة العملية.
  /documents/:
    get:
      summary: استرجاع قائمة بجميع الوثائق وقنوات Slack.
      description: استخدم هذه العملية لاسترجاع بيانات التعريف حول جميع الوثائق المتاحة وقنوات Slack ضمن مصادر البيانات.
      operationId: documents_list_file_and_channel
      parameters:
        - in: query
          name: page
          description: فهرس الصفحة
          schema:
            type: integer
        - in: query
          name: page_size
          description: العدد الأقصى من الوثائق التي تعاد في صفحة
          schema:
            type: integer
        - in: query
          name: integration_type
          description: تصفية الوثائق حسب نوع التكامل.
          schema:
            type: string
            enum: [google_drive, slack, dropbox, common_knowledge]
      responses:
        "200":
          description: عملية ناجحة
          content:
            application/json:
              schema:
                type: object
                properties:
                  count:
                    type: integer
                    description: العدد الإجمالي للوثائق.
                  next:
                    type: string
                    nullable: true
                    description: عنوان URL للصفحة التالية من النتائج.
                  previous:
                    type: string
                    nullable: true
                    description: عنوان URL للصفحة السابقة من النتائج.
                  results:
                    type: array
                    description: قائمة الوثائق، قنوات Slack، المعرفة العامة، إلخ.
                    items:
                      type: object
                      properties:
                        document_id:
                          type: string
                          format: uuid
                          description: المعرف الفريد للوثيقة. لا تعرض هذه المعلومات في أي مكان.
                        name:
                          type: string
                          description: اسم الوثيقة.
                        type:
                          type: string
                          description: نوع الوثيقة.
                        path:
                          type: string
                          description: مسار الوثيقة.
                        url:
                          type: string
                          description: عنوان URL للوثيقة.
                        id:
                          type: integer
                          description: المعرف الفريد للوثيقة.
                        integration_type:
                          type: string
                          description: نوع تكامل الوثيقة.
                        source:
                          type: string
                          description: مصدر الوثيقة.
                        status:
                          type: string
                          description: حالة الوثيقة.
                        indexed_on:
                          type: string
                          format: date-time
                          description: التاريخ والوقت الذي تم فيه فهرسة الوثيقة.
                        size:
                          type: integer
                          description: حجم الوثيقة بالبايت.
  /documents/search/:
    get:
      summary: البحث عن الوثائق حسب التشابه الدلالي.
      description: بدء عملية بحث بنص استعلام يصل إلى 400 كلمة واستلام أكثر الردود مشابهة دلاليًا من المعرفة المخزنة. للحصول على الإجابات، قم بتحويل سؤالك إلى إجابة مثالية وقدمها لتلقي إجابات حقيقية مشابهة.
      operationId: documents_search_retrieve
      parameters:
        - name: q
          in: query
          description: جملة تصل إلى 400 كلمة تريد العثور على أجزاء مشابهة دلاليًا منها.
          schema:
            type: string
        - name: n
          in: query
          description: عدد الأجزاء النصية المشابهة دلاليًا التي سيتم إرجاعها. استخدم 'n=3' لما يصل إلى 5، و 'n=10' لمزيد من المعلومات. إذا لم تتلق ما يكفي من المعلومات، فكر في المحاولة مرة أخرى بقيمة 'n' أكبر.
          schema:
            type: integer
      responses:
        "200":
          description: استرجاع ناجح للوثائق
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    description: قائمة بالأجزاء المعرفة الدلالية المشابهة
                    items:
                      type: object
                      properties:
                        chunk_id:
                          type: string
                          description: المعرف الفريد للجزء.
                        document:
                          type: object
                          description: تفاصيل الوثيقة.
                          properties:
                            id:
                              type: integer
                              description: المعرف الفريد للوثيقة.
                            document_id:
                              type: string
                              description: المعرف الفريد للوثيقة.
                            name:
                              type: string
                              description: اسم الوثيقة.
                            type:
                              type: string
                              description: نوع الوثيقة.
                            path:
                              type: string
                              description: مسار الوثيقة.
                            url:
                              type: string
                              description: عنوان URL للوثيقة.
                            size:
                              type: string
                              description: حجم الوثيقة.
                            created_time:
                              type: string
                              description: التاريخ والوقت الذي تم فيه إنشاء الوثيقة.
                            modified_time:
                              type: string
                              description: التاريخ والوقت الذي تم فيه آخر تعديل للوثيقة.
                            integration:
                              type: object
                              description: تفاصيل تكامل الوثيقة.
                              properties:
                                id:
                                  type: integer
                                integration_type:
                                  type: string
                                integration_step:
                                  type: string
                                source:
                                  type: string
                                document_stats:
                                  type: object
                                  properties:
                                    status:
                                      type: object
                                      properties:
                                        indexed:
                                          type: integer
                                        indexing:
                                          type: integer
                                        error:
                                          type: integer
                                    total_size:
                                      type: integer
                                      description: الحجم الإجمالي لمصدر البيانات بالبايت
                                    document_count:
                                      type: integer
                        matched_content:
                          type: string
                          description: المحتوى الدلالي المشابه.
                        distance:
                          type: number
                          description: التشابه الكوسيني
                  message:
                    type: string
                    description: رسالة تشير إلى حالة العملية.
                  code:
                    type: string
                    description: رمز يشير إلى حالة العملية.
                    nullable: true
        "400":
          description: طلب غير صالح
        "401":
          description: غير مصرح
        "500":
          description: خطأ في خادم داخلي
  /documents/{document_id}/contents/:
    get:
      summary: استرجاع محتويات وثيقة محددة حسب المعرف.
      operationId: document_get_content
      description: يعيد محتوى الوثيقة ذات المعرف المحدد، مع فهرس آخر جزء مسترجع. تستخرج كل مكالمة ما يصل إلى 20 جزءًا. لطلب المزيد، استخدم قيمة end_chunk من الاستجابة كـ start_chunk للمكالمة التالية.
      parameters:
        - in: path
          name: document_id
          required: true
          description: المعرف الخاص بالوثيقة التي تريد استرجاع محتوياتها.
          schema:
            type: integer
        - in: query
          name: start_chunk
          schema:
            type: integer
          description: تحديد الجزء الذي تريد استرجاعه. إذا لم يتم تحديده، تكون القيمة الافتراضية 0.
        - in: query
          name: end_chunk
          schema:
            type: integer
          description: تحديد الجزء الذي تريد استرجاعه. إذا لم يتم تحديده، تكون القيمة الافتراضية start_chunk + 20.
      responses:
        "200":
          description: محتوى الوثيقة وفهرس آخر جزء مسترجع.
          content:
            application/json:
              schema:
                type: object
                properties:
                  content:
                    type: string
                    description: محتوى الوثيقة.
                  end_chunk:
                    type: integer
                    description: فهرس آخر جزء مسترجع.
        "404":
          description: الوثيقة غير موجودة.
        "500":
          description: خطأ في خادم داخلي.
  /common-knowledge/subscribed-list/:
    get:
      description: تسترجع هذه العملية قائمة المعارف المشتركة (المعروفة أيضًا باسم المعرفة العامة) التي اشترك فيها المستخدم. تشمل كل معرفة مشتركة قائمة بمعرفات الوثائق التي يمكن للمستخدم الوصول إليها.
      operationId: common_knowledge_retrieve
      responses:
        "200":
          description: عملية ناجحة
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    id:
                      type: integer
                      description: هذا هو المعرف الفريد للمعرفة المشتركة. لا تعرض هذه المعلومات في أي مكان.
                    num_of_subscribers:
                      type: integer
                      description: يشير هذا إلى عدد المستخدمين الذين اشتركوا في هذه المعرفة المشتركة
                    publisher_name:
                      type: string
                    published_by_me:
                      type: boolean
                      description: يشير هذا إلى ما إذا كانت المعرفة المشتركة منشورة من قبل المستخدم الحالي أم لا
                    subscribed_by_me:
                      type: boolean
                      description: يشير هذا إلى ما إذا كانت المعرفة المشتركة مشترك فيها من قبل المستخدم الحالي أم لا، يجب أن تكون القيمة true في هذه واجهة برمجة التطبيقات
                    created:
                      type: string
                      description: هذا هو الوقت الذي تم فيه إنشاء المعرفة المشتركة
                    modified:
                      type: string
                      description: هذا هو الوقت الذي تم فيه آخر تعديل للمعرفة المشتركة
                    name:
                      type: string
                      description: هذا هو اسم المعرفة المشتركة
                    image_url:
                      type: string
                      description: هذه هي صورة المعرفة المشتركة
                    description:
                      type: string
                      description: هذا هو وصف المعرفة المشتركة
                    memento:
                      type: integer
                      description: هذا هو المعرف لمشط ميمورايزر حيث أن المعرفة المشتركة أنشئت منه.
                    document_ids:
                      type: array
                      items:
                        type: integer
                      description: هذه هي قائمة بمعرفات الوثائق التي تنتمي إلى المعرفة المشتركة
  /documents/memorize/:
    post:
      description: قم بتخزين المحتوى في قاعدة البيانات، التي يمكن الوصول إليها لاحقًا عبر نقطة نهاية البحث.
      operationId: documents_memorize_create
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                content:
                  type: string
              required:
                - name
                - content
      responses:
        "201":
          description: تم تخزين المحتوى بنجاح
        "400":
          description: طلب غير صالح
        "401":
          description: غير مصرح
        "500":
          description: خطأ في خادم داخلي
  1. أضف هذا الرابط كسياسة الخصوصية: https://docs.rememberizer.ai/notices/privacy-policy.

  2. بعد إنشاء الإجراء، انسخ عنوان URL الخاص بالرد والصقه في تطبيق Rememberizer الخاص بك.

Last updated