mi-ai ist ein chatgpt-Open-Source-Projekt, das Funktionen wie Chatten, Fragen und Antworten, das Schreiben von Code, das Schreiben von Artikeln und das Erledigen von Hausaufgaben unterstützt.

Die Projektstruktur ist angemessen, der Code ist elegant geschrieben und die Bereitstellung ist einfach und schnell. Die Front-End- und Back-End-Codes sind vollständig Open Source, sodass sie sowohl zum Selbstlernen als auch zur kommerziellen Nutzung geeignet sind.

Dieses Projekt unterstützt jetzt ChatGPT-Chat-KI und Einbettungsmodell-Trainingsdialoge.

Das Projekt ist Open Source unter der MIT-Lizenz, sodass Sie problemlos eine Sekundärentwicklung durchführen und es für kommerzielle Zwecke nutzen können.

imi-ai: imi-ai ist ein ChatGPT-Open-Source-Projekt basierend auf PHP+Swoole+Vue, das einfach und schnell bereitgestellt werden kann.

Demo

Adresse der Wohlfahrtsdemonstration:https://ai.imiphp.com/ (Registrieren Sie sich, um ein kostenloses Kontingent zu erhalten, und Sie können für gpt-4, gpt-3.5-turbo-16k bezahlen)

Demo

Demo

Demo

Technologie-Stack

Das Backend basiert auf imi (PHP+Swoole)

Das Frontend basiert auf Chanzhaoyu/chatgpt-web (TypeScript+Vue3+Vite3+NaiveUI)

Der Hintergrund basiert auf honghuangdc/soybean-admin (TypeScript+Vue3+Vite3+NaiveUI)

Funktionsliste

Benutzer

  • E-Mail-Registrierung und Anmeldung des Benutzers
  • Registrierung und Anmeldung der Mobiltelefonnummer des Benutzers
  • WeChat-Login (PC/offizielles Konto/Miniprogramm)

Chat-KI

  • ChatGPT Chat AI (OpenAI)
  • Support-Einstellungsaufforderungen (Eingabeaufforderung)
  • Unterstützt die Anpassung der Modellparameter
  • Serverseitiger Multisitzungsspeicher und kontextbezogene Logik
  • Rendering-Code-Hervorhebung
  • Rendern von LaTeX-Formeln
  • Nachricht im lokalen Bild speichern
  • Prompt Word Model Store
  • Unterstützt Strombegrenzung

Modelltraining

  • OpenAI-Modelltraining mit mehreren Dateien (komprimiert).
  • OpenAI-Einzeldateimodelltraining
  • Chat-KI beantwortet Fragen (kann in Szenarien wie der Beantwortung von Fragen und dem Kundendienst verwendet werden)
  • Suchmaschine zum Auffinden von Dateien
  • Unterstützt das Dekomprimieren von Dateien (zip, rar, 7z, xz, gz, bz, tar.*)
  • Unterstützt das Parsen von TXT-Dateien
  • Unterstützt das Parsen von MD-Dateien
  • Unterstützt das Parsen von DOCX-Dateien
  • Unterstützt das Parsen von PDF-Dateien
  • Die Nachrichtenwarteschlange verarbeitet Trainingsaufgaben asynchron
  • Konversationslimit unterstützen
Siehe auch  Tony Khan testete ChatGPT, indem er es bat, eine Wrestling-Show mit zehn Segmenten zu schreiben

KI-generierte Bilder

  • OpenAI-Bildgenerierung
  • Bilderzeugung während der Fahrt

Rechnungssystem

  • Token-Abrechnungssystem (Karte)
  • Online-Zahlungskaufkarte (Schnittstellenschicht)
  • WeChat-Bezahlung
  • Bezahlen Sie mit Ali-Pay
  • Geben Sie zur Aktivierung die Kartennummer ein

Unterstützte Modellhersteller

andere

  • Designdokumentation
  • Schnittstellendokumentation
  • Docker-Unterstützung
  • Videoanleitung

Weitere Funktionen sind geplant…

Das Projekt befindet sich in kontinuierlicher Iteration und jeder ist willkommen, Code beizusteuern.

Installieren

Server

Inhaltsverzeichnis:server

Umweltanforderungen:

  • linux/MacOS, mindestens 1 GB verfügbarer Speicher

  • PHP >= 8.1 (Erweiterungen: curl, gd, mbstring, pdo_mysql, redis, swoole)

  • Swoole >= v5.0.3 (muss aktiviert sein --enable-openssl --enable-swoole-curl Kompilierung und Modelltraining müssen aktiviert sein –enable-swoole-pgsql zusammengestellt)

Es wird empfohlen, swoole-cli direkt zu verwenden, das unter zu finden ist Swoole-Release-Download

  • MySQL >= 8.0.17

  • Redis

  • PostgreSQL + pgvector (Optional, zur Verwendung des Modelltrainings erforderlich. Sie müssen Erweiterungen für die Projektdatenbank aktivieren CREATE EXTENSION vector;

  • 7-Zip, optional, aber für das Modelltraining erforderlich, wird zum Dekomprimieren von Dateien verwendet.herunterladen und wird 7zz / 7zzs Entpacken nach /usr/bin/7z oder /usr/local/bin/7z Inhaltsverzeichnis

  • Pandoc kann optional das Training des DocX-Dateimodells nach der Installation unterstützen.herunterladen

  • Die optionalen Poppler-Utils können nach der Installation das Training von PDF-Dateimodellen unterstützen.

Installieren:

# Debian/Ubuntu
apt install poppler-utils
# CentOS
yum install poppler-utils
# Alpine
apk add poppler-utils

Abhängigkeiten installieren:

composer update

Zertifikat generieren:

Eine JWT-Signatur ist erforderlich und Sie müssen Ihr eigenes Zertifikat erstellen!

cd server/resource/jwt
openssl genrsa -out pri_key.pem 2048
openssl rsa -in pri_key.pem -pubout -out pub_key.pem
openssl genrsa -out admin_pri_key.pem 2048
openssl rsa -in admin_pri_key.pem -pubout -out admin_pub_key.pem

Konfigurationsdatei:

Kopieren .env.tpl umbenennen in .env dokumentieren.

Ändern Sie die entsprechende Konfiguration entsprechend den Kommentaren in der Datei.

Anwendungskonfiguration:

Backend-Systemverwaltung-Systemeinstellungen

MySQL importieren:

Zuerst erstellen db_imi_ai Bei Verwendung eines anderen Namens muss die Datenbank vorhanden sein .env Mitte der Modifikation.

Siehe auch  Möchten Sie Ihr eigenes ChatGPT erstellen?Apple eröffnet jeden Monat mehr als 40 Stellenangebote | TechNews Technology New Report

Führen Sie den Befehl aus, um eine Tabellenstruktur zu generieren:

vendor/bin/imi-swoole generate/table

PostgreSQL importieren:

Zuerst erstellen db_imi_ai Bei Verwendung eines anderen Namens muss die Datenbank vorhanden sein .env Mitte der Modifikation.

für db_imi_ai Oder aktivieren Sie die von Ihnen verwendete Datenbank pgvector Erweiterungen:

CREATE EXTENSION vector;

importieren pgsql.sql Datei, Tabelle erstellen.

Wenn Sie die Modelltrainingsfunktion nicht verwenden, müssen Sie PostgreSQL nicht konfigurieren.

Führen Sie den Dienst aus:

vendor/bin/imi-swoole swoole/start

Produktionsumfeld:

bearbeiten .env dokumentieren.

Erforderliche Einstellungen:

# 生产环境禁用热更新
@app.beans.hotUpdate.status=0
# 生产环境禁用调试
APP_DEBUG=false

Konfigurieren Sie weitere Einstellungen entsprechend Ihren eigenen Bedürfnissen.

Kunde H5

Inhaltsverzeichnis:web

Umweltanforderungen:

node brauchen ^16 || ^18 || ^19 Ausführung(node >= 14 Erfordert eine Installation Polyfill abrufen),verwenden nvm Kann mehrere lokale verwalten node Ausführung

node -v

Abhängigkeiten installieren:

npm install

Sie können auch Garn, PNPM usw. verwenden.

Aufbau:

Kopieren .env.tpl umbenennen in .env dokumentieren.

bearbeiten .env dokumentieren.

Entwicklung und Debugging:

npm run dev

Produktionsumfeld:

kompilieren
npm run build-only

npm run build Es ist auch möglich, aber es wird eine Typprüfung durchgeführt und nicht standardmäßiger Code besteht die Kompilierung nicht.

Kompilierungsergebnis

Alle Dateien sind drin dist Verzeichnis, interne Dateien werden im Site-Stammverzeichnis abgelegt.

Managementhintergrund

Inhaltsverzeichnis:admin

Umweltanforderungen:

node brauchen ^16 || ^18 || ^19 Ausführung(node >= 14 Erfordert eine Installation Polyfill abrufen),verwenden nvm Kann mehrere lokale verwalten node Ausführung

node -v

Abhängigkeiten installieren:

npm install

Sie können auch Garn, PNPM usw. verwenden.

Aufbau:

Kopieren .env.tpl umbenennen in .env dokumentieren.

bearbeiten .env dokumentieren.

  • VITE_API_URLServerschnittstellenadresse, wie zum Beispiel:http://127.0.0.1:12333

Entwicklung und Debugging:

npm run dev

Produktionsumfeld:

kompilieren
npm run build

npm run build Es ist auch möglich, aber es wird eine Typprüfung durchgeführt und nicht standardmäßiger Code besteht die Kompilierung nicht.

Kompilierungsergebnis

Alle Dateien sind drin dist Verzeichnis, interne Dateien werden im Site-Stammverzeichnis abgelegt.

Siehe auch  ChatGPT-Updates wecken Neugier und Vorsicht – The Vector
Anzeige

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein