Wie mache ich einen Chatbot mit Langchain, der Zugriff auf benutzerdefinierte Daten und das Internet hat?Python

Python-Programme
Anonymous
 Wie mache ich einen Chatbot mit Langchain, der Zugriff auf benutzerdefinierte Daten und das Internet hat?

Post by Anonymous »

Sehr seltsam, es findet keine gute Antwort. Wenn ich drucke (Antwort ["Antwort"]), bekomme ich, dass es keinen Text gibt, den ich für die Abfrage geben kann, die ich eingerichtet habe. Auch wenn Informationen aus dem Internet und das Dokument auf der Liste gut strukturiert erscheint. Hier der Code: < /p>
`< /p>

Code: Select all

from googlesearch import search
from langchain.chains import ConversationalRetrievalChain
from langchain.memory import ConversationBufferMemory
from langchain.vectorstores import DocArrayInMemorySearch
from langchain.embeddings.openai import OpenAIEmbeddings
from langchain.document_loaders import (
UnstructuredWordDocumentLoader,
TextLoader,
UnstructuredPowerPointLoader,
)
from langchain.tools import Tool
from langchain.utilities import GoogleSearchAPIWrapper
from langchain.chat_models import ChatOpenAI
from langchain.docstore.document import Document
import os
import openai
import sys
from dotenv import load_dotenv, find_dotenv

sys.path.append('../..')

_ = load_dotenv(find_dotenv())

google_api_key = os.environ.get("GOOGLE_API_KEY")
google_cse_id = os.environ.get("GOOGLE_CSE_ID")

openai.api_key = os.environ['OPENAI_API_KEY']

os.environ["LANGCHAIN_TRACING_V2"] = "true"
os.environ["LANGCHAIN_ENDPOINT"] = "https://api.langchain.plus"
os.environ["LANGCHAIN_API_KEY"] = os.environ['LANGCHAIN_API_KEY']

os.environ["GOOGLE_API_KEY"] = google_api_key
os.environ["GOOGLE_CSE_ID"] = google_cse_id

folder_path_docx = "DB\\DB VARIADO\\DOCS"
folder_path_txt = "DB\\BLOG-POSTS"
folder_path_pptx_1 = "DB\\PPT JUNIO"
folder_path_pptx_2 = "DB\\DB VARIADO\\PPTX"

loaded_content = []

for file in os.listdir(folder_path_docx):
if file.endswith(".docx"):
file_path = os.path.join(folder_path_docx, file)
loader = UnstructuredWordDocumentLoader(file_path)
docx = loader.load()
loaded_content.extend(docx)

for file in os.listdir(folder_path_txt):
if file.endswith(".txt"):
file_path = os.path.join(folder_path_txt, file)
loader = TextLoader(file_path, encoding='utf-8')
text = loader.load()
loaded_content.extend(text)

for file in os.listdir(folder_path_pptx_1):
if file.endswith(".pptx"):
file_path = os.path.join(folder_path_pptx_1, file)
loader = UnstructuredPowerPointLoader(file_path)
slides_1 = loader.load()
loaded_content.extend(slides_1)

for file in os.listdir(folder_path_pptx_2):
if file.endswith(".pptx"):
file_path = os.path.join(folder_path_pptx_2, file)
loader = UnstructuredPowerPointLoader(file_path)
slides_2 = loader.load()
loaded_content.extend(slides_2)

embedding = OpenAIEmbeddings()

embeddings_content = []
for one_loaded_content in loaded_content:
embedding_content = embedding.embed_query(one_loaded_content.page_content)
embeddings_content.append(embedding_content)

db = DocArrayInMemorySearch.from_documents(loaded_content, embedding)
retriever = db.as_retriever(search_type="similarity", search_kwargs={"k": 3})

search = GoogleSearchAPIWrapper()

def custom_search(query):
max_results = 3

internet_results = search.results(query, max_results)
internet_documents = [Document(page_content=result["snippet"], metadata={
"source": result["link"]}) for result in internet_results
]
return internet_documents

chain = ConversationalRetrievalChain.from_llm(
llm=ChatOpenAI(model_name="gpt-4", temperature=0),
chain_type="map_reduce",
retriever=retriever,
return_source_documents=True,
return_generated_question=True,
)

history = []

while True:
query = input("Hola, soy Chatbot.  ¿Qué te gustaría saber? ")

internet_documents = custom_search(query)

small = loaded_content[:3]

combined_results = small + internet_documents
print(combined_results)

response = chain(
{"question": query, "chat_history": history, "documents": combined_results})

print(response["answer"])

history.append(("system", query))
history.append(("assistant", response["answer"]))
`
Die Ausgabe beim Drucken (comgined_results) Es sieht gut aus, sie richtig zu lesen und die richtige Antwort basierend auf den benutzerdefinierten Daten und dem Internet auszuführen. Aber irgendwie funktioniert es nicht: < /p>

Code: Select all

Document(page_content="Cumple diez años como referente mundial en formación digital, según prestigiosos rankings internacionales y nacionales\n\nEl Centro Universitario abrió sus puertas en el año 2011 para cubrir el vacío existente de perfiles con competencias digitales en sectores como el del diseño digital, la ingeniería del software, los videojuegos y la animación en España.\n\nPor sus aulas han pasado ya más de 4.500 estudiantes, muchos de los cuales trabajan hoy en compañías líderes de estos sectores por todo el mundo.\n\nLos alumnos de esta universidad han ganado más de 100 premios, nacionales e internacionales, en todos los ámbitos.\n\nMadrid, 25 de mayo de 2021.- Centro Universitario de Tecnología y Arte Digital, celebra este año su décimo aniversario convertido en la institución educativa referente en formación digital por los importantes reconocimientos procedentes de entidades de prestigio nacionales e internacionales, por la excelente valoración que reciben por parte del tejido industrial, en referencia a los conocimientos impartidos a sus alumnos, así como, por los numerosos premios conseguidos por el alumnado. \n\nDurante esta década, han pasado por las aulas de U-tad, situadas en el municipio madrileño de Las Rozas, más de 4.500 alumnos entre sus titulaciones de grado, postgrado y ciclo formativo de grado superior. En los últimos cinco años los alumnos de esta universidad han ganado más de 100 premios, nacionales e internacionales, en todos los ámbitos. U-tad es el Centro Universitario español con mayor número de PlayStation Awards obtenidos (11), además de cuatro galardones en el célebre South by Southwest (SXSW) de Austin y 3 Gamelab, entre muchos otros. En el ámbito del diseño digital, el trabajo desarrollado por una alumna consistente en una instalación de arte interactivo ha obtenido un Laus, premio que concede la Asociación de Diseñadores Gráficos y Directores de Arte (ADG-FAD), en la categoría ‘Proyecto Final de Estudios’, a la que se presentaron 250 proyectos.\n\nNumerosos alumnos del área de animación han obtenido importantes galardones y nominaciones a título personal en certámenes tan acreditados como los recientes premios Annie (galardones que entrega la\xa0‘International Animated Film Association’\xa0afincada en\xa0Los Ángeles, y que son considerados los Óscar de la animación), y Quirino, así como han participado en producciones premiadas en los Óscar o los Goya.\n\nAsimismo, estudiantes quedaron en el primer puesto en el 'European Cybersecurity Challenge' y también en el ‘Datathon’\xa0organizado por\xa0Microsoft, así como en el\xa0‘Datathon Ciudad de Madrid’.\n\nHoy, alumnos que estudiaron en U-tad están triunfando no solo en España, sino por todo el mundo, formando parte de algunas de las compañías más punteras, no solo en estudios de animación de primerísimo nivel como Walt Disney Studios, Sony Pictures ImageWorks, Skydance Animation, Cartoon Saloon, Double Negative o El Ranchito, sino también en desarrolladoras de videojuegos como Ubisoft, King, Rockstar Games, EA o como ingenieros o diseñadores en compañías como Telefónica, Microsoft, IBM, Amazon, Banco Santander, Inditex, Erretres, Ogilvy, Fjord o SoyOlivia.\n\n“Es un orgullo enorme asistir al éxito profesional de nuestros alumnos, tanto a través de los premios obtenidos, como por su extraordinario desempeño laboral.  Estamos formando a una generación de profesionales que tendrán un peso muy importante en la transformación digital de nuestro país”, afirma Ignacio Pérez Dolset, fundador y CEO de U-tad.\n\nA lo largo de estos años, U-tad ha recibido importantes reconocimientos procedentes de entidades de prestigio nacionales e internacionales: \n\nLa revista americana ‘Animation Magazine’ la incluye en el Top 25 mundial de los mejores centros para estudiar Animación, siendo el único Centro Universitario español y uno de los cuatro europeos que forman parte de esta selección.\n\nLa Global Association for Media Education (GAMEducation) la sitúa como la sexta mejor universidad del mundo para formarse como desarrollador de videojuegos, por el nivel de aprendizaje que ofrece a sus alumnos, los proyectos que estos realizan, la empleabilidad y los premios recibidos por los egresados. \n\nLa Asociación Española de Excelencia Académica (SEDEA) valora a sus alumnos del área de Ingeniería entre los diez mejor formados de toda España. \n\nTitulaciones de alta especialización para una óptima inserción laboral\n\nU-tad surgió de la propia necesidad de la industria de contar con profesionales especializados en competencias digitales capaces de desenvolverse con éxito en sectores como el diseño digital, la ingeniería del software, los videojuegos y la animación, perfiles que por aquel entonces escaseaban en España.\xa0No en vano, fueron los primeros en lanzar un Grado Oficial en ‘Animación’. \n\nEn estos diez años, este Centro Universitario se ha consolidado como un referente en formación digital, innovando no solo con las disciplinas impartidas, sino también a través de su particular metodología de aprendizaje multidisciplinar basada en el desarrollo de proyectos reales, dotando así a los alumnos de los conocimientos necesarios que demanda el tejido industrial de cada sector.\n\nDurante esta década, U-tad ha sabido ir adaptando su oferta formativa a la evolución y necesidades de la industria lanzando grados, dobles grados, postgrados y ciclos formativos de grado superior muy diferenciales que ofrecen a los alumnos de un alto nivel de especialización, así como una incorporación inmediata y con todas las garantías al mercado laboral. Actualmente, este Centro Universitario oferta un total de 19 titulaciones, algunas de las cuales pueden ser cursadas íntegramente en inglés así como, en modalidad presencial y online.\n\nEjemplo de lo anterior son los Dobles Grados en ‘Ingeniería del Software y Matemática Computacional’ y, a partir del próximo mes de septiembre, el de ‘Ingeniería del Software y Física Computacional’, convirtiéndose de este modo en la única universidad en España en impartir esta titulación. También cabe destacar los postgrados en las áreas de las realidades extendidas, del Big Data, de los videojuegos y de la animación, siendo pioneros en su impartición en todos ellos. \n\nEl método U-tad: una enseñanza multidisciplinar y un claustro de profesionales en activo.\n\nFruto de su cercanía con el tejido industrial, a través de sus Comités Industriales, y de su conocimiento del sector, en U-tad se forma a los perfiles digitales con las competencias y conocimientos profesionales más demandados por las empresas a nivel global. De este modo, contribuyen también al desarrollo de la industria digital en España proporcionando profesionales capaces de liderarla.\n\nA través de un modelo educativo que ofrece un aprendizaje práctico basado en el desarrollo de proyectos reales, muy similares a los que el alumno va a tener que realizar en la empresa, y de un claustro formado tanto por profesionales en activo en la industria (80%) como de Académicos Doctores en su especialidad, U-tad ofrece una formación de excelencia totalmente práctica y cercana a sus alumnos. \n\nAsimismo, la vocación investigadora forma parte de su ADN. Como pioneros en formación en Realidad Virtual, U-tad lidera proyectos de investigación con finalidades prácticas donde además participan alumnos de diferentes áreas de conocimiento. Se trata de ‘Virtual Transplant Reality (VTR)’, una iniciativa pionera a nivel mundial en realidad virtual y aumentada para mejorar la calidad de vida de los pacientes pediátricos trasplantados que se está llevando a cabo en el Hospital Universitario La Paz o ‘CicerOn: VR speech coach’, una aplicación que, a través de técnicas inmersivas de realidad virtual, ayuda a las personas con síndrome de Asperger a entrenar su interacción con otras personas. \n\nDesde sus orígenes, el objetivo de U-tad ha sido el de ofrecer una formación multidisciplinar, promoviendo el desarrollo de trabajos con alumnos de diferentes grados, así como un aprendizaje basado en proyectos reales. Estas premisas convierten a este Centro Universitario en un referente de cómo debe ser la formación superior en España.  \n\nSobre U-tad, Centro Universitario de Tecnología y Arte Digital:\n\nU-tad es el primer Centro Universitario especializado 100% en la formación en todas las grandes áreas asociadas a la cadena de valor de la economía digital: Ingeniería del Software, Diseño Digital, Animación, Diseño de Productos Interactivos y Videojuegos, Matemáticas, Física, Realidad Virtual, Aumentada y Mixta, Big Data, Ciberseguridad, etc. Una institución única en España orientada a formar a los líderes de la industria digital del presente y futuro, con profesores procedentes de las mejores empresas del sector. Un Centro de primer nivel internacional, basado en la excelencia, la innovación y la tecnología que fomenta el desarrollo del talento y prepara a sus alumnos para las profesiones del mundo digital. www.u-tad.com ", metadata={'source': 'UTAD DB\\UTAD DB VARIADO\\DOCS\\NdP U-tad_X aniversario_may21.docx'}), Document(page_content='Kompożizzjoni tal-kumitati u tad-delegazzjonijiet ... Poštovana predsjedavajuća, poštovani dame i gospodo, dvanaest godina se zna da će Katar biti domaćin\xa0...', metadata={'source': 'https://eur-lex.europa.eu/legal-content/MT/TXT/HTML/?uri=OJ:C:2023:240:FULL'}), Document(page_content='El diseño digital multimedia es una disciplina que combina diferentes formas de medios digitales, como gráficos, imágenes, vídeos, sonido y texto, para crear\xa0...', metadata={'source': 'https://u-tad.com/que-es-diseno-digital/'}), Document(page_content='5 may 2023 ... asistimos a la presentación de los 3 videojuegos que van a desarrollar los alumnos de los másteres de videojuegos durante el curso\xa0...', metadata={'source': 'https://www.hobbyconsolas.com/patrocinado/tad-son-proyectos-alumnos-masteres-videojuegos-22-23-1240272'})] El texto no proporciona ninguna noticia específica.

Kann mir jemand helfen, es zum Laufen zu bringen? Schätzen!

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post