@@ -144,41 +144,45 @@ def langfuse_client
144144 @langfuse_client = Langfuse . new
145145 end
146146
147- def log_langfuse_generation ( name :, model :, input :, output :, usage : nil , session_id : nil , user_identifier : nil , prompt : nil )
148- return unless langfuse_client
149-
150- trace = langfuse_client . trace (
151- name : "openai.#{ name } " ,
152- input : input ,
153- session_id : session_id ,
154- user_id : user_identifier
155- )
156- generation_options = {
157- name : name ,
158- model : model ,
159- input : input ,
160- output : output ,
161- usage : usage ,
162- session_id : session_id ,
163- user_id : user_identifier
164- }
165-
166- if prompt . present?
167- generation_options [ :version ] = prompt [ :version ] if prompt [ :version ]
168- metadata = {
169- prompt : {
170- name : prompt [ :name ] ,
171- version : prompt [ :version ] ,
172- content : prompt [ :content ] ,
173- template : prompt [ :template ]
174- } . compact
147+ def log_langfuse_generation ( name :, model :, input :, output :, usage : nil , session_id : nil , user_identifier : nil , prompt : nil )
148+ return unless langfuse_client
149+
150+ trace = langfuse_client . trace (
151+ name : "openai.#{ name } " ,
152+ input : input ,
153+ session_id : session_id ,
154+ user_id : user_identifier
155+ )
156+ generation_options = {
157+ name : name ,
158+ model : model ,
159+ input : input ,
160+ output : output ,
161+ usage : usage ,
162+ session_id : session_id ,
163+ user_id : user_identifier
175164 }
176- generation_options [ :metadata ] = metadata
177- end
178165
179- trace . generation ( **generation_options )
180- trace . update ( output : output )
181- rescue => e
182- Rails . logger . warn ( "Langfuse logging failed: #{ e . message } " )
183- end
166+ if prompt . present?
167+ generation_options [ :prompt_name ] = prompt [ :name ] if prompt [ :name ]
168+ generation_options [ :prompt_version ] = prompt [ :version ] if prompt [ :version ]
169+ generation_options [ :prompt_id ] = prompt [ :id ] if prompt [ :id ]
170+
171+ metadata = {
172+ prompt : {
173+ id : prompt [ :id ] ,
174+ name : prompt [ :name ] ,
175+ version : prompt [ :version ] ,
176+ content : prompt [ :content ] ,
177+ template : prompt [ :template ]
178+ } . compact
179+ }
180+ generation_options [ :metadata ] = metadata
181+ end
182+
183+ trace . generation ( **generation_options )
184+ trace . update ( output : output )
185+ rescue => e
186+ Rails . logger . warn ( "Langfuse logging failed: #{ e . message } " )
187+ end
184188end
0 commit comments