Gebruikershulpmiddelen

Site-hulpmiddelen


tavily

Verschillen

Dit geeft de verschillen weer tussen de geselecteerde revisie en de huidige revisie van de pagina.

Link naar deze vergelijking

Beide kanten vorige revisieVorige revisie
Volgende revisie
Vorige revisie
tavily [2024/10/02 18:33] – [Voorbeelde gebruik Tavily] a3dijketavily [2024/10/13 22:26] (huidige) – [Tavily doorzoekt opgegeven websites] a3dijke
Regel 122: Regel 122:
          
  
-    # WRKERS ========================================================+    # WERKERS ========================================================
     def format_docs(self, docs):     def format_docs(self, docs):
         return "\n\n".join(doc.page_content for doc in docs)</code>         return "\n\n".join(doc.page_content for doc in docs)</code>
Regel 129: Regel 129:
 ---- ----
  
 +===== ✨ Tavily doorzoekt opgegeven websites =====
 +<code>from langchain_community.retrievers import TavilySearchAPIRetriever
 +from langchain_core.output_parsers import StrOutputParser
 +from langchain_core.prompts import ChatPromptTemplate
 +from langchain_core.runnables import RunnablePassthrough
 +from langchain_openai import ChatOpenAI
 +import os
 +import streamlit as st
 +import requests  # nodig voor foutafhandeling
 +
 +
 +class Test_2:
 +    def __init__(self):
 +        os.environ["TAVILY_API_KEY"] = st.secrets["TAVILY_API_KEY"]
 +
 +    # https://python.langchain.com/docs/integrations/retrievers/tavily/
 +    def tavilyLangChainWithChain(self, vraag):
 +        try:
 +            retriever = TavilySearchAPIRetriever(
 +                k=3,
 +                include_domains=[
 +                    "kwaliteitsysteem.nl/kennisbank",
 +                    "catcollectief.nl",
 +                    "catvergoedbaar.nl",
 +                    "kwaliteitstherapeuten.nl",
 +                    "batverzekeringen.nl",
 +                    "gatgeschillen.nl",
 +                    "gatregisteropleidingen.nl/",
 +                ],
 +            )
 +            prompt = ChatPromptTemplate.from_template(
 +                """Beantwoord de vraag alleen op basis van de gegeven context.
 +
 +                Context: {context}
 +
 +                Question: {question}"""
 +            )
 +            llm = ChatOpenAI(model="gpt-4o-mini")
 +
 +            chain = (
 +                {"context": retriever | self.format_docs, "question": RunnablePassthrough()}
 +                | prompt
 +                | llm
 +                | StrOutputParser()
 +            )
 +            antw = chain.invoke(vraag)
 +            return antw
 +
 +
 +        except requests.exceptions.HTTPError as e:
 +            print(f"Er is een HTTPError opgetreden: {e}")
 +            return "Er is een fout opgetreden: Invoer moet minimaal uit twee woorden bestaan!"
 +        
 +
 +    # WERKER ========================================================
 +    def format_docs(self, docs):
 +        return "\n\n".join(doc.page_content for doc in docs)</code>
 +
 +
 +----
  
  
  
  
tavily.1727886806.txt.gz · Laatst gewijzigd: 2024/10/02 18:33 door a3dijke