Future-House/paper-qa

Is PaperQA requires LLM 'stream' set up as 'True' ?

Opened this issue · 2 comments

Hello,

I currently use paperQA with Llama3.1:70b served by Ollama.

I can see in debug logs 'stream' parameter is set up as 'False' even if i pass it as 'True' :

local_llm_config = dict(
                        model_list=[
                                    dict(
                                        model_name=f"ollama/llama3.1:70b",
                                        litellm_params=dict(
                                                            model=f"ollama/llama3.1:70b",
                                                            api_type= "ollama",
                                                            api_base="http://192.168.1.15:11434",
                                                            stream=True,
                                                            ),
                                        ),

                                    ]
                        )

Is PaperQA requires this parameter as True ?

Best regards.

I try to speed up answers ; i read caching is a solution for this purpose.

I set up litellm as follows :

local_llm_config = dict(
                        model_list=[
                                    dict(
                                        model_name=f"ollama/llama3.1:70b",
                                        litellm_params=dict(
                                                            model=f"ollama/llama3.1:70b",
                                                            api_type= "ollama",
                                                            api_base="http://192.168.1.15:11434",
                                                            stream=True,
                                                            caching=True,
                                                            cache= True,
                                                            num_ctx=50000, #Default 2048
                                                            num_predict=-2, # Maximum number of tokens to predict when generating text. (Default: 128, -1 = infinite generation, -2 = fill context)
                                                            ),
                                        ),

                                    ]
                        )

But it seems 'stream' and 'caching' stay turned off (see lite llm debug message below):

Request to litellm:
litellm.acompletion(api_base='http://192.168.1.15:11434', model='ollama/llama3.1:70b', api_type='ollama', stream=False, caching=False, cache=True, num_ctx=50000, num_predict=-2, messages=[{'role': 'system', 'content': "Répondez en Français avec un style direct et concis. Votre public est expert, alors soyez très précis. S'il existe des termes ou des acronymes ambigus, définissez-les d'abord."}, {'role': 'user', 'content': 'Répondez à la question ci-dessous,en français, avec le contexte.\n\nContexte (with relevance scores):\n\nChassenard (03) - La Générie.pdf pages 89-90: Le site de Chassenard \'La Générie\' est le premier établissement rural de l\'époque carolingienne découvert dans le département de l\'Allier, en Auvergne. Les études archéobotaniques sur des établissements de la fin du haut Moyen Age basées sur un nombre d\'échantillons statistiquement exploitable sont relativement rares en France. Seuls deux sites de la période carolingienne avec des données archéobotaniques publiées permettent de faire des comparaisons : Villiers-le-Sec et Baillet-en-France , ils sont tous deux situés dans le Bassin parisien.\nFrom File Chassenard (03) - La Générie.pdf\n\nLentilly (69) Les Fourches.pdf pages 289-290: Des exemples de bâtiments de l\'époque carolingienne destinés au stockage ou identifiés comme étant potentiellement des entrepôts sont mentionnés dans le texte, tels que ceux trouvés sur les sites de Montout - OL Land à Décines, Grand-Rouge à Quincieux, Camp-de-Chânes à Béligneux, Grandes-Croix à Beynost, Recourbe à Château-Gaillard et Saint-André-les-Combes à Pont-d\'Ain. Cependant, il est important de noter que le texte ne fournit pas de détails spécifiques sur ces bâtiments, mais mentionne qu\'ils sont des exemples d\'exploitation des terroirs hérités des traditions gauloises.\nFrom File Lentilly (69) Les Fourches.pdf\n\nLezoux (63) - Rue Pasteur.pdf pages 161-162: Le texte ne fournit pas d\'exemples spécifiques de bâtiments de l\'époque carolingienne destinés au stockage ou identifiés comme étant potentiellement des entrepôts, dont la datation est fiable. Cependant, il mentionne que les bâtiments excavés postérieurs à l\'an mil, trouvés en Auvergne, sont différents de ceux de l\'époque carolingienne et posent encore des problèmes d\'interprétation. Les exemples donnés dans le texte se réfèrent principalement à des sites fouillés en Auvergne, tels que Lezoux, Aigueperse-Les Cérais, Clermont-Ferrand-Croix de Neyrat et Trévol.\nFrom File Lezoux (63) - Rue Pasteur.pdf\n\nLezoux (63) - Rue Pasteur.pdf pages 252-252: Le texte ne fournit pas directement des exemples de bâtiments de l\'époque carolingienne destinés au stockage ou identifiés comme étant potentiellement des entrepôts, avec une datation fiable. Cependant, il mentionne plusieurs sites et fouilles archéologiques en Auvergne, notamment à Lezoux (63) et Trévol, qui ont révélé des bâtiments excavés ou des caves qui pourraient avoir servi à des fins de stockage. Les dates mentionnées sont principalement comprises entre le XIe et le XIIIe siècle.\nFrom File Lezoux (63) - Rue Pasteur.pdf\n\nLezoux (63) – Rue de la Fontaine Crogeat.pdf pages 313-315: Le document ne fournit pas d\'exemples spécifiques de bâtiments de l\'époque carolingienne destinés au stockage ou identifiés comme étant potentiellement des entrepôts, mais il mentionne que les sites carolingiens peuvent contenir des bâtiments avec une origine médiévale et que certains objets métalliques, tels que les clous de menuiserie ou d\'ameublement, sont utilisés principalement dans la confection du cercueil. De plus, le document mentionne que les agrafes à double crochet peuvent contribuer à étayer les datations des faits funéraires.\nFrom File Lezoux (63) – Rue de la Fontaine Crogeat.pdf\n\nValid Keys: Chassenard (03) - La Générie.pdf pages 89-90, Lentilly (69) Les Fourches.pdf pages 289-290, Lezoux (63) - Rue Pasteur.pdf pages 161-162, Lezoux (63) - Rue Pasteur.pdf pages 252-252, Lezoux (63) – Rue de la Fontaine Crogeat.pdf pages 313-315\n\n----\n\nQuestion: Quels sont exemples connus de bâtiments de l\'époque carolingienne destinés au stockage ou identifiés comme étant potentiellement des entrepôts, dont la datation est fiable. Privilégier les exemples reconnus en contexte rural. Prendre uniquement en compte les sites bien datées. Répondez en Français.\n\nEcrire une réponse basée sur le contexte. Si le contexte ne fournit pas suffisamment d\'informations répondre : "Je ne peux pas répondre."Pour chaque partie de votre réponse, indiquez par quelles sources elle est justifiée via des citations clé à la fin des phrases, comme (Example2012Example pages 3-4). Ne citez que le contexte ci-dessous et utilisez uniquement les clés valides. Ecrivez dans le style d\'un article scientifique, avec des phrases concises et des paragraphes cohérents. Le contexte provient de diverses sources et n\'est qu\'un résumé, il peut donc y avoir des inexactitudes ou des ambiguïtés. Si des guillemets sont présents et pertinents, utilisez les dans la réponse.\n\nRéponse (Environs 500 mots, mais peut être plus longue si nécessaire.):'}], client=None, timeout=60.0, metadata={'model_group': 'ollama/llama3.1:70b', 'model_group_size': 1, 'deployment': 'ollama/llama3.1:70b', 'model_info': {'id': '97e849ea0a97874e2790b72821d5b1f7507e0692bc2eec212334a4570401df0e', 'db_model': False}, 'api_base': 'http://192.168.1.15:11434', 'caching_groups': None}, model_info={'id': '97e849ea0a97874e2790b72821d5b1f7507e0692bc2eec212334a4570401df0e', 'db_model': False}, max_retries=0)

Did I missed something ? @dosu.

The 'stream' parameter in PaperQA is intended to enable streaming responses from Llama models, allowing responses to be sent in chunks as they are generated. This should be set to True if you want to enable this feature [1][2]. If the debug logs show 'stream' as False despite being set to True in your configuration, it might be due to an issue in how the configuration is being passed or interpreted by the system.

Similarly, for the 'caching' parameter, ensure that it is correctly configured and supported by the version of the Ollama API you are using. If both 'stream' and 'caching' are not being set as expected, check for any configuration validation or logging that might indicate why these settings are not being applied. Additionally, verify that there are no overriding settings elsewhere in your setup that might be affecting these parameters.

To continue talking to Dosu, mention @dosu.