import { ChatOpenAI } from 'langchain/chat_models/openai' import { HumanMessage, ChatMessage, SystemMessage } from 'langchain/schema' import { PromptTemplate } from 'langchain/prompts' import { LLMChain } from 'langchain/chains' import { PDFLoader } from 'langchain/document_loaders/fs/pdf' import { UnstructuredLoader } from 'langchain/document_loaders/fs/unstructured' import { config } from 'dotenv' import { BufferMemory } from 'langchain/memory' import { RedisChatMessageHistory } from 'langchain/stores/message/ioredis' import { ConversationChain } from 'langchain/chains' import { OpenAIEmbeddings } from 'langchain/embeddings/openai' import { TypeORMVectorStore } from 'langchain/vectorstores/typeorm' config() const loader1 = new UnstructuredLoader('/Users/drew/Downloads/客服的副本.pdf', { apiUrl: 'http://192.168.6.19:8000/general/v0/general' }) const docs1 = await loader1.load() console.log(docs1) const embeddings = new OpenAIEmbeddings({ azureOpenAIApiKey: 'beb32e4625a94b65ba8bc0ba1688c4d2', azureOpenAIApiInstanceName: 'zouma', azureOpenAIApiDeploymentName: 'embedding', azureOpenAIApiVersion: '2023-03-15-preview', verbose: true }) const typeormVectorStore = await TypeORMVectorStore.fromDataSource(embeddings, { postgresConnectionOptions: { type: 'postgres', host: process.env.PG_HOST, port: process.env.PG_PORT, username: process.env.PG_USERNAME, password: process.env.PG_PASSWORD, database: process.env.PG_DATABASE }, verbose: true }) await typeormVectorStore.ensureTableInDatabase() await typeormVectorStore.addDocuments(docs1) const results = await typeormVectorStore.similaritySearch('包邮', 2) console.log(results)