feat(llm): 调用LLM模型修改
All checks were successful
Egg Server MIflow / build-image (push) Successful in 49s
All checks were successful
Egg Server MIflow / build-image (push) Successful in 49s
This commit is contained in:
parent
c7adc6f76b
commit
8221494651
@ -39,6 +39,7 @@
|
||||
"@egg/logger": "^1.4.3",
|
||||
"@egg/net-tool": "^1.6.5",
|
||||
"@egg/path-tool": "^1.4.1",
|
||||
"@langchain/core": "^0.3.3",
|
||||
"@langchain/openai": "^0.3.2",
|
||||
"joi": "^17.13.3",
|
||||
"langfuse-langchain": "^3.26.0",
|
||||
|
@ -25,7 +25,6 @@ export const manageBotReq = async (ctx: Context.Data): Promise<Response> => {
|
||||
|
||||
// 处理Event消息
|
||||
if (getIsEventMsg(body)) manageEventMsg(ctx)
|
||||
|
||||
// 处理Action消息
|
||||
if (getIsActionMsg(body)) manageActionMsg(ctx)
|
||||
|
||||
|
19
test/llm.ts
19
test/llm.ts
@ -1,13 +1,10 @@
|
||||
import { Langfuse } from "langfuse-langchain"
|
||||
import llm, { LlmPromptType } from "../utils/llm"
|
||||
|
||||
const langfuseParams = {
|
||||
publicKey: "pk-lf-7328c2f1-595a-4023-994b-78762d3dde9e",
|
||||
secretKey: "sk-lf-bdf20cd5-ff2c-45c3-9021-8292dbb1bef3",
|
||||
baseUrl: "https://langfuse.yingbo.im:333",
|
||||
}
|
||||
const res = await llm.invokeLLM4ChatHistory(
|
||||
LlmPromptType.summary,
|
||||
`
|
||||
[{"body":{"content":"{"text":"1"}"},"chat_id":"oc_8c789ce8f4ecc6695bb63ca6ec4c61ea","create_time":"1727172145642","deleted":false,"message_id":"om_efafd5da2a6307056779a81ca7ab7007","msg_type":"text","sender":{"id":"ou_470ac13b8b50fc472d9d8ee71e03de26","id_type":"open_id","sender_type":"user","tenant_key":"2ee61fe50f4f1657"},"update_time":"1727172145642","updated":false},{"body":{"content":"{"title":"🍳欢迎使用小煎蛋 ","elements":[[{"tag":"text","text":"当前的ChatId:oc_8c789ce8f4ecc6695bb63ca6ec4c61ea"}],[{"tag":"text","text":"指令集"},{"tag":"text","text":"n"},{"tag":"text","text":"/id"},{"tag":"text","text":" 查看当前会话chat_idn"},{"tag":"text","text":"/ci"},{"tag":"text","text":" 查看小爱前端组流水线情况n"},{"tag":"text","text":"share 简报"},{"tag":"text","text":" 使用AI总结您的分享并收录到飞书表格中n示例:share 简报 https://lacus.site 嘤博的古早博客欢迎来看hhh"}],[{"tag":"hr"}],[{"tag":"note","elements":[{"tag":"img","image_key":"img_v2_19db22c1-0030-434b-9b54-2a53b99c5f3l"},{"tag":"text","text":"有问题请及时联系zhaoyingbo"}]}]]}"},"chat_id":"oc_8c789ce8f4ecc6695bb63ca6ec4c61ea","create_time":"1727172146339","deleted":false,"message_id":"om_c9d14a9f1280f923143f39c42c504c41","msg_type":"interactive","sender":{"id":"cli_a1eff35b43b89063","id_type":"app_id","sender_type":"app","tenant_key":"2ee61fe50f4f1657"},"update_time":"1727172146339","updated":false},{"body":{"content":"{"text":"1"}"},"chat_id":"oc_8c789ce8f4ecc6695bb63ca6ec4c61ea","create_time":"1727173483485","deleted":false,"message_id":"om_1371a30b8e9a221624a8972154341f2b","msg_type":"text","sender":{"id":"ou_470ac13b8b50fc472d9d8ee71e03de26","id_type":"open_id","sender_type":"user","tenant_key":"2ee61fe50f4f1657"},"update_time":"1727173483485","updated":false},{"body":{"content":"{"text":"/group"}"},"chat_id":"oc_8c789ce8f4ecc6695bb63ca6ec4c61ea","create_time":"1727173655427","deleted":false,"message_id":"om_1f90551b63f5b4b3c50125fbf3b1a972","msg_type":"text","sender":{"id":"ou_470ac13b8b50fc472d9d8ee71e03de26","id_type":"open_id","sender_type":"user","tenant_key":"2ee61fe50f4f1657"},"update_time":"1727173655427","updated":false},{"body":{"content":"{"text":"/group"}"},"chat_id":"oc_8c789ce8f4ecc6695bb63ca6ec4c61ea","create_time":"1727173663085","deleted":false,"message_id":"om_5df8767493047efbc4f4b480befc6a3f","msg_type":"text","sender":{"id":"ou_470ac13b8b50fc472d9d8ee71e03de26","id_type":"open_id","sender_type":"user","tenant_key":"2ee61fe50f4f1657"},"update_time":"1727173663085","updated":false},{"body":{"content":"{"text":"/group"}"},"chat_id":"oc_8c789ce8f4ecc6695bb63ca6ec4c61ea","create_time":"1727173673613","deleted":false,"message_id":"om_8ec0d495ea499ac262c8ce43fc382600","msg_type":"text","sender":{"id":"ou_470ac13b8b50fc472d9d8ee71e03de26","id_type":"open_id","sender_type":"user","tenant_key":"2ee61fe50f4f1657"},"update_time":"1727173673613","updated":false},{"body":{"content":"{"text":"/group"}"},"chat_id":"oc_8c789ce8f4ecc6695bb63ca6ec4c61ea","create_time":"1727173681855","deleted":false,"message_id":"om_5f1363e4e0bc2fa2f055e3e4234010a0","msg_type":"text","sender":{"id":"ou_470ac13b8b50fc472d9d8ee71e03de26","id_type":"open_id","sender_type":"user","tenant_key":"2ee61fe50f4f1657"},"update_time":"1727173681855","updated":false},{"body":{"content":"{"text":"/group"}"},"chat_id":"oc_8c789ce8f4ecc6695bb63ca6ec4c61ea","create_time":"1727173691490","deleted":false,"message_id":"om_c219de6f1c51793be785f5da1623c560","msg_type":"text","sender":{"id":"ou_470ac13b8b50fc472d9d8ee71e03de26","id_type":"open_id","sender_type":"user","tenant_key":"2ee61fe50f4f1657"},"update_time":"1727173691490","updated":false},{"body":{"content":"{"text":"/group"}"},"chat_id":"oc_8c789ce8f4ecc6695bb63ca6ec4c61ea","create_time":"1727173696926","deleted":false,"message_id":"om_191fadbddae7e56ce5d6d659b3ce965b","msg_type":"text","sender":{"id":"ou_470ac13b8b50fc472d9d8ee71e03de26","id_type":"open_id","sender_type":"user","tenant_key":"2ee61fe50f4f1657"},"update_time":"1727173696926","updated":false}]
|
||||
`
|
||||
)
|
||||
|
||||
const langfuse = new Langfuse(langfuseParams)
|
||||
|
||||
const prompt = await langfuse.getPrompt("summary")
|
||||
|
||||
console.log(prompt)
|
||||
console.log(res)
|
||||
|
32
utils/llm.ts
32
utils/llm.ts
@ -1,3 +1,4 @@
|
||||
import { PromptTemplate } from "@langchain/core/prompts"
|
||||
import { ChatOpenAI } from "@langchain/openai"
|
||||
import { CallbackHandler, Langfuse } from "langfuse-langchain"
|
||||
import { z } from "zod"
|
||||
@ -71,19 +72,28 @@ const invokeLLM4ChatHistory = async (
|
||||
promptType: LlmPromptType,
|
||||
chatHistory: string
|
||||
) => {
|
||||
const { langfuseHandler, langfuse } = await getLangfuse()
|
||||
const { langfuse, langfuseHandler } = await getLangfuse()
|
||||
const prompt = await langfuse.getPrompt(promptType)
|
||||
const compiled_prompt = prompt.compile({
|
||||
chatHistory,
|
||||
time: new Date().toLocaleString("zh-CN", { timeZone: "Asia/Shanghai" }),
|
||||
|
||||
const langchainTextPrompt = PromptTemplate.fromTemplate(
|
||||
prompt.getLangchainPrompt()
|
||||
).withConfig({
|
||||
metadata: { langfusePrompt: prompt },
|
||||
})
|
||||
const model = await getDeepseekModel(0.5)
|
||||
const { content } = (await model.invoke(compiled_prompt, {
|
||||
callbacks: [langfuseHandler],
|
||||
})) as {
|
||||
content: string
|
||||
}
|
||||
return content
|
||||
|
||||
const chain = langchainTextPrompt.pipe(await getDeepseekModel(0.5))
|
||||
|
||||
const res = await chain.invoke(
|
||||
{
|
||||
chatHistory,
|
||||
time: new Date().toLocaleString("zh-CN", { timeZone: "Asia/Shanghai" }),
|
||||
},
|
||||
{
|
||||
callbacks: [langfuseHandler],
|
||||
}
|
||||
)
|
||||
|
||||
return res.content
|
||||
}
|
||||
|
||||
const llm = {
|
||||
|
Loading…
x
Reference in New Issue
Block a user