-
Notifications
You must be signed in to change notification settings - Fork 0
/
system.edn
102 lines (92 loc) · 4.09 KB
/
system.edn
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
{:system/env
#profile {:dev :dev
:test :test
:prod :prod}
:server/http
{:port #long #or [#env PORT 3000]
:host #or [#env HTTP_HOST "0.0.0.0"]
:handler #ig/ref :handler/ring}
:handler/ring
{:router #ig/ref :router/core
:api-path "/api"
:cookie-secret #or [#env COOKIE_SECRET "ZMIEHXXJLZIUFHAW"]
;; from ring.middleware.defaults. anti-forgery `false` by default because services may not require it
:site-defaults-config {:params {:urlencoded true
:multipart true
:nested true
:keywordize true}
:cookies true
:session {:flash true
:cookie-name "vortext.esther"
:cookie-attrs {:max-age 86400
:http-only true
:same-site :strict}}
:security {:anti-forgery false
:xss-protection {:enable? true,
:mode :block}
:frame-options :sameorigin
:content-type-options :nosniff}
:static {:resources "public"}
:responses {:not-modified-responses true
:absolute-redirects true
:content-types true
:default-charset "utf-8"}}}
:util.handlebars/instance {}
:ai.llm/instance
{:llm/params {:model-path #or [#env GGUF_MODEL_PATH "./models/guff/mistral-7b-openorca.Q5_K_M.gguf"]
:n-ctx 0 ;; 0 => from model
:n-gpu-layers 25
:prompt-template "templates/prompt"
:grammar-file "grammars/chat.gbnf"
;; https://github.com/ggerganov/llama.cpp/pull/3401
:rope-freq-base 0
:rope-freq-scale 0
;; Mirostat
:mirostat 2
:mirostat-tau 5.0
:mirostat-eta 0.1}
:template/renderer #ig/ref :util.handlebars/instance
:template/vars {:system {:prefix "<|im_start|>system"
:suffix "<|im_end|>"}
:user {:prefix "<|im_start|>user"
:suffix "<|im_end|>"}
:model {:prefix "<|im_start|>assistant"
:suffix "<|im_end|>"}}}
:reitit.routes/api
{:base-path "/api"
:env #ig/ref :system/env}
:reitit.routes/ui
#profile {:dev {:base-path "",
:default-path "/user/conversation"
:db {:query-fn #ig/ref :db.sql/query-fn
:connection #ig/ref :db.sql/connection}
:env #ig/ref :system/env
:ai/llm #ig/ref :ai.llm/instance}
:prod {:base-path "",
:default-path "/user/conversation"
:db {:query-fn #ig/ref :db.sql/query-fn
:connection #ig/ref :db.sql/connection}
:env #ig/ref :system/env
:ai/llm #ig/ref :ai.llm/instance}}
:nrepl/server {:port #long #or [#env NREPL_PORT 7001],
:bind #or [#env NREPL_HOST "127.0.0.1"]}
:db.sql/query-fn {:conn #ig/ref :db.sql/connection,
:options {},
:filename "sql/queries.sql"}
:db.sql/migrations {:store :database,
:db {:datasource #ig/ref :db.sql/connection},
:migrate-on-init? true}
:db.sql/connection #profile {:dev {:jdbc-url "jdbc:sqlite:esther_dev.db"},
:test {:jdbc-url "jdbc:sqlite:esther_test.db"},
:prod {:jdbc-url #env JDBC_URL}}
:users/ensure-test-user
{:db {:query-fn #ig/ref :db.sql/query-fn}
:depends-on [:db.sql/migrations]}
:router/routes #profile
{:prod
{:routes #ig/refset :reitit/routes}
:dev
{:routes #ig/refset :reitit/routes
:depends-on [:users/ensure-test-user]}}
:router/core
{:routes #ig/ref :router/routes}}