temp: 暂存

This commit is contained in:
2024-09-27 17:53:43 +08:00
parent 482c63bab2
commit cfdf2ba00d
14 changed files with 998 additions and 5 deletions

View 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 });

View 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',
},
});

View File

@@ -0,0 +1 @@
export * from './app.ts'

View 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}`, {});

View File

@@ -0,0 +1,4 @@
import { MongoDBSaver } from '@langchain/langgraph-checkpoint-mongodb';
import { client } from './mongo.ts';
export const checkpointer = new MongoDBSaver({ client });

View 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);