Общий обзор того, как загрузить словарные определения в LangChain?

Подойдет либо Python, либо JS LangChain, но я пытаюсь понять, как я мог бы создать преподавателя искусственного интеллекта для изучения фэнтезийных языков. Этот вопрос посвящен только первой части — загрузке словарных определений в долговременную память.

У меня есть список из примерно 4000 слов, где в одном столбце электронной таблицы есть слово из языка фэнтези, а в другом столбце — английское определение этого слова из 1 или 2 слов. Как я могу «научить» ИИ узнавать значение каждого слова и экстраполировать имеющиеся у меня короткие определения в общий смысл этого слова?

На каких ключевых моментах мне нужно сосредоточиться для загрузки таких структурированных данных (в формате CSV или JSON, для меня это не имеет значения, словарных определений) в чат-бот типа вопросов и ответов? Для простоты я бы хотел просто спросить у ИИ: «Каково определение X на фэнтезийном языке под названием Foo», и он даст мне определение, каждый раз немного отличающееся (написание собственного естественного английского языка), но при этом все равно давая общий смысл в той или иной степени. X будет фантастическим словом, и ИИ должен ответить определением на английском языке.

Вот некоторые ресурсы, которые я прочитал, чтобы освоить создание чат-ботов с искусственным интеллектом, но мне все еще не хватает понимания того, как загружать структурированные данные в систему чат-ботов. Скажем, я использую Pinecone для долговременной памяти, OpenAI для LLM и тому подобного, а LangChain в качестве основного API.

Лучшее, что я видел с точки зрения подобных примеров, в основном это:

      import { PineconeClient } from "@pinecone-database/pinecone";
import { DirectoryLoader } from "langchain/document_loaders/fs/directory";
import { TextLoader } from "langchain/document_loaders/fs/text";
import { PDFLoader } from "langchain/document_loaders/fs/pdf";
import * as dotenv from "dotenv";
import { createPineconeIndex } from "./1-createPineconeIndex.js";
import { updatePinecone } from "./2-updatePinecone.js";
import { queryPineconeVectorStoreAndQueryLLM } from "./3-queryPineconeAndQueryGPT.js";
// 6. Load environment variables
dotenv.config();
// 7. Set up DirectoryLoader to load documents from the ./documents directory
const loader = new DirectoryLoader("./documents", {
    ".txt": (path) => new TextLoader(path),
    ".pdf": (path) => new PDFLoader(path),
});
const docs = await loader.load();
// 8. Set up variables for the filename, question, and index settings
const question = "Who is mr Gatsby?";
const indexName = "your-pinecone-index-name";
const vectorDimension = 1536;
// 9. Initialize Pinecone client with API key and environment
const client = new PineconeClient();
await client.init({
  apiKey: process.env.PINECONE_API_KEY,
  environment: process.env.PINECONE_ENVIRONMENT,
});
// 10. Run the main async function
(async () => {
// 11. Check if Pinecone index exists and create if necessary
  await createPineconeIndex(client, indexName, vectorDimension);
// 12. Update Pinecone vector store with document embeddings
  await updatePinecone(client, indexName, docs);
// 13. Query Pinecone vector store and GPT model for an answer
  await queryPineconeVectorStoreAndQueryLLM(client, indexName, question);
})();

Нужно ли мне что-то делать с загрузчиком файлов LangChain JSON (если бы определения моего словаря были в формате JSON)? Или мне просто нужно как-то отправить кучу сообщений моему ИИ, используя системные подсказки, где каждое сообщение определяет термин из словаря? Я не совсем понимаю, как мне следует загружать систему имеющимися у меня структурированными данными, как различные ее части вступают в игру.

Надеюсь на общий обзор того, что необходимо реализовать, чтобы чат-бот вопросов и ответов мог отвечать определениями терминов, которые я даю ему при появлении запроса. Никакого пользовательского интерфейса не требуется, сначала я могу просто сделать это из Node.js в консоли.

0 ответов

Другие вопросы по тегам