{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "from langchain.chains import RetrievalQA\n", "from langchain.llms import OpenAI\n", "from langchain.indexes import VectorstoreIndexCreator" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "from langchain.document_loaders import TextLoader\n" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "Using embedded DuckDB without persistence: data will be transient\n" ] } ], "source": [ "index = VectorstoreIndexCreator().from_loaders(\n", " [\n", " TextLoader('documents/state_of_union_1.txt', encoding='utf8'),\n", " TextLoader('documents/state_of_union_2.txt', encoding='utf8')\n", " ]\n", " )" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "['Config', '__abstractmethods__', '__annotations__', '__class__', '__class_vars__', '__config__', '__custom_root_type__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__exclude_fields__', '__fields__', '__fields_set__', '__format__', '__ge__', '__get_validators__', '__getattribute__', '__getstate__', '__gt__', '__hash__', '__include_fields__', '__init__', '__init_subclass__', '__iter__', '__json_encoder__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__post_root_validators__', '__pre_root_validators__', '__pretty__', '__private_attributes__', '__reduce__', '__reduce_ex__', '__repr__', '__repr_args__', '__repr_name__', '__repr_str__', '__rich_repr__', '__schema_cache__', '__setattr__', '__setstate__', '__signature__', '__sizeof__', '__slots__', '__str__', '__subclasshook__', '__try_update_forward_refs__', '__validators__', '_abc_impl', '_calculate_keys', '_copy_and_set_values', '_decompose_class', '_enforce_dict_if_root', '_get_value', '_init_private_attributes', '_iter', 'construct', 'copy', 'dict', 'from_orm', 'json', 'parse_file', 'parse_obj', 'parse_raw', 'query', 'query_with_sources', 'schema', 'schema_json', 'update_forward_refs', 'validate', 'vectorstore']\n" ] } ], "source": [ "print(dir(index))" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "{'question': 'In ce conditii se aplica scutirea de impozit?',\n", " 'answer': ' Scutirea de impozit se aplica pentru angajatii care desfasoara activitati al caror obiect de activitate include crearea de programe pentru calculator (cod CAEN 5821, 5829, 6201, 6202, 6209) si se aplica pe intreaga perioada in care angajatul desfasoara efectiv activitatea de creare de programe pentru calculator, stabilit prin act administrativ al conducatorului institutiei publice.\\n',\n", " 'sources': 'documents/state_of_union_1.txt'}" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "query = \"In ce conditii se aplica scutirea de impozit?\"\n", "index.query_with_sources(query)" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "{'question': 'Cum se transfera un domeniu .ro?',\n", " 'answer': ' Pentru a transfera un domeniu .ro, actualul deținător trebuie să obțină o cheie de autorizare de transfer drept de folosință din interfața de administrare domenii de la www.rotld.ro, în meniu se alege, ”Domenii .ro, Administrare Online”. Ulterior accesării contului de administrare, deținătorul alege în meniu ”Chei de autorizare” și ”Transfer Drept de Utilizare”. Viitorul deținător poate iniția procedura de transfer doar cu ajutorul cheii de autorizare de transfer drept de utilizare primită de la actualul deținător. Schimbarea deținătorului se va efectua doar după confirmarea plății de către banc',\n", " 'sources': ''}" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "query = \"Cum se transfera un domeniu .ro?\"\n", "index.query_with_sources(query)" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "' Un domeniu .ro poate fi șters din baza de date whois.rotld.ro dacă cel ce a înregistrat domeniul cere ștergerea sa, când înregistrarea/rezervarea numelui de domeniu nu a fost complet platită, în urma unei hotărâri judecatorești sau a unei decizii venite din partea unor organizații guvernamentale sau administrative cu autoritate, precum și în cazurile menționate la art. 34.'" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "query = \"când se șterge un domeniu .ro și în ce condiții?\"\n", "index.query(query)" ] } ], "metadata": { "kernelspec": { "display_name": "openai", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.10.11" }, "orig_nbformat": 4 }, "nbformat": 4, "nbformat_minor": 2 }