langChain.mjs 1.3 KB

12345678910111213141516171819202122232425262728293031
  1. import { ChatOpenAI } from 'langchain/chat_models/openai'
  2. import { HumanMessage, ChatMessage, SystemMessage } from 'langchain/schema'
  3. import { PromptTemplate } from 'langchain/prompts'
  4. import { LLMChain } from 'langchain/chains'
  5. import { PDFLoader } from 'langchain/document_loaders/fs/pdf'
  6. import { UnstructuredLoader } from 'langchain/document_loaders/fs/unstructured'
  7. import { config } from 'dotenv'
  8. import { BufferMemory } from 'langchain/memory'
  9. import { RedisChatMessageHistory } from 'langchain/stores/message/ioredis'
  10. import { ConversationChain } from 'langchain/chains'
  11. import { OpenAIEmbeddings } from 'langchain/embeddings/openai'
  12. import { TypeORMVectorStore } from 'langchain/vectorstores/typeorm'
  13. config()
  14. const loader1 = new UnstructuredLoader('/Users/drew/Downloads/客服的副本.pdf', {
  15. apiUrl: 'http://192.168.6.19:8000/general/v0/general'
  16. })
  17. const docs1 = await loader1.load()
  18. console.log(docs1.length)
  19. import { RecursiveCharacterTextSplitter } from 'langchain/text_splitter'
  20. const text = `Hi.\n\nI'm Harrison.\n\nHow? Are? You?\nOkay then f f f f.
  21. This is a weird text to write, but gotta test the splittingggg some how.\n\n
  22. Bye!\n\n-H.`
  23. const splitter = new RecursiveCharacterTextSplitter({
  24. chunkSize: 200,
  25. chunkOverlap: 1
  26. })
  27. const docOutput = await splitter.splitDocuments(docs1)
  28. console.log(docOutput.length)