-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'main' of https://github.com/aidotse/Effektiv-Administra…
- Loading branch information
Showing
42 changed files
with
1,012 additions
and
259 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1,4 @@ | ||
__pycache__/ | ||
__pycache__/ | ||
|
||
src/credentials.json | ||
src/token.json |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,18 @@ | ||
torch | ||
fairscale | ||
fire | ||
sentencepiece | ||
transformers | ||
accelerate | ||
chromadb | ||
rich | ||
watchdog | ||
pypandoc | ||
pypandoc_binary | ||
nltk | ||
langchain | ||
flask | ||
flask-cors | ||
sentence-transformers | ||
google-auth | ||
google-auth-oauthlib | ||
google-api-python-client | ||
tqdm | ||
markdown |
Binary file removed
BIN
-1.6 MB
src/chroma_storage/971923c9-a962-4b49-9973-20e1125c66c3/data_level0.bin
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file added
BIN
+1.6 MB
src/chroma_storage/d99d339e-cf80-4412-ac9f-80a2a2a28aa5/data_level0.bin
Binary file not shown.
File renamed without changes.
Binary file not shown.
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,49 @@ | ||
{\rtf1\ansi\ansicpg1252\cocoartf2758 | ||
\cocoatextscaling0\cocoaplatform0{\fonttbl\f0\fnil\fcharset0 .SFNS-Regular_wdth_opsz110000_GRAD_wght2580000;\f1\fnil\fcharset0 HelveticaNeue;} | ||
{\colortbl;\red255\green255\blue255;\red42\green49\blue64;} | ||
{\*\expandedcolortbl;;\cssrgb\c21569\c25490\c31765;} | ||
{\*\listtable{\list\listtemplateid1\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{disc\}}{\leveltext\leveltemplateid1\'01\uc0\u8226 ;}{\levelnumbers;}\fi-360\li720\lin720 }{\listname ;}\listid1} | ||
{\list\listtemplateid2\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{disc\}}{\leveltext\leveltemplateid101\'01\uc0\u8226 ;}{\levelnumbers;}\fi-360\li720\lin720 }{\listname ;}\listid2} | ||
{\list\listtemplateid3\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{disc\}}{\leveltext\leveltemplateid201\'01\uc0\u8226 ;}{\levelnumbers;}\fi-360\li720\lin720 }{\listname ;}\listid3} | ||
{\list\listtemplateid4\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{disc\}}{\leveltext\leveltemplateid301\'01\uc0\u8226 ;}{\levelnumbers;}\fi-360\li720\lin720 }{\listname ;}\listid4} | ||
{\list\listtemplateid5\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{disc\}}{\leveltext\leveltemplateid401\'01\uc0\u8226 ;}{\levelnumbers;}\fi-360\li720\lin720 }{\listname ;}\listid5}} | ||
{\*\listoverridetable{\listoverride\listid1\listoverridecount0\ls1}{\listoverride\listid2\listoverridecount0\ls2}{\listoverride\listid3\listoverridecount0\ls3}{\listoverride\listid4\listoverridecount0\ls4}{\listoverride\listid5\listoverridecount0\ls5}} | ||
\paperw11900\paperh16840\margl1440\margr1440\vieww11520\viewh8400\viewkind0 | ||
\deftab720 | ||
\pard\pardeftab720\sa400\partightenfactor0 | ||
|
||
\f0\b\fs32 \cf2 \expnd0\expndtw0\kerning0 | ||
\outl0\strokewidth0 \strokec2 Titel: | ||
\f1\b0 Automatiserat Kundsupportsystem\ | ||
|
||
\f0\b M\'e5l: | ||
\f1\b0 M\'e5let med detta projekt \'e4r att utveckla ett automatiserat kundsupportsystem som f\'f6rb\'e4ttrar effektiviteten f\'f6r hantering av kundf\'f6rfr\'e5gningar och \'f6kar den \'f6vergripande kundn\'f6jdheten.\ | ||
|
||
\f0\b Omfattning: | ||
\f1\b0 Projektet kommer att innefatta integrering av naturlig spr\'e5kbehandling (NLP)-algoritmer f\'f6r att analysera kundf\'f6rfr\'e5gningar, en AI-driven chattrobot f\'f6r omedelbara svar och en anv\'e4ndarv\'e4nlig instrumentpanel f\'f6r \'f6vervakning och hantering av kundinteraktioner.\ | ||
|
||
\f0\b Tidslinje: | ||
\f1\b0 Projektet f\'f6rv\'e4ntas vara slutf\'f6rt inom sex m\'e5nader, med viktiga delm\'e5l och leveranser som beskrivs i den bifogade projektplanen.\ | ||
|
||
\f0\b Projektteam: | ||
\f1\b0 \ | ||
\pard\tx220\tx720\pardeftab720\li720\fi-720\partightenfactor0 | ||
\ls1\ilvl0\cf2 \kerning1\expnd0\expndtw0 \outl0\strokewidth0 {\listtext \uc0\u8226 }\expnd0\expndtw0\kerning0 | ||
\outl0\strokewidth0 \strokec2 Projektledare: Johan Svensson\ | ||
\pard\tx220\tx720\pardeftab720\li720\fi-720\partightenfactor0 | ||
\ls2\ilvl0\cf2 \kerning1\expnd0\expndtw0 \outl0\strokewidth0 {\listtext \uc0\u8226 }\expnd0\expndtw0\kerning0 | ||
\outl0\strokewidth0 \strokec2 Ledande utvecklare: Emma Andersson\ | ||
\pard\tx220\tx720\pardeftab720\li720\fi-720\partightenfactor0 | ||
\ls3\ilvl0\cf2 \kerning1\expnd0\expndtw0 \outl0\strokewidth0 {\listtext \uc0\u8226 }\expnd0\expndtw0\kerning0 | ||
\outl0\strokewidth0 \strokec2 UX/UI-designer: Mikael Rodriguez\ | ||
\pard\pardeftab720\sa400\partightenfactor0 | ||
|
||
\f0\b \cf2 Tidslinje: | ||
\f1\b0 \ | ||
\pard\tx220\tx720\pardeftab720\li720\fi-720\partightenfactor0 | ||
\ls4\ilvl0\cf2 \kerning1\expnd0\expndtw0 \outl0\strokewidth0 {\listtext \uc0\u8226 }\expnd0\expndtw0\kerning0 | ||
\outl0\strokewidth0 \strokec2 Startdatum: 15 januari 2023\ | ||
\pard\tx220\tx720\pardeftab720\li720\fi-720\partightenfactor0 | ||
\ls5\ilvl0\cf2 \kerning1\expnd0\expndtw0 \outl0\strokewidth0 {\listtext \uc0\u8226 }\expnd0\expndtw0\kerning0 | ||
\outl0\strokewidth0 \strokec2 Slutdatum: 30 juni 2023\ | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,47 @@ | ||
{\rtf1\ansi\ansicpg1252\cocoartf2758 | ||
\cocoatextscaling0\cocoaplatform0{\fonttbl\f0\fnil\fcharset0 .SFNS-Regular_wdth_opsz110000_GRAD_wght2580000;\f1\fnil\fcharset0 HelveticaNeue;} | ||
{\colortbl;\red255\green255\blue255;\red42\green49\blue64;} | ||
{\*\expandedcolortbl;;\cssrgb\c21569\c25490\c31765;} | ||
{\*\listtable{\list\listtemplateid1\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{disc\}}{\leveltext\leveltemplateid1\'01\uc0\u8226 ;}{\levelnumbers;}\fi-360\li720\lin720 }{\listname ;}\listid1}} | ||
{\*\listoverridetable{\listoverride\listid1\listoverridecount0\ls1}} | ||
\paperw11900\paperh16840\margl1440\margr1440\vieww11520\viewh8400\viewkind0 | ||
\deftab720 | ||
\pard\pardeftab720\sa400\partightenfactor0 | ||
\ls1\ilvl0 | ||
\f0\b\fs32 \cf2 {\listtext \uc0\u8226 }\expnd0\expndtw0\kerning0 | ||
\outl0\strokewidth0 \strokec2 Projektnamn: | ||
\f1\b0 XYZ Produktlansering\ | ||
\ls1\ilvl0 | ||
\f0\b \kerning1\expnd0\expndtw0 \outl0\strokewidth0 {\listtext \uc0\u8226 }\expnd0\expndtw0\kerning0 | ||
\outl0\strokewidth0 \strokec2 Projektsponsor: | ||
\f1\b0 Sara Andersson\ | ||
\ls1\ilvl0 | ||
\f0\b \kerning1\expnd0\expndtw0 \outl0\strokewidth0 {\listtext \uc0\u8226 }\expnd0\expndtw0\kerning0 | ||
\outl0\strokewidth0 \strokec2 Projektledare: | ||
\f1\b0 Robert Davidsson\ | ||
\ls1\ilvl0 | ||
\f0\b \kerning1\expnd0\expndtw0 \outl0\strokewidth0 {\listtext \uc0\u8226 }\expnd0\expndtw0\kerning0 | ||
\outl0\strokewidth0 \strokec2 M\'e5l: | ||
\f1\b0 \ | ||
\pard\tx220\tx720\pardeftab720\li720\fi-720\partightenfactor0 | ||
\ls1\ilvl0\cf2 \kerning1\expnd0\expndtw0 \outl0\strokewidth0 {\listtext \uc0\u8226 }\expnd0\expndtw0\kerning0 | ||
\outl0\strokewidth0 \strokec2 Framg\'e5ngsrik lansering av XYZ-produkten senast den 15 mars 2023.\ | ||
\ls1\ilvl0\kerning1\expnd0\expndtw0 \outl0\strokewidth0 {\listtext \uc0\u8226 }\expnd0\expndtw0\kerning0 | ||
\outl0\strokewidth0 \strokec2 Uppn\'e5 en \'f6kning av marknadsandelar med 20% under det f\'f6rsta kvartalet efter lansering.\ | ||
\ls1\ilvl0\kerning1\expnd0\expndtw0 \outl0\strokewidth0 {\listtext \uc0\u8226 }\expnd0\expndtw0\kerning0 | ||
\outl0\strokewidth0 \strokec2 S\'e4kerst\'e4lla kundn\'f6jdhet genom effektiv support efter lanseringen.\ | ||
\pard\pardeftab720\sa400\partightenfactor0 | ||
\ls1\ilvl0 | ||
\f0\b \cf2 \kerning1\expnd0\expndtw0 \outl0\strokewidth0 {\listtext \uc0\u8226 }\expnd0\expndtw0\kerning0 | ||
\outl0\strokewidth0 \strokec2 Risker och \'c5tg\'e4rder: | ||
\f1\b0 De fr\'e4msta riskerna innefattar f\'f6rseningar i produktutvecklingen och ov\'e4ntade tekniska problem. \'c5tg\'e4rdsstrategier inkluderar regelbundna projektm\'f6ten och ett dedikerat supportteam efter lanseringen.\ | ||
\ls1\ilvl0 | ||
\f0\b \kerning1\expnd0\expndtw0 \outl0\strokewidth0 {\listtext \uc0\u8226 }\expnd0\expndtw0\kerning0 | ||
\outl0\strokewidth0 \strokec2 Tidslinje: | ||
\f1\b0 \ | ||
\pard\tx220\tx720\pardeftab720\li720\fi-720\partightenfactor0 | ||
\ls1\ilvl0\cf2 \kerning1\expnd0\expndtw0 \outl0\strokewidth0 {\listtext \uc0\u8226 }\expnd0\expndtw0\kerning0 | ||
\outl0\strokewidth0 \strokec2 Projektstart: 1 december 2022\ | ||
\ls1\ilvl0\kerning1\expnd0\expndtw0 \outl0\strokewidth0 {\listtext \uc0\u8226 }\expnd0\expndtw0\kerning0 | ||
\outl0\strokewidth0 \strokec2 Lanseringsdatum: 15 mars 2023\ | ||
} |
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
Niels Houben älskar äppelpaj, äpplen, och äppeljuice. | ||
Niels vill alltid äta äpplen! | ||
|
||
Han gillar även ostkaka |
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,98 +1,3 @@ | ||
""" Main module to start the application """ | ||
import sys | ||
""" Runs servers for model, mail, file-watcher """ | ||
|
||
from model_wrapper import prompt_model | ||
from query_wrapper import preform_query | ||
from test_prompts.test_prompts import test_prompts | ||
|
||
chunks = """--- | ||
Title: Projektplan_-_Helhälsa.docx | ||
Page: 0 | ||
Section: 1 | ||
Content: | ||
Mäts genom juridisk granskning och säkerhetstester.Omfattning:Detaljerad beskrivning av projektets omfattning inkluderar utveckling av mobilapplikationen, integration med wearables och andra appar, backend-utveckling, skapande av dashboards och rapporteringsfunktioner, samt marknadsföring och lansering. Projektet inkluderar inte kontinuerligt underhåll och support eller utveckling av hårdvara.Tidsplan:Här är huvudpunkterna från projektets tidsplan:Projektstart: 1 januari 2024Designfas: 1 januari - 28 februari 2024Utvecklingsfas: 1 mars - 31 augusti 2024Testningsfas: 1 september - 31 oktober 2024Lanseringsfas: 1 november - 31 december 2024Budget:Detaljerad budget inklusive allokering av resurser:Personal: 1 miljon SEKUtrustning och Verktyg: 300,000 SEKLicenser: 200,000 SEKMarknadsföring: 400,000 SEKÖvriga kostnader: 100,000 SEKTotal budget: 2 miljoner SEKKvalitetskrav: | ||
--- | ||
--- | ||
Title: Projektplan_-_Helhälsa.docx | ||
Page: 0 | ||
Section: 0 | ||
Content: | ||
Projektplan för HelHälsa Mobilapplikation:Introduktion:Projektplanen för HelHälsa Mobilapplikation syftar till att ge en detaljerad översikt över hur projektet ska genomföras för att uppfylla de fastställda målen. Dokumentet omfattar projektets mål, omfattning, tidsplan, budget, kvalitetskrav, riskhantering och kommunikationsplan.Mål:Utöver de övergripande målen som beskrivs i projektdirektivet, här är några detaljerade mål och hur de ska mätas:Användarvänlighet:Målet är att 90% av testanvändarna ska kunna navigera applikationen utan hjälp.Mäts genom användartester och feedback.Integration:Målet är att stödja minst 10 olika wearables och hälsorelaterade appar vid lansering.Mäts genom integrationstester.Datasekretess:Målet är att uppnå fullständig överensstämmelse med GDPR och andra relevanta dataskyddslagar.Mäts genom juridisk granskning och säkerhetstester.Omfattning: | ||
--- | ||
--- | ||
Title: Projektplan_-_Helhälsa.docx | ||
Page: 0 | ||
Section: 3 | ||
Content: | ||
Planering: Identifiering, bedömning, och hantering av risker genom regelbunden översyn och förberedande åtgärder.Kommunikationsplan:Teamkommunikation: Veckovisa möten och dagliga stand-ups för att diskutera framsteg och eventuella problem.Stakeholderkommunikation: Månadsvisa uppdateringar och kvartalsvisa genomgångar för att informera intressenter om projektets framsteg.Kris kommunikation: Etablerade protokoll för att kommunicera och hantera eventuella kriser eller stora problem som uppstår under projektet.Denna projektplan ger en omfattande översikt över hur projektet ska genomföras för att säkerställa framgångsrik utveckling och lansering av HelHälsa mobilapplikationen. | ||
--- | ||
--- | ||
Title: Projektplan_-_Helhälsa.docx | ||
Page: 0 | ||
Section: 2 | ||
Content: | ||
Licenser: 200,000 SEKMarknadsföring: 400,000 SEKÖvriga kostnader: 100,000 SEKTotal budget: 2 miljoner SEKKvalitetskrav:Prestanda: Applikationen ska ladda inom 2 sekunder och svarstiden för användarinteraktioner ska vara under 1 sekund.Säkerhet: Applikationen ska uppfylla alla relevanta säkerhetsstandarder inklusive GDPR.Användarvänlighet: Applikationen ska vara intuitiv och enkel att använda, med en hög nivå av användartillfredsställelse.Riskhantering:Tekniska Risker: Såsom buggar, fel i tredjepartsintegrationer och hårdvaruproblem.Säkerhetsrisker: Såsom dataintrång och förlust av användardata.Juridiska Risker: Såsom överensstämmelse med dataskyddslagar och andra relevanta regelverk.Planering: Identifiering, bedömning, och hantering av risker genom regelbunden översyn och förberedande åtgärder.Kommunikationsplan:""" | ||
|
||
def question_loop(): | ||
while True: | ||
usr_prompt = input("Ställ din fråga: ") | ||
if usr_prompt == "e": | ||
break | ||
query_string = usr_prompt | ||
result = preform_query(query_string) | ||
# print("results:") | ||
# print(str(result)) | ||
|
||
prompt_model(str(result), usr_prompt) | ||
|
||
|
||
def main() -> None: | ||
""" For now just a dummy """ | ||
|
||
sys_prompt = test_prompts[0]["sys_prompt"] | ||
usr_prompt = test_prompts[0]["usr_prompt"] | ||
# prompt_model(sys_prompt, usr_prompt) | ||
prompt_model(chunks, "Kan du sammanfatta projektplanen för Helhälsa Mobilapplikation?") | ||
|
||
|
||
# query_string = usr_prompt | ||
# result = preform_query(query_string) | ||
# print("results:") | ||
# print(str(result)) | ||
|
||
# prompt_model(str(result), usr_prompt) | ||
|
||
question_loop() | ||
|
||
return 0 | ||
|
||
|
||
# could create user interface in json file that can be edited... | ||
|
||
if __name__ == '__main__': | ||
sys.exit(main()) | ||
|
||
# system_message = """ | ||
# Du är nu en chatbot för vårdspersonal vars mål är att ta ut relevant data ur databasen och svara på frågor. Se till att ge ett tydligt svar på frågan. Om du hittar svaret i en fil måste du refferera till exakt vart du hittade det (filnamn, datum). | ||
# Fråga: | ||
# Följande är data från databasen: | ||
|
||
# 2021-05-12.txt:{ | ||
# Datum: 2021-05-12 | ||
# Läkarbesök: Kirurgkliniken | ||
# Anteckningar: Niels presenterade med svullnad och rodnad kring höger knä. Inga tecken på infektion vid blodprov. Möjligt överansträngning eller mindre skada på ligament. Rekommenderad vila och is. | ||
# } | ||
# LäkarbesökVästerås.txt:{ | ||
# Datum: 2021-10-03 | ||
# Läkarbesök: Allmänpraktiken | ||
# Anteckningar: Eftersom för uppföljning av knäskada. Bättre rörlighet och mindre smärta. Diskuterade fysioterapi som nästa steg för rehabilitering. | ||
# } | ||
# 17563.txt:{ | ||
# Datum: 2022-02-21 | ||
# Läkarbesök: Kardiologkliniken | ||
# Anteckningar: Niels upplevde lätt andfåddhet vid ansträngning. EKG och ekokardiogram visade inga avvikelser. Råddes att minska på koffeinintaget och öka fysisk aktivitet. | ||
# } | ||
|
||
# Ditt svar är: | ||
# """ | ||
# messages = ["Har Niels någon historik av högt koffeinintag och har han haft några infekt"] | ||
# TODO, FIX THE THING |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
import requests | ||
import json | ||
|
||
url = 'http://127.0.0.1:5000/prompt' | ||
headers = {'Content-Type': 'application/json'} | ||
data = {'prompt': 'Hej, vad är budgeten?'} | ||
json_data = json.dumps(data) | ||
response = requests.post(url, headers=headers, data=json_data) | ||
|
||
print(response.status_code) | ||
print(response.json()) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,29 +1,7 @@ | ||
from model_wrapper_utils.llama2_chat_hf_wrapper import prompt_model | ||
|
||
|
||
# TODO | ||
# create a function here, allowing us to choose model, then returning a prompt_model function | ||
# exmaple usage in main.py: prompt_model = initialize_model('llama2-chat... | ||
|
||
# from llama2_chat_wrapper import Llama2ChatCompletion | ||
|
||
# model = Llama2ChatCompletion( | ||
# model_path='/data/dev/llama/llama-2-13b-chat/', | ||
# tokenizer_path='tokenizer.model', | ||
# max_seq_len=512, | ||
# max_batch_size=4, | ||
# temperature=0.6, | ||
# ) | ||
|
||
# def prompt(system_message: str, user_message: str): | ||
# print('sölkjdf') | ||
# return model.query(system_message, user_messages) | ||
|
||
|
||
# if __name__ =="__main__": | ||
# system_message = 'Du ar en chattbott som ska svara pa svenska.' | ||
# messages = ['Hur lagar man kyckling?'] | ||
|
||
# # model.query(system_message=system_message, user_messages=messages) | ||
# print(prompt(system_message, messages)) | ||
# ... | ||
# exmaple usage in main.py: prompt_model = initialize_model('llama2-chat... | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,65 @@ | ||
|
||
import torch | ||
from transformers import pipeline, AutoTokenizer, AutoModelForCausalLM | ||
from accelerate import init_empty_weights, load_checkpoint_and_dispatch | ||
|
||
from rich.console import Console | ||
from rich.markdown import Markdown | ||
console = Console() | ||
|
||
# Initialize Variables | ||
model_name = "tiiuae/falcon-7b" | ||
hf_auth = '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' | ||
|
||
try: | ||
|
||
# Initialize Tokenizer & Model | ||
tokenizer = AutoTokenizer.from_pretrained(model_name, cache_dir="/data/.cache/huggingface/datasets", | ||
token=hf_auth) | ||
model = AutoModelForCausalLM.from_pretrained(model_name, cache_dir="/data/.cache/huggingface/datasets", device_map="auto", | ||
token=hf_auth) | ||
|
||
# generator = pipeline('text-generation', tokenizer=tokenizer, model=model, max_length=20000, | ||
generator = pipeline('text-generation', tokenizer=tokenizer, model=model, | ||
torch_dtype=torch.bfloat16, | ||
num_return_sequences=1, | ||
device_map="auto", | ||
return_full_text=False, | ||
max_new_tokens=512, | ||
top_p=0.2, | ||
top_k=4, | ||
repetition_penalty=1.1, | ||
temperature=0.01 | ||
) | ||
except: | ||
pass | ||
|
||
def prompt_model(sys_prompt, usr_prompt): | ||
prompt = """ | ||
<s>[INST] <<SYS>> | ||
Jag är en svensk chatbot som svarar på frågor från dokument. | ||
Jag svarar endast på svenska. | ||
Jag svarar formellt, objektivt. | ||
Jag svarar endast om jag har tillgång till informationen annars svarar jag att jag inte har tillgång till informationen. | ||
<</SYS>> | ||
Dokumentet jag har tillgång till: | ||
{} | ||
Frågan som jag svarar på svenska till är: | ||
{} | ||
[/INST] | ||
""".format(sys_prompt, usr_prompt) | ||
generated = generator(prompt, do_sample=True) | ||
print("Hej [Användare], här kommer ditt automatiskt genererade svar:\n") | ||
sequences = [] | ||
for seq in generated: | ||
# print(seq['generated_text']) | ||
sequences.append(seq['generated_text']) | ||
console.print(Markdown(seq['generated_text'])) | ||
print() | ||
print("Med Vänliga Hälsningar,\nEffektiv-Administration,\nAISweden") | ||
return ' '.join(sequences) | ||
|
||
# return prompt |
File renamed without changes.
Oops, something went wrong.