SpeakGPT هو مساعد AI متقدم وسهل الاستخدام ومفتوح المصدر يستخدم تقنيات OpenAI القوية لتزويدك بأداء ووظائف لا مثيل لها.
هذا هو إصدار سطح المكتب من SpeakGPT تم إنشاؤه باستخدام ReactJS وGoogle Material Design 3.
ملحوظة
هذا المشروع هو جزء من رسالة البكالوريوس الخاصة بي. مطلوب الإسناد لاستخدام هذا العمل. حقوق الطبع والنشر (ج) 2023-2024 دميترو أوستابينكو. جميع الحقوق محفوظة.
استشهد باسم: Dmytro Ostapenko (2024)، "مراجعة أتمتة البرنامج باستخدام خدمات مساعد الطيار" أطروحة بكالوريوس، جامعة كوشيتسه التقنية، 2024.
إطلاق موقع SpeakGPT: https://assistant.teslasoft.org/
عرض SpeakGPT لنظام Android: https://github.com/AndraxDev/speak-gpt.
يمكنك تضمين SpeakGPT في موقع الويب الخاص بك أو تطبيقك. فقط استخدم الكود التالي:
< style >
/* Can be customized depending on your needs */
.assistant-embedded {
width: 500px;
height: calc(100vh - 128px);
background-color: rgba(50, 50, 50, 0.4);
position: fixed;
right: 24px;
top: 100px;
z-index: 100000;
border-radius: 48px;
}
.assistant-iframe {
width: 100%;
height: 100%;
border: none;
background-color: transparent;
}
</ style >
...
< div class =" assistant-embedded " id =" speakgpt " style =" display: none; " >
< iframe src =" https://assistant.teslasoft.org/embedded " class =" assistant-iframe " > </ iframe >
</ div >
...
< script >
function switchAssistant ( ) {
if ( localStorage . getItem ( "assistantOpened" ) === "true" ) {
document . getElementById ( "speakgpt" ) . style . display = "none" ;
localStorage . setItem ( "assistantOpened" , "false" )
} else {
document . getElementById ( "speakgpt" ) . style . display = "block" ;
localStorage . setItem ( "assistantOpened" , "true" )
}
}
function loadAssistant ( ) {
if ( localStorage . getItem ( "assistantOpened" ) === "true" ) {
document . getElementById ( "speakgpt" ) . style . display = "block" ;
} else {
document . getElementById ( "speakgpt" ) . style . display = "none" ;
}
}
loadAssistant ( ) ;
</ script >
رد الفعل التنفيذ:
import React , { useState } from "react" ;
function MyComponent ( ) {
const [ assistantIsOpened , setAssistantIsOpened ] = useState ( false ) ;
return (
< div >
< button className = { "btn" } onClick = { ( ) => {
if ( assistantIsOpened ) {
setAssistantIsOpened ( false ) ;
} else {
setAssistantIsOpened ( true ) ;
}
} } > { assistantIsOpened ? "Close Assistant" : "Open Assistant" }
< / button >
{
assistantIsOpened ? < div className = { "assistant-embedded" } >
< iframe src = { "https://assistant.teslasoft.org/embedded" } className = { "assistant-iframe" } title = { "SpeakGPT" } / >
< / div > : null
}
< / div >
) ;
}
export default MyComponent ;
يمكن تخصيص المساعد بحمولة. الحمولة عبارة عن سلسلة JSON مشفرة بالأساس 64 تحتوي على معلمات. تأتي الحمولة بعد /embedded/ في عنوان URL. مثال:
< iframe src =" https://assistant.teslasoft.org/embedded?payload=eyJuYW1lIjoiRXhhbXBsZSBDaGF0IiwiaW5pdGlhbE1lc3NhZ2UiOiJIZWxsbywgaG93IGFyZSB5b3U%2FIiwiaW5pdGlhbFJlc3BvbnNlIjoiSSdtIGZpbmUsIHRoYW5rIHlvdS4iLCJzeXN0ZW1NZXNzYWdlIjoiVGhpcyBpcyBhbiBleGFtcGxlIGNoYXQuIFBsZWFzZSBiZSBwb2xpdGUuIiwiY2hhdExvY2F0aW9uIjoiZXhhbXBsZUNoYXQifQ%3D%3D " > </ iframe >
لكي يعمل المساعد بشكل صحيح، يجب أن يقوم عنوان URL بتشفير حمولتك.
let encodedPayload = encodeURIComponent ( btoa ( json ) ) ;
مثال على الحمولة:
{
"name" : " Example Chat " ,
"icon" : " https://example.com/icon.png " ,
"description" : " This assistant can provide you with relevant responses based on ... " ,
"initialMessage" : " Hello, how are you? " ,
"initialResponse" : " I'm fine, thank you. " ,
"systemMessage" : " This is an example chat. Please be polite. " ,
"chatLocation" : " exampleLocation "
}
name
- الاسم الذي سيتم عرضه أعلى نافذة المساعدicon
- عنوان URL للأيقونة التي سيتم عرضها أعلى نافذة المساعد عندما تكون المحادثة فارغةdescription
- الوصف الذي سيتم عرضه أعلى نافذة المساعد عندما تكون المحادثة فارغة. يدعم HTMLinitialMessage
- الرسالة التي سيتم إرسالها إلى المساعد عند تحميلهاinitialResponse
- استجابة المساعد لجعل المحادثة تعمل بشكل صحيحsystemMessage
- رسالة تحتوي على محتوى إضافي لا يظهر في الدردشة ويتم إلحاقه بنهاية سجل الدردشة.chatLocation
- موقع الدردشة في قاعدة البيانات المفهرسة، لا تستخدم مسافات بيضاء أو أحرف خاصةسيتم إضافة المزيد من المعلمات في المستقبل.
يستخدم SpeakGPT OpenAI API لتزويدك بأفضل تجربة. يعد استخدام مفاتيح API أكثر أمانًا من استخدام اسم المستخدم/كلمة المرور الخاصة بك. لا يمكن الحصول على معلوماتك الشخصية باستخدام مفتاح API. توفر OpenAI وصولاً رخيصًا لواجهة برمجة التطبيقات (API) إلى خدماتها. يتم تخزين مفتاح API الخاص بك محليًا على جهازك ولا تتم مشاركته مع أي شخص. لا يقوم SpeakGPT بجمع أي بيانات شخصية. SpeakGPT مفتوح المصدر ويمكنك التحقق من الكود بنفسك. يتم فحص كل إصدار من SpeakGPT على VirusTotal. إذا كانت لديك أية مخاوف، فيمكنك تأمين إما إلغاء مفتاح API الخاص بك أو استخدام مفتاح API منفصل لـ SpeakGPT.
لتأمين مفتاح API الخاص بك، قم بتنفيذ الخطوات التالية:
لماذا نقوم بتشويش الكود الخاص بنا في إصدارات الإنتاج؟
يتيح لنا التشويش وتقليص الموارد تحسين حجم التطبيق وأدائه وتأمينه ضد الهندسة العكسية أو العبث والتأكد من أن بيانات الاعتماد الخاصة بك مثل مفاتيح واجهة برمجة التطبيقات في مكان آمن. يمكنك طلب إنشاء غير غامض أو تجميعه بنفسك للتأكد من أن تطبيقنا آمن.
هوية المطور
اسم المطور: دميترو أوستابينكو (AndraxDev)
جهة الاتصال: [email protected]، +421951829517
العنوان القانوني: Južná Trya 4B, 04001 Košice, Slovakia 04001
معرف الكيان القانوني: 55545386
Copyright (c) 2023-2024 Dmytro Ostapenko. All rights reserved.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.