temp: 暂存
This commit is contained in:
31
packages/ai-lang/src/agent/index.ts
Normal file
31
packages/ai-lang/src/agent/index.ts
Normal file
@@ -0,0 +1,31 @@
|
||||
import { createReactAgent } from '@langchain/langgraph/prebuilt';
|
||||
import { MemorySaver } from '@langchain/langgraph';
|
||||
import { ChatOllama } from '@langchain/ollama';
|
||||
import { ChatOpenAI } from '@langchain/openai';
|
||||
import { checkpointer } from '../module/save.ts';
|
||||
import { HumanMessage } from '@langchain/core/messages';
|
||||
export { HumanMessage };
|
||||
// const agentModel = new ChatOllama({ temperature: 0, model: 'llama3.1:8b', baseUrl: 'http://mz.zxj.im:11434' });
|
||||
export const agentModelBakllava = new ChatOllama({ temperature: 0, model: 'bakllava:latest', baseUrl: 'http://mz.zxj.im:11434' });
|
||||
export const agentModel = new ChatOllama({ temperature: 0, model: 'qwen2.5:14b', baseUrl: 'http://mz.zxj.im:11434' });
|
||||
export const agentModelOpenAI = new ChatOpenAI(
|
||||
{ temperature: 0, model: 'gpt-4o', apiKey: 'sk-GJE6I8OJWDr2ErFBD4C4706a65Ad4cD9B596Cf7c76943e45' },
|
||||
{
|
||||
baseURL: 'https://oneapi.on-ai.ai/v1',
|
||||
},
|
||||
);
|
||||
|
||||
const agentCheckpointer = checkpointer;
|
||||
|
||||
export const agent = createReactAgent({
|
||||
llm: agentModel,
|
||||
tools: [],
|
||||
checkpointSaver: agentCheckpointer,
|
||||
});
|
||||
export const agentLlava = createReactAgent({
|
||||
llm: agentModelBakllava,
|
||||
tools: [],
|
||||
checkpointSaver: agentCheckpointer,
|
||||
});
|
||||
|
||||
export const agentOpenAI = createReactAgent({ llm: agentModelOpenAI, tools: [], checkpointSaver: agentCheckpointer });
|
||||
12
packages/ai-lang/src/app.ts
Normal file
12
packages/ai-lang/src/app.ts
Normal file
@@ -0,0 +1,12 @@
|
||||
import { App } from '@abearxiong/router';
|
||||
import { useConfig } from '@abearxiong/use-config';
|
||||
|
||||
const config = useConfig();
|
||||
console.log('config in ai-lang', config);
|
||||
|
||||
export const app = new App({
|
||||
serverOptions: {
|
||||
path: '/api/lang',
|
||||
},
|
||||
});
|
||||
|
||||
1
packages/ai-lang/src/index.ts
Normal file
1
packages/ai-lang/src/index.ts
Normal file
@@ -0,0 +1 @@
|
||||
export * from './app.ts'
|
||||
4
packages/ai-lang/src/module/mongo.ts
Normal file
4
packages/ai-lang/src/module/mongo.ts
Normal file
@@ -0,0 +1,4 @@
|
||||
import { MongoClient } from 'mongodb';
|
||||
import { useConfig } from '@abearxiong/use-config';
|
||||
const { mongo } = useConfig<{ host: string; password: string; username: string }>();
|
||||
export const client = new MongoClient(`mongodb://${mongo.username}:${mongo.password}@${mongo.host}`, {});
|
||||
4
packages/ai-lang/src/module/save.ts
Normal file
4
packages/ai-lang/src/module/save.ts
Normal file
@@ -0,0 +1,4 @@
|
||||
import { MongoDBSaver } from '@langchain/langgraph-checkpoint-mongodb';
|
||||
import { client } from './mongo.ts';
|
||||
|
||||
export const checkpointer = new MongoDBSaver({ client });
|
||||
10
packages/ai-lang/src/routes/agent.ts
Normal file
10
packages/ai-lang/src/routes/agent.ts
Normal file
@@ -0,0 +1,10 @@
|
||||
import { app } from '../app.ts';
|
||||
import { agent, HumanMessage } from '../agent/index.ts';
|
||||
app
|
||||
.route('ai', 'chat')
|
||||
.define(async (ctx) => {
|
||||
const { message } = ctx.query;
|
||||
const response = await agent.invoke({ messages: [new HumanMessage(message)] }, { configurable: { thread_id: '44' } });
|
||||
ctx.body = response;
|
||||
})
|
||||
.addTo(app);
|
||||
Reference in New Issue
Block a user