Hugin er en KI-tjeneste utviklet av og for Telemark og Vestfold fylkeskommune. Tjenesten tilbyr tilgang til ulike språkmodeller og KI-verktøy gjennom webapplikasjon. Deler av tjenesten er under aktiv utvikling så feil kan forekomme. Søstertjenesten Munin lever på GitHub-sidene til Vestfold fylkeskommune.
Hugin er en webbasert frontend-applikasjon bygget med SvelteKit som fungerer som et grensesnitt til ulike KI-tjenester. Prosjektet er designet for å gi ansatte i Telemark og Vestfold fylkeskommune enkel tilgang til kraftige KI-verktøy.
Hovedfunksjonen i Hugin som tilbyr:
Eksperimentelt område for:
Klon repositoriet
git clone https://github.com/TFK/hugin-svelte-web.git
cd hugin-svelte-web
Installer avhengigheter
npm install
Konfigurer miljøvariabler
cp env_example .env
Rediger .env
-filen og legg til nødvendige API-nøkler og konfigurasjoner:
VITE_AI_API_URI=din_backend_url
VITE_CLIENT_ID=din_azure_client_id
VITE_TENANT_ID=din_azure_tenant_id
.... osv
Start utviklingsserveren
npm run dev
Åpne applikasjonen
Gå til http://localhost:5173
i nettleseren din og ha det gøy!
npm run build
npm run preview
npm run dev # Start utviklingsserver
Prosjektet bruker:
hugin-svelte-web/
├── src/
│ ├── lib/
│ │ ├── components/ # Gjenbrukbare Svelte-komponenter
│ │ ├── services/ # API-tjenester og integrasjoner
│ │ ├── data/ # Datamodeller og konfigurasjoner
│ │ ├── helpers/ # Hjelpefunksjoner
│ │ ├── auth/ # Autentiseringslogikk
│ │ └── images/ # Statiske bilder
│ ├── routes/ # SvelteKit-ruter og sider
│ ├── app.html # HTML-mal
│ └── app.css # Globale stiler
├── static/ # Statiske filer
├── package.json # Prosjektavhengigheter
├── svelte.config.js # Svelte-konfigurasjon
├── vite.config.js # Vite-konfigurasjon
└── README.md # Denne filen
/src/lib/components/
ChatBlobs.svelte
- ChatmeldingsvisningCardButton.svelte
- HovednavigasjonskortModal.svelte
- Modalvindu-komponentModelInfo.svelte
- ModellinformasjonIconSpinner.svelte
- Lasteindikatorer/src/lib/services/
openAiTools.js
- OpenAI API-integrasjonmistralTools.js
- Mistral AI-integrasjonhuggingFaceTools.js
- Hugging Face-tjenesteropenaiToolsLabs.js
- Eksperimentelle OpenAI-funksjoner/src/lib/data/
models.js
- Konfigurasjon av tilgjengelige KI-modellerimport { responseOpenAI } from '$lib/services/openAiTools.js';
const response = await responseOpenAI({
message: 'Din melding',
kontekst: 'Kontekst for samtalen',
temperatur: 0.7,
model: 'gpt-4o'
});
import { multimodalMistral } from '$lib/services/mistralTools.js';
const response = await multimodalMistral({
message: 'Beskriv dette bildet',
base64String: imageBase64,
model: 'pixtral-large-latest'
});
import { testStructured } from '$lib/services/openaiToolsLabs.js';
const response = await testStructured({
message: 'Generer superheltinfo',
messageHistory: [],
kontekst: 'Superhelt-kontekst'
});
Alle API-kall går gjennom Azure Functions som fungerer som mellomlag:
Prosjektet bruker MSAL for sikker pålogging:
import { msalAuth } from '$lib/auth/msal-auth.js';
// Logg inn
await msalAuth.loginPopup();
// Hent tilgangstoken
const token = await msalAuth.acquireTokenSilent();
import { checkRoles } from '$lib/helpers/checkRoles.js';
const hasAccess = checkRoles(userRoles, requiredRoles);
Vi ønsker bidrag fra utviklere! Følg disse retningslinjene:
git checkout -b feature/din-nye-funksjon
git commit -m "Legg til: ny chat-funksjonalitet"
git push origin feature/din-nye-funksjon
Dette prosjektet er lisensiert under MIT-lisensen. Se LICENSE filen for detaljer.
For spørsmål eller støtte, kontakt utviklingsteamet i Telemark og/eller Vestfold fylkeskommune.
Utviklet med ❤️ av Telemark og Vestfold fylkeskommune